목록Programming/Unity (19)
DNF LOVE
곧 우리회사 다음 공채를 뽑는다는 소식을 접했다. 취직한지 어연 10개월... 할줄아는 거라곤 코딩밖에 없던 비루먹기 짝이 없는 나를 감사하게도 회사가 뽑아준지가 벌써 10개월이다... 프로그래머라면 공부를 해야 하는데 놀고먹는걸 세상에서 제일 좋아하는 나는 공부는 커녕 먹고 놀고 자고 술주정 부리고 뒹굴뒤굴하다가 6kg나 쪄버리고 그나마 할 줄 알던 코딩마저도 다 까먹게 생겼다. (그게 직업인데요ㅠ) 이래선 안되겠다 싶어 하루에 30분씩 투자하여(술 먹는 날 제외, 야근하는 날 제외) 게임을 만들기로 했다. 그냥 하면 재미가 덜 할테니 덕질용 게임을 하나 만들어볼까 한다. 이름하야 "달려라! OPPA!" (10년째 덕질하던 그룹이 이제야 빛을 보고 있어서.. 머쓱) 흔한 2D Running 게임인데 게..
이번에 진행할 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가 사라지는 것을 설정하기 위해서 존재한다...