[Unity]15.점핑 올빼미 2D 게임제작 #1 - 움직이는 하늘과 참새 만들기

안녕하세요 유랑입니다.



어느덧 2d 게임도 익숙해질 법하지만 아직 실력이 부족하네요.

오늘부터 점핑 올빼미라는 게임을 만들어 보겠습니다.




1. 점핑 올빼미



이 게임은 올빼미가 점프해서 위로 올라가는 게임입니다.

점프는 나뭇가지 위에 캐릭터가 부딪치면 자동적으로 진행되고, 밟지 못하면 추락하다가 게임 오버가 됩니다.

플레이어는 좌우로만 이동할 수 있습니다.

2D/3D 유니티 2018 책을 토대로 만들어 보았습니다.

시작 할께요^^







2. 오브젝트 만들기



2-1) 프로젝트 생성 및 설정



프로젝트를 생성할 때는 꼭 2D로 체크한 후 생성해주세요.

3D로 하시게 되면 따로 카메라의 값들을 변경해 주어야 합니다.






씬뷰에 2D로 체크되어 있는걸 확인 가능하며, 선택하시면 3D로 변경됩니다.





리소스 파일입니다.

당연히 공부용으로만 사용해 주세요!!!

파일을 받으셨으면 해당 스프라이트 Texture Type을 Sprite로 변경해 주세요.

JumpingOwl.zip





참새, 선물, 올빼미는 여러 개의 스파라이트가 한장에 만들어져 있습니다.

Multiple 기능을 통해서 나누는 작업을 진행할게요.





Slice 버튼을 클릭하시면 Type 설정이 나오는데요.

Grid By Cell Count를 이용하여 가로 세로 를 해당 간격으로 나눌수 있어요.

Slice를 누른 후 Apply까지 클릭해야지 적용이 됩니다.







2d 프로젝트를 만들어 주면 Main Camera의 컴포넌트 값들이 다음과 같이 바뀌어 있어요.

만약 다르다면 참고해서 고쳐주세요.





마지막으로 게임 뷰는 16:9로 바꾸어 주세요.






2-2) 배경 만들기



3d Object => Quad를 추가해서 이름과 트랜스폼 값을 다음과 같이 바꿔주세요.

그리고 sky 스프라이트를 드래그앤 드랍을 이용해 Sky오브젝트에 적용해 주세요.






텍스쳐가 오브젝트에 적용되면 자동적으로 머티리얼이 만들어 집니다.

sky 머티리얼의 쉐이더 속성을 unlit/Texture로 변경해 주세요.





가만히 있는 배경은 재미없죠?

다음 스크립트를 sky 오브젝트에 추가해 주어서 배경을 움직여 볼게요.

해당 코드는 머티리얼의 x축 값을 0.05f의 속도로 변경해 줍니다.

머티리얼에는 sky 스프라이트가 담겨 있기에 결국 하늘이 움직이는 것처럼 보이게 됩니다.





게임을 실행시켜보면 바뀌는걸 확인 가능합니다.






2-3) 참새 만들기



참새의 스프라이트를 드래그앤 드랍하여 하이라키뷰에 옮겨주세요.

그러면 자동적으로 오브젝트가 만들어 집니다.






Bird의 태그값은 Bird로 설정해 주세요.





주인공 올빼미와 충돌처리를 하기위해서 콜라이더와 리지드바디를 추가해주세요.

속성 값들은 다음과 같이 적용해 주세요.

Rigidbody2D => Kinematic을 통해서 중력적용은 안하겠습니다.





6개의 참새 스프라이트를 선택한 후 Bird 오브젝트에 드래그앤 드랍하면 자동적으로 애니메이션과 함께 

애니메이터 속성이 추가됩니다.





이름은 BirdAnim으로 설정해 주세요.





버드 오브젝트를 선택한 후 단축키 Ctrl + 6을 누르면 애니메이션 창이 나오게 됩니다.

아까 만들었던 BirdAnim이 보이는데 60프레임에서 15프레임으로 변경시켜서 속도를 1/4배로 만들어 주세요.





Bird 스크립트는 참새가 화면의 왼쪽이나 오른쪽에서 나오고,

화면에서 벗어나면 오브젝트가 제거되는 내용을 담고 있어요.









참새는 카메라의 좌표를 기준으로 벗어나게 되면 삭제가 됩니다.

참새를 여러 개 만들어서 확인해 보세요^^





해당 Bird 오브젝트를 프리팹으로 만들어 준다음 삭제해 주세요.






2-4) 선물 만들기



선물도 마찬가지로 스프라이트를 세 개로 나누고,

하이라키 뷰에 추가해 준다음 polygon Collider2D를 추가해 주세요.

해당 콜라이더는 오브젝트의 폴리곤에 맞게 생성되며, 필요없는 부분은  Edit Collider를 이용하여 삭제 가능합니다.

그리고 Is Trigger를 체크해 줄게요.








마찬가지로 선물도 화면에서 벗어나면 제거되는 코드와 Resouces 폴더에 있는 스프라이트를 기준으로

3개의 선물이 골고루 생성이 됩니다.







선물을 만들어 준다음 카메라를 이동하여 오브젝트가 사라지는지 확인해 주세요.

확인하셨으면 리소스 폴더에 gift 스프라이트와 해당 오브젝트를 프리팹으로 만들어 저장해 주세요.








2-5) 나뭇가지 만들기



branch 스프라이트를 이용하여 오브젝트를 생성한 후 

Tag값을 Branch로 설정해 주세요.

Polygon Collider2D 컴포넌트 속성도 추가한 후 Is Trigger를 체크해 줍니다.






브런치는 주인공 올 빼미에게는 스프링같은 지지대 역할이에요.

똑같은 모양과 위치로 나온다면 재미없겠죠?

해당 스크립트는 나뭇가지 크기와 방향을 랜덤으로 설정해 주고,

화면에서 벗어나면 삭제까지 해주는 내용이에요.

using Random = UnityEngine.Random을 사용한 이유는 두 개의 메소드가 이름이 같기에 

오류가 뜹니다. 이렇게 해줘야 쓸 수 있어요.







나뭇가지가 제대로 동작하는지 확인하셨으면 프리팹으로 만들어 주세요.






3. 마무리



오늘 강의는 여기까지입니다.

점프 올빼미 게임에 필요한 다양한 오브젝트 환경을 추가해 보았습니다.

다음 시간에는 주인공인 올빼미를 만들어 보겠습니다

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---2D









댓글

Designed by JB FACTORY