본문 바로가기
개발자가 되어보자..공부공부/개발 일지

C# 유니티 공부 9 - 2D 탑다운 RPG 예제 (Rule Tile, 플레이어 이동, RayCast 등)

by 묭묭이와소담이 2022. 12. 9.
반응형

 

* Rule Tile

 

- 타일 생성에 규칙을 주어 쉽게 타일을 만들 수 있음.

- Rule Tile 생성 -> Tile Palette에 옮기기 -> 그리기

- 타일맵을 여러개 생성하여, Rule에 어긋나서 오류가 생기는 부분을 해결.

- 타일맵 표시 순서는 Order in Layer에 숫자를 적어서 해결. (높은 숫자가 위로 표시됨.)

- 타일맵에 Animation 적용 가능.

(Rule Tile에서 OutPut을 Animation으로 적용.)

 

* 외부 경계

- 외부 경계용 Tilemap 생성. Spirte는 뭐든 상관 없음.

Focsu-Tilemap으로 선택하면 현재 선택한 타일맵만을 보여줌.(그리기 편함.)

 

- 타일맵에 rigidbody, Tilemap Collider, Composite Collider 3가지를 추가.

RigidBody는 Kinemetic으로 설정.

Tilemap Coliider는 used by composite 체크.

 

- Tilemap Renderer에 Mask Interaction에서 Visable Insdie Mask로 설정하면 타일맵을 안보이게 할 수 있음.

 

 

* 플레이어 이동

- 대각선으로 움직이지 않게 하기.

- 수직키와 수평키를 동시에 눌렀을 때, 버벅거리는 현상 제거.

- 대화창이 생성되었을 때, 움직이지 못하게 하기.

- 플레이어 이동 애니메이션 설정할 때, 파라미터와 변수값 설정 유의. 

(연속되는 transition에서는 parameter 값이 자동으로 변하지 않아서 애니메이션이 루프되지 않음.)

- Main Camera는 플레이어에게 넣어주었음.

 

* Object 조사 (RayCastHit 활용)

- Ray의 방향을 잡아주는 것은 Update에서 코딩.

- RayCastHit 함수는 FixedUpdate에서 코딩.

* UI 대화창 및 GameManger 설정.

- 이미지 타입을 Sliced로 하면 그림의 손상 없이 사이즈를 늘릴 수 있음.

(Sprite editor에서 손상 없는 부분을 설정 가능함.)

- GameManager에서 UI 부분 코딩 진행. 

- GameManager에서 TalkPanel에 대한 Image와 TalkText는 꼭 직접 옮겨서 넣어주어야 함.

(public으로 선언하였기 때문에 유니티상에서 표시가 됨.)

 

 

 

 

Q. 왼쪽을 보다가 아래로 이동할 때, 애니메이션이 적용되지 않을 때가 있음??

 

 

반응형

댓글