목록unity (18)
DNF LOVE
이번에 진행할 Unity Project는 2.5D로 되어있는 비행기 슈팅 게임이다. 프로젝트를 진행하기 전에, Unity의 대표적인 최적화 방법인 Object Pooling을 소개하도록 하겠다. [Object의 데이터가 적재되는 메모리, Heap] 이전 포스터 중, 메모리 구조에 대한 글을 쓴 적이 있다. Click 보통 Unity에서 Object들을 생성하고 관리하는 것은 동적 할당의 영역인 Heap 에 데이터가 적재된다. 메모리는 한계를 가지고 있는 자원이기 때문에, Heap에 데이터가 쌓이게 되면 그 프로그램의 성능이 떨어지게 된다. 이번 슈팅 게임으로 예를 들면, 보통 유저들이 슈팅게임을 할 때 방향키로 비행기의 좌우를 조절하며 공격키는 연속발사를 하게 된다. 보통으로 구현하는 Object를 생성..

우리의 게임 최종적 모습은 이렇게 된다. 순서대로 구현해보도록 하자! 1. Player와 Coin이 부딪치면 Coin이 사라지도록 하자.(gameobject Destroy) 우리가 자주 하는 쿠x런을 떠올려 보도록 하자. 쿠키가 젤리를 먹으면 어떻게 되는가? 젤리는 플레이어가 움직임과 동시에 사라지고 점수가 올라가지 않는가? 그렇다면 플레이어와 코인이 부딪치면 코인이 사라지는 것을 구현해야 한다. 그럴때 사용하는 것이 Object.Destroy함수이다! Destroy함수는 gameobject, 시간을 매개변수로 갖고 있는 함수이다. 첫번째 매개변수는 사라질 Object를 나타내고, 두 번째 매개변수 시간 t는 Destroy함수가 호출되고 몇 초 뒤에 Object가 사라지는 것을 설정하기 위해서 존재한다...

Unity에선 여러 충돌 처리를 지원해준다. 그 중 가장 대표적인 두 가지는 Trigger와 Collision이다. 이 둘의 차이와 함께 충돌 처리를 해보도록 하자. 1. 충돌처리 조건 충돌이 일어나기 위해서는 충돌이 일어나는 두 오브젝트 모두 Collider를 가지고 있어야 한다. 그리고 동적으로 움직이는 상대에게는 Rigidbody가 붙여져 있어야 한다. 우리는 이전 포스팅에서 Coin Object만 셋팅했지 Collider를 붙이진 않았었다. 이렇게 드래그 해서 컴포넌트를 붙이면 드래그 한 4개 모두 동시에 Box Collider 2D가 붙여진다. Collider를 붙이면 Scene에서 Object 주변에 초록색으로 Collider가 붙여져 있는것을 확인 할 수 있다. 초록색으로 되어 있는 부분은 ..