공부 93

[Unity] 커비 6일차 parallel scrolling -> 2D로 원근감 주기, 마리오 커비 탄생

1. mario enemy 생성 도트로 찍힌 마리오 애셋을 구해서 마리오 적을 만든다 1 - 1 마리오 애니메이션 구성 -> 자르고 기존의 enemy control script에 필요한 변수들도 만들어서 연결하고 등등 기본적인 애니메이션 만듦 1 - 2 마리오의 공격 마리오도 공격이 가능한데, 불꽃 발사하는 것으로 만들고 싶었다. 마리오 안에 자식 오브젝트로 불꽃을 만들고 애니메이션으로 추가해서 연결해줬다 (불꽃은 monster Weapon layer에 넣어서 trigger 처리로 공격당한다) 그 결과 마리오에게 맞은 커비가 탄생한다. 2. kirby mario 생성 (및 그리기) 2 - 1 커비 마리오 애니메이션 인터넷에서 얻은 커비 그림 많아보이지만 변신 완료 했을때 자유의 여신상 포즈, 점프 모션,..

공부/Unity 2023.04.18

[Unity] 커비 5일차 스테이지 선택 씬, 별 뱉기, 몬스터의 공격, 플랫폼 처리 (착지할 때만 닿는 바닥)

1. 공격중인 몬스터도 흡입 가능 몬스터가 공격중이라면 흡입이 불가했는데, beingInhaled 코드를 뜯어 수정했다. 2. cutter enemy 공격 생성 자식개체로 weapon을 만들어 애니메이션에 맞춰 돌아가게 만들었다. 이게 더 간단,, 이런식으로 collider 넣어준 공격 weapon을 날리게 했다 + animation 커터의 공격에 얻어맞은 커비 3. 플랫폼 -> 날거나 점프하면 부딪히지 않지만, 착지하면 부딪히는,,, 딱봐도 rigid.velocity.y 가 양수냐 음수냐 나누면 될 거 같아서 식쓰니깐 뭔가 이상했다. youtube 참고해서 수정했다 https://youtu.be/zKg70oiDFiw 아래 키 누르면 떨어지게 하고싶었는데, 커비 control script와 platfor..

공부/Unity 2023.04.17

[Unity] 커비 개발 4일차 raycast로 벽 확인, 맵 워프, 경사면 미끄러짐, 적의 자동 점프

animation tag: copy, split, attack 1. raycast로 몬스터의 바로 앞에 벽이 있으면 방향을 바꾸게 설정 노란색만큼 raycast를 달고, ground와 부딪히면 방향 바꾸게 코드를 바꿔줬다. 좌우 raycast가 다르게 나온다. 2. 커비가 어떤 이유로든 대미지를 받으면 별을 뱉게했다 + 아무 능력 없어도 별 만드는 오류 잡기 완료! 3. 커비가 변신중일때는 능력을 벗지 못하게 조건을 추가해줬다. 4. 공중에 있을때 능력 변신 불가능 공중에서 변신하는 커비,,,, 에휴 변신 조건문에 점프중이 아닐때를 추가해서 오류 해결 5. 스테이지를 이동하는 문 스크립트 5 - 1 문 이미지를 아직 못구해서 그냥 네모 검정으로 만들고, script를 작성해준다. public class ..

공부/Unity 2023.04.14

[Unity] 커비 3일차, Layer Collision Matrix 안될 때 해결, 싱글톤으로 HP 선언 후 슬라이더 연동

