Entity 구간 이동시키기
Tween Line Component
- 원점을 기준으로 목적지까지 선형 운동을 하게 만들 때 사용
- 목적지까지 편도, 왕복 운동 여부와 더불어 가/감속, 도달 시 튕김 등 운동 방식을 설정 가능
( 각 컴포넌트에 속한 프로퍼티는 프로퍼티 클릭 시 조정하는 기능에 대한 설명이 표시된다 ! )
Tween Floating Component
- 엔티티를 제자리에서 떠다니는 듯한 움직을 만들 때 사용
- 엔티티의 원점을 기준으로 상할로 움직이며, 진폭과 사이클을 조정하여 이동 거리와 속도를 조절
( 각 컴포넌트에 속한 프로퍼티는 프로퍼티 클릭 시 조정하는 기능에 대한 설명이 표시된다 ! )
Tween Circular Component
- 원점을 기준으로 원형 운동을 하게 만들 때 사용
- 회전 수, 속도, 반경을 설정 가능
( 각 컴포넌트에 속한 프로퍼티는 프로퍼티 클릭 시 조정하는 기능에 대한 설명이 표시된다 ! )
Entity의 충돌
충돌은 충돌체를 포함하고 있는 엔티티의 충돌 영역이 서로 교차했을 때를 의미
충돌체 크기, 위치 편집
세부적인 충돌체의 크기, 위치, 형태 등은 충돌체를 지닌 컴포넌트의 프로퍼티를 통해 설정할 수 있다.
아래는 TriggerComponent나 HitComponent와 같이 충돌체를 지닌 컴포넌트에서 공통으로 제공되는 프로퍼티이다.
- Collider : 프로퍼티 에디터의 Edit 버튼을 누를 경우 엔티티에 충돌체가 나타남, 드래그 or 핸들러 조절을 통해 충돌체 크기 설정 가능
- BoxOffset & ColliderOffset : 충돌체의 위치 설정
- BoxSize : ColliderType이 Box일 경우 충돌체의 크기 설정
- CircleRadius : ColliderType이 Circle일 경우 충돌체의 크기를 설정
- ColliderType : 충돌체의 형태 선택, Box의 경우 충돌체를 사각형으로, Circle의 경우 원형으로 변경
- IsLegacy : TransformComponent에 영향을 받을지 여부를 설정
TriggerComponent를 활용한 충돌 이벤트 발생 시 액션 수행
스크립트 작성을 통해 이벤트를 받아 충돌 시 핸들 처리를 해줌으로써 충돌을 처리할 수 있다.
- Entity Event System을 이용한 충돌 시 액션 추가
충돌 이벤트의 구조는 아래와 같다.
- 충돌 이벤트 발생
- 액션을 수행할 핸들러를 Entity에 등록
- TriggerComponent를 통해 이벤트 발생 시 핸들러로 등록한 함수의 호출
액션을 수행할 핸들러는 리액터가 되는 스크립트 컴포넌트의 Entity Event Handler를 통해 추가해준다.
검색창에 Trigger 입력을 통해 아래 이벤트 핸들러를 선택할 수 있다.
- TriggerEnterEvent : 엔티티 간 처음 충돌이 발생했을 때 1회 발생
- TriggerStayEvent : 엔티티가 충돌 중이면, 프레임마다 발생
- TriggerLeaveEvent : 엔티티가 충돌되었다가 충돌이 끝났을 때 1회 발생
충돌 이벤트 샌더 설정
- 리액터 컴포넌트가 추가된 엔티티의 충돌 이벤트를 받는다면 self
- 다른 외부 엔티티의 충돌 이벤트를 받는다면 Entity를 선택한 후, 해당 엔티티를 선택
핸들러 구성
- 핸들러는 이벤트 발생 시 호출되며, 파라미터로는 충돌 이벤트가 들어오게 된다
- 파라미터로 들어온 이벤트에는 해당 이벤트를 발생한 엔티티와 충돌한 상대 엔티티의 정보가 들어있다