안녕하세요 투니드입니다!
1장에서는 캐릭터의 모션과 간단한 카메라 세팅에 대해서 다뤘었고, 2장에서는 오브젝트와 상호작용 및
아이템을 픽업하는 스크립트를 만들어보겠습니다.
가장 먼저 해볼 것은
타일맵을 통해 간단하게 캐릭터 주변의 환경을 조성해 보겠습니다!
Sprite 중에 Overworld를 선택해 주시고
Inspector 창에서 Sprite Mode와 Pixels Per Unit을 조정해 줍니다!
그리고 나서 Sprite Editor를 클릭한뒤
Grid By Cell Size -> Pixel Size X : 16, Y : 16 으로 설정해 주고 Apply를 통해 설정을 저장합니다.
그다음 Hierarchy창에 우클릭으로 타일맵 -> Rectangular을 선택해 줍니다.
그다음에 이 타일맵을 작업하기 위한 Tile Palette를 생성해줘야 합니다.
타일 팔레트는 Window - 2D - Tile Palette 이렇게 선택하시면 됩니다!
Tile Palette는 이따가 작업을 수월하게 하기 위해 Scene창과 같이 볼 수 있는 곳에 옮겨주시면 되구요!
(저는 콘솔창옆으로 위치시켰습니다.)
Tile Palette -> No vaild Palette -> Create New Palette를 통해 팔레트를 생성해 주시면 됩니다.
(저는 저장경로를 Assets 바로 밑에 Palette 폴더를 생성시켜 그 안으로 설정했습니다.)
팔레트를 생성한 뒤에 Overworld를 팔레트 안쪽으로 드래그하면
이렇게 생성이 가능합니다! (Assets -> Palette -> OverworldPalette 로 폴더링 해줬습니다!)
Tile Palette가 정상적으로 만들어졌으니 간단하게 조금만 사용해 보도록 할게요!
최상단 왼쪽에 있는 잔디를 Scene에 대충(?) 잔뜩(?) 깔아주겠습니다. 중간에 있는 도구(?)들 박스에서
붓처럼 생긴 것을 누르고 잔디를 선택한 뒤에 Scene에 클릭 또는 드래그해 주시면 자연스럽게 색칠하듯
위 화면처럼 만드실 수 있습니다.
원하지 않는 곳에 타일이 들어갔거나 수정을 원하면 그 위를 그냥 덮어주거나 도구들 박스에 지우개를 클릭해서
수정할 곳을 클릭하면 없어집니다!
(이번 2장에서는 오브젝트를 컨트롤하는 걸 주로 할 것이기 때문에 간단하게 잔디만 우선 깔아 두겠습니다!)
다음으로는 상호작용을 테스트할 오브젝트를 가져와 보겠습니다.
Sprites폴더에서 objects를 클릭하고
Pixels Per Unit : 16 -> Apply -> Sprite Editor 클릭해주시고
대충 테스트용(?) 나무하나를 가져올거기 때문에 드래그로 영역 지정을 하나 해주고 Apply 해줍니다!
그러면 이렇게 objects 밑에 자른게 하나 있는데요! 그걸 Scene쪽에 가져와줍니다!
저기 테두리에 나무를 가져온게 보이시나요??
이 문제는 Sorting Layer의 문제입니다. 정상적으로 화면에 존재는 하지만 유니티 에디터에서 표시가 될 때의
순서문제라고 생각해주시면 편할 것 같아요!
Sorting Layer에 대해서는 유니티 기초 배워보기 카테고리에 따로 나중에 올려보도록 할게요!
이 문제를 해결하기 위해서는 Renderer가 들어가있는 오브젝트들에 Sorting Layer들을 설정해줘야하는데
Tilemap을 먼저 설정해주도록 합시다!
Hierarchy 창에 Grid -> Tilemap을 클릭하고 인스펙터에서 Tilemap Renderer - Additional Settings - Sorting Layer로
접근하시면 됩니다!
저는 미리 Background 라는 레이어를 만들어 뒀고, Add Sorting Layer를 누르시면
Sorting Layers 에 + 와 - 버튼으로 레이어들을 관리할 수 있습니다!
여기에 Background 레이어를 하나 추가해주시고 Default 레이어를 Background 레이어 보다 높게 설정을 해줍니다.
레이어의 번호가 낮을수록 배경쪽에 속한다고 보시면 됩니다! 가장 아래(?)에 그려진다고 보시면 되고,
반대로 숫자가 높아질수록 가장 위(?)에 레이어가 속하게 되는거죠
Default 레이어는 항상 최상위 레이어로 유지하시는게 편할 수 있습니다!
Renderer가 들어가있는 즉 화면에 표시될 무언가를 추가할때 기본적으로 Default 레이어로 구분이 되는데
넣자마자 위에 나무처럼 안보이면 불편할 수 있습니다!
그렇기때문에 저는 Default 레이어는 항상 최상위로 두고 사용하고 있어요!
다시 오브젝트로 돌아와서
Tilemap의 Sorting Layer를 Background로, 그리고 Default 레이어를 최상위로 맞추셨다면 위처럼 확인하실 수 있고
이렇게 아까 넣었던 나무 오브젝트가 정상적으로 화면에 잘 잡히는 걸 확인하실 수 있습니다!
다음장에 계속 할께용