카테고리 없음

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 2주차 회고

프로틴형님 2022. 7. 17. 11:30

기본 커포넌트의 이해


좌표 이해하기

  • 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 값을 가지고 있어, 이를 이용해 간편하게 스프라이트를 넣거나 변경할 수 있다.

  1. 리소스 검색창에서 원하는 리소스 검색
  2. RUID 복사 후, Workspace - NativeModel - MapObject 선택
  3. SpriteRedererComponent의 SpriteRUID에 복사한 값 입력

용어 check!

  • SpriteRUID : 오브젝트의 고유 번호
  • FlipX / FlipY : X축과 Y축을 기준으로 뒤집음
  • Color : 오브젝트에 색깔을 입힐 수 있음
  • DrawMode
    | Simple : 기본 형태
    | Tile : 동일한 형태를 계속 이어나가는 오브젝트
  • TiledSize : 배치할 타일의 개수
  • PlayRate : 속도 조절
  • StartFrameIndex : 시작 이미지 인덱스
  • EndFrameIndex : 종료 이미지 인덱스

지형과 레이어의 이해

FootholdComponent와 CustomFootholdComponent를 통해 발판을 만들 수 있다.

Foothold Component

  1. Model List에서 원하는 발판을 선택
  2. 마우스를 이용해 Scene에 발판을 배치

Custom Foothold Component

타일이 아니더라도 Custom Foothold Component를 이용해 foothold를 추가할 수 있다.

  1. 스프라이트를 Scene에 배치
  2. 엔티티의 프로퍼티 창에서 CustomFootholdComponent 추가
  3. edgeLists를 입력하고 Scene에서 발판 모양을 조정

check !

  • FootholdDrag : 해당 foothold의 마찰력
  • FootholdForce : 해당 foothold를 밟고 있는 힘
  • FootholdWalks : 해당 foothold를 밟고 있을 때 이동 속도

Map Layer


맵 레이어를 사용해서 더욱 입체적인 게임을 구현 가능하다.

레이어 우선순위 적용 규칙

메이커에서 엔티티 순서는 아래 순서에 따라 결정됩니다.

  1. Map Layer (SpriteRendererComponent의 SortingLayer)
  2. SpriteRenderer Component의 OrderInLayer 프로퍼티
  3. Transform Component의 Position Z값

모델의 레이어 순서

모델은 배치 편의를 위해 유형 별로 OrderInLayer의 기본값이 정해져 있다.
OrderInLayer 값을 통해 배치 순서를 바꿀 수 있다.