1. 커비가 능력을 가지고 있을 때 능력벗고 별이 통통 튀어다니게 + 별을 먹으면 그 능력으로 다시 변신 1-1. 능력 벗는 파티클 애니메이션 찍기 완료! 1-2 능력 벗을때 파티클 생성 코드 + 걷는 도중 / 나는 도중 / 가만히 있는 도중 벗었을때 애니메이션 연결 점점 복잡해진다,,, 완료!! 1-3 능력 벗으면 나오는 별 애니메이션으로 돌아가게! 빙글빙글 완료! 1-4 별이 통통튀게 (벽돌 깨기같이) material 제작 후 rigidbody material에 넣어주기 완료! + 스크립트 작성 (오타난 bounceStar script) public class bouncStar : MonoBehaviour { [SerializeField] float speed = 90f; public Rigidbod..

공부/Unity 2023.04.13

[Unity] 커비 개발 1,,, 일차?

영상이 안올라가는 관계로 캡쳐만 넣기 1. 커비의 움직임 + 애니메이션 -> 좌우 걷기, 점프, 날기, 뱉기, 삼키기 등등 2. 커비의 탐색 범위 내에 적이 있을 때 삼키면 적이 빨려들어옴 + 변신 가능 (적의 change 값을 받아 change로 능력 판단 및 변신) 3. enemy의 기본 이동 구현, random한 값으로 3초동안 움직이고, 다시 random을 돌려 3초동안 행동한다. (왼, 오, 가만히 있기) 4. 커비의 탐색범위 overlapbox 를 enemy에게도 적은 반경으로 적용시켜 적의 반경내에 커비가 들어온다면 debug로 공격을 찍게만 해뒀다. -> 추후 개발해라 5. 카메라는 커비를 따라다니며, 배경은 처리가 귀찮아서 그냥 카메라에 상속시켜버렸다. 영원히 같은 배경 유감,, 6. 커..

공부/Unity 2023.04.12

[Unity] C#으로 A* 알고리즘 구현하기 (대각선 여부, 코너 여부)

A star 알고리즘 가중치를 이용한 길찾기 알고리즘 g(n) = 출발 꼭짓점으로부터 꼭짓점까지의 경로 가중치 h(n) = 꼭짓점 n으로부터 목표 꼭짓점까지의 추정 경로 가중치 f = g + h 타일맵으로 대충 맵과 벽을 그려줍니다. 길찾기의 시작 지점과, 도착지점을 지정하는 create empty와 밑바닥의 위치와 제일 높은곳의 위치를 찍어줍시다. 길찾기 스크립트를 GameManager에 작성해 줄 겁니다.!! 코드 리뷰 [System.Serializable] public class Node { public bool isWall; public Node ParentNode; public int x, y; //G: 시작으로부터 이동했던 거리 public int G; //H: 추정값, 즉 가로 + 세로 장애..

공부/Unity 2023.04.10

[Unity] 갤러그 만들기 - 2 (코루틴, 오브젝트 풀링, 코루틴 캐싱, 슬라이더)

적을 등장하게 만들어봅시다 Create Empty로 EnemySpawner를 만들어 준 뒤, component추가로 enemySpanwer 스크립트를 만들어줍니다. 코루틴을 이용해 적을 일정 시간마다 만드려합니다. private IEnumerator SpawnEnemy_co() { WaitForSeconds wfs = new WaitForSeconds(spawnTime); while (true) { float positionX = Random.Range(stageData.LimitMin.x, stageData.LimitMax.x); Vector2 position = new Vector2(positionX, stageData.LimitMax.y + 1f); Instantiate(enemyPrefabs, p..

공부/Unity 2023.04.06

[Unity] 갤러그 만들기 - 1 (Coroutine, ScriptableObject, Instantiate, Destroy)

오늘은 갤러그 만들기! 구현 내용: 배경화면 무한 스크롤, 플레이어 키 입력으로 이동, Coroutine을 이용한 총알 생성, 플레이어 맵 내에서만 이동 2D로 시작하고, 10:16 사이즈로 해상도 설정을 해줍니다. background 두 개를 unirun에서 했던 방식처럼 이어 붙여서 나중에 Loop 스크립트를 짜서 붙여주면 될거고요 Player를 저렇게 넣어주기 위해서 3개가 붙어있는 Player를 multiple로 바꿔서 Sprite Editor에서 잘라줍시다 컷컷 곱게 자르기 움직이는 모든 친구들을 위해 스크립트를 짜줍시다. Movement2D로 작성 public class Movement2D : MonoBehaviour { public float moveSpeed = 5f; [SerializeF..

공부/Unity 2023.04.05

[Unity] 유니런 중요 스크립트 및 기능 정리

Rigidbody 2D & Box Collider 2D & Circle Collider 2D 플레이어와 땅의 충돌을 처리하는 방법 -> collider2D & Rigidbody2D 사용하기! 물체에게 중력을 작용하게 만들기 위해 Rigidbody 2D를 넣어준다. 실행시켜보면 플레이어가 계속 떨어져서 화면에 안잡히게 된다. Rigidbody 2D에서 Collision Detection을 Continuous로 해줘야 충돌 감지를 끊기지 않고 계속 할 수 있다. 이전의 설정은 Discrete (이산)이었다. * Rigidbody: 중력과 동일한 효과 또한 Constraints에서 혹시 모를 Z축으로의 회전을 방지하기 위해 Freeze Rotation을 걸어준다. boxcollider를 추가할 시, 생긴 모양..

공부/Unity 2023.04.04
728x90