Nexon Supporter Hackathon 05

이태곤·2022년 9월 27일
0
post-thumbnail

Index

  1. TweenComponent
  • TweenLineCopmonent

  • TweenCircularComponent

  • TweenFloatingComponent

  1. RigidbodyComponent

  2. MovementComponent

  3. TriggerComponent

  4. PlayerComponent

  5. PlayerControllerComponent


Tween Component

  • Entity에 움직임을 부여함으로써 설정되어진 특정구간에서 운동을 반복하는 속성을 부여할 수 있다.
  1. TweenLineComponent
  • 선형에서의 시작점과 끝점을 설정해서 운동속성을 부여할 수 있다.

  • Positions / Size : 운동 진행방향의 목적지 갯수로 Size갯수를 통해 설정할 수 있으며 X,Y 좌표 설정을 통해 특정위치를 지정할 수 있다.
  • StopType

-> Oneway : Entity가 설정한 목적지로 편도로 운동한 후에 종료된다.

-> OneRoundTrip : Entity가 설정한 목적지(반환점)로 운동-> 초기 위치로 향한다. (1회왕복)

-> RepeatRoundTrip : Entity가 설정한 목적지(반환점)로 운동 -> 초기 위치로 향한다. (무한하게 반복)

  • TweenType : 다양한 형태의 운동방식을 설정할 수 있다. (Default : Linear)

ex) 주니어발록이 오른쪽으로 3만큼 이동 -> 초기위치로 향한다. 이때, StopType이 RepeatRoundTrip이므로 계속해서 왕복운동



  • SyncType

-> Default : 동기화가 되어있어 모든 Clients들에게 동일한 환경으로 보여진다.

-> ClientOnly : 동기화가 되어있지 않은 상태로, Client 마다 다른 환경으로 보여진다.

cf) 다양한 플레이어가 게임에 참여할 경우 모두 같은환경, 화면속에서 플레이해야할 경우가 많으므로 동기화가 중요하다. ex) 인내의 숲 장애물

  1. TweenCircularComponent
  • 원에서의 원점을 중심으로한 운동속성을 부여할 수 있다.
  • Degree : 입력한 각도만큼의 회전반경 가지고 운동한다.

cf) 0입력시에 무한하게 원운동

  • LookAtCenter : 해당 Entity가 중심점을 바라보며 운동을 하는지의 여부를 결정한다.

  • Radius : 얼마나 중심으로부터 떨어져서 원을그리며 운동을 하는지 결정한다. (원의 크기의미)

  • Speed : 원운동의 속력

  • AutoDestroy : 운동이 종료될경우 해당하는 Component가 자동으로 삭제된다.

  • AutoStart : 게임을 플레이하자마자 운동이 시작될지의 여부를 결정한다.

  1. TweenFloatingComponent
  • 떠다니는듯한 위아래로의 부유운동 속성을 부여할 수 있다.

  • Amplitude : Entity가 위, 아래로이동하는 진폭(거리)을 설정할 수 있으며 값이 커질수록 이동거리가 길어진다.

  • OneCycleTime : 설정된 Amplitude를 왕복하는 시간을 의미하며 값이 커질수록 속력이 느려지게 된다.


RigidbodyComponent

  • 강체의 물리적인 속성인 Gravity, Mass, QuaterView Mode(On/Off) 등을 설정할 수 있다.
  • Gravity : Entity의 중력값을 의미하며 중앙값을 기준으로 중력의 영향을 받게된다.

-> RigidbodyComponent가 있는 Entity(monster, npc..) : gravity값에따라 지면에 가라앉게된다.

-> RigidbodyComponent가 없는 Entity(object, item..) : 공중에 떠있게된다. (RigidbodyComponent추가 가능)

ex) RigidbodyComponent를 가진 Entity인 주니어발록과 npc는 설정된 (gravity :1)에따라 게임 실행시에 지면에 가라앉게되고 RigidbodyComponent가 없는 나무(object)와 주문서(item)은 공중에 떠있게된다.

  • IsBlockVerticalLine : 체크할 경우 세로 foothold에대해서 지나갈 수 없도록 설정이된다.


cf) 왼쪽과같이 foothold가 지형가 연결되어있을 경우 캐릭터는 벽에 막혀 지나갈 수 없지만, 오른쪽 그림과같이 지형과 foothold가 연속적이지않고 분리되어 있다면 캐릭터가 통과가능한 속성을 가지고있다.

  • IsQuaterViewMode : 지형에 구애받지 않고 맵내에서 자유롭게 이동할 수 있는 mode로 설정이 가능하다.

MovementComponent

  • 움직이는 Entity에대한 속도와 점프정도를 설정할 수 있는 Component

  • InputSpeed : Entity의 속도를 설정할 수 있다.

  • JumpForce : Entity의 점프정도를 설정할 수 있다.


TriggerComponent

  • Entity간의 충돌을 감지하고 이벤트를 처리할 수 있는 Component로써 추후에 배우게 될 스크립트에서 다양한 이벤트를 만들고 발생시킬 수 있다.


  • 초록색 박스가 파라오예티 Entity에대한 충돌영역이고, 박스 범위안에 들어오게되면 TriggerComponent에 작성된 스크립트를통해 이벤트 핸들링을 할 수 있다.

PlayerComponent

  • MaxHp : 플레이어의 hp 설정

  • PVPMode : 플레이어끼리의 대결모드 on/off

  • RespawnDuratio : 플레이어가 죽을경우 리스폰 타임 설정

  • Enable : 플레이어가 보이는 유무 설정


PlayerControllerComponent

  • FixedLookAt : 플레이어가 바라보는 방향을 고정시킬 수 있다.

--> 0 : 방향에따라 오른쪽/왼쪽, 양수 : 오른쪽 고정, 음수 : 왼쪽 고정

  • LookDirectionX : 현재 플레이어가 바라보고있는 방향을 의미한다.

--> 플레이어 오른쪽이동 -> 양수, 플레이어 왼쪽이동 -> 음수

cf) FixedLookAt값에 따라 플레이어가 바라보는 방향이 고정될 수 있으므로 LookDirectionX값은 변하지 않을 수도있다.

0개의 댓글