기본 커포넌트의 이해
좌표 이해하기
- TransformComponent을 이해하기 위해서는 좌표 개념에 대해 알아야 한다.
- Scene에 배치한 엔티티는 좌표를 기반으로 '위치, 크기, 회전'을 조정할 수 있다.
- X,Y는 2차원 평면에서 위치와 크기를 결정한다.
- Z는 2D 화면으로 볼 때, 위치 상의 앞뒤를 의미한다. 회전이 Z축을 기준으로 움직인다.
Transfrom Component
- position : 상대 좌표
| position의 x,y 값을 변경하여 위치를 바꿈 ! - scale : 엔티티의 크기
| scale의 x,y 값을 변경하여 위치를 바꿈 !
| default == 1. 4를 입력하면 기존 1에 대비 4배 커짐 - WorldPosition : 절대 좌표
- ZRotation : 상대 회전값
| 반시계 방향으로 회전 - WorldZRotation : 절대 회전값
Transform Component 함수 활용
- Translate 함수
엔티티를 이동시킬 때 사용. 엔티티가 배치된 위치를 원점으로 삼아 입력한 값만큼 이동.
void OnBeginPlay()
{
self.Entity.TransformComponent:Translate(4,5) -- 배치된 엔티티 위치를 기준으로 X 좌표를 4, Y 좌표를 5만큼 이동합니다.
log("move on") -- 이동이 되면 콘솔 창에 Move On을 출력합니다.
}
- Rotate 함수
엔티티를 반시계 방향으로 회전 시킬 때 사용. 엔티티가 배치된 위치에서 입력한 값만큼 회전.
void OnBeginPlay()
{
self.Entity.TransformComponent:Rotate(6) -- 배치된 엔티티 위치를 기준으로 6만큼 반시계 방향으로 회전합니다.
log("Move On") -- 실행이 완료되면 콘솔 창에 Move On을 출력합니다.
}
SpriteRederer Component
2D 이미지를 Sprite라고 한다. 스프라이트마다
고유한 RUID 값을 가지고 있어, 이를 이용해 간편하게 스프라이트를 넣거나 변경할 수 있다.
- 리소스 검색창에서 원하는 리소스 검색
- RUID 복사 후, Workspace - NativeModel - MapObject 선택
- SpriteRedererComponent의 SpriteRUID에 복사한 값 입력
용어 check!
- SpriteRUID : 오브젝트의 고유 번호
- FlipX / FlipY : X축과 Y축을 기준으로 뒤집음
- Color : 오브젝트에 색깔을 입힐 수 있음
- DrawMode
| Simple : 기본 형태
| Tile : 동일한 형태를 계속 이어나가는 오브젝트 - TiledSize : 배치할 타일의 개수
- PlayRate : 속도 조절
- StartFrameIndex : 시작 이미지 인덱스
- EndFrameIndex : 종료 이미지 인덱스
지형과 레이어의 이해
FootholdComponent와 CustomFootholdComponent를 통해 발판을 만들 수 있다.
Foothold Component
- Model List에서 원하는 발판을 선택
- 마우스를 이용해 Scene에 발판을 배치
Custom Foothold Component
타일이 아니더라도 Custom Foothold Component를 이용해 foothold를 추가할 수 있다.
- 스프라이트를 Scene에 배치
- 엔티티의 프로퍼티 창에서 CustomFootholdComponent 추가
- edgeLists를 입력하고 Scene에서 발판 모양을 조정
check !
- FootholdDrag : 해당 foothold의 마찰력
- FootholdForce : 해당 foothold를 밟고 있는 힘
- FootholdWalks : 해당 foothold를 밟고 있을 때 이동 속도
Map Layer
맵 레이어를 사용해서 더욱 입체적인 게임을 구현 가능하다.
레이어 우선순위 적용 규칙
메이커에서 엔티티 순서는 아래 순서에 따라 결정됩니다.
- Map Layer (SpriteRendererComponent의 SortingLayer)
- SpriteRenderer Component의 OrderInLayer 프로퍼티
- Transform Component의 Position Z값
모델의 레이어 순서
모델은 배치 편의를 위해 유형 별로 OrderInLayer의 기본값이 정해져 있다.
OrderInLayer 값을 통해 배치 순서를 바꿀 수 있다.