저번주까지는 주로 이론적인 부분에 대해 배웠다.
그래서 이번 시간부터는 좀 더 실용적인 부분에 대해 배웠다.
자주 사용하는 컴포넌트 위주로 MOD API를 소개하는 시간이었다.
DefaultPlayer에 기본적으로 탑재되어 있다.
InputSpeed : 이동 속도 (x축)
JumpForce : 점프력 (y축)
기본 물리
일반적인 세계에서 영향을 받는 움직임을 따라가는 컴포넌트
DownJumpSpeed : 하단 점프 속도
Gravity : 중력값. 점프를 했을 때 떨어지는 속도
IsBlockVerticalLine : 활성화 시 기둥을 뚫고 지나갈 수 없음
IsolatedMove : 활성화 시 낭떠러지 등 발판이 이어져 있지 않을 때 그 지점에서 더 이상 앞으로 갈 수 없음
Mass : 질량. 질량이 커지면 속도를 내기까지 시간이 오래 걸려 가속이 늦게 붙음. 가속이 붙기까지의 시간
QuaterView
밑의 그림과 같이 중력에 영향을 받지 않고 평면에서 움직이는 것처럼 보인다.
QuaterViewAccelerationX, QuaterViewAccelerationY는 이 뷰로 설정해야만 영향을 준다.
충돌 효과를 적용하는 컴포넌트
충돌했을 때 일어나는 효과는 따로 Component를 만들어야한다.
TriggerComponent는 다음과 같은 이벤트를 갖고 있다.
TriggerEnterEvent : 충돌이 시작됐을 때
TriggerLeaveEvent : 충돌이 끝났을 때
TriggerStayEvent : 충돌이 진행중일 때
주로 Enter, Leave를 사용. Stay는 계속 지속되기 때문에 조절 잘해야한다.
SetForce 함수로 움직임 설정
위와 같이 self.force를 주고 직접 force를 지정해줄 수도 있다 → 같은 아이템 복제시 사용하기 용이함.
충돌 처리를 할 때 TriggerComponent는 꼭 추가해줘야한다 (추가 안하고 ItemComponent만 추가했다가 왜 안되지… 하고 있었던..)
웹에 있는 이미지를 가져와서 표시해준다.
url에 이미지 경로를 적으면 된다.
위치 좌표는 월드 좌표계를 따른다.(월드 내에 있기 때문)
상하 반전, 좌우 반전, 레이어 설정, 색깔 변경 등등 가능하다.
또한 AnimationUrl로 애니메이션을 만들 수 있다.
위에서는 사진 두가지의 주소를 넣어 사진 두개를 애니메이션 처리했다.
YoutubePlayerGUIComponent : UI 상에서 표시해줄 때 사용
YoutubePlayerWorldComponent : 월드상에 표시할 때 사용
사용법 자체는 별로 다를 거 없다.
기본적으로 내 외형에 덮어씌운 형태
완전히 다르게 커스텀 하고 싶으면 UseCustomEquip을 클릭하면 된다.
왼쪽이 기본 캐릭터, 오른쪽이 커스텀한 캐릭터
KeyDownEvent : 키를 1번 눌렀을 때 발생
KeyHoldEvent : 키를 누르는 동안 발생
KeyReleaseEvent : 키를 길게 눌렀다 뗐을 때 발생
KeyUpEvent : 키를 1번 눌렀을 때 발생
위에 세개는 스크린 터치시 이벤트
밑에 세개는 엔터티 터치시 이벤트
이벤트를 추가하려는 컴포넌트에 TouchReceiveComponent를 추가해줘야한다.
좌표를 스크립트 상에서 PlayEffect로 지정해줄 경우 위치가 월드 기준으로 지정된다.
PlayEffectAttached를 사용하면 어떤 엔티티에 효과를 붙일 것인지 지정할 수 있음. 그리고 로컬 포지션과 로컬 스케일 전부 지정 가능함.
별도의 스크립트 작업을 해주지 않으면 사운드 효과가 작동하지 않는다.
스크립트 작업 없이 테스트 해보고 싶을 때 → PlayOnEnable 사용
사운드 컴포넌트를 나와의 거리에 따라 처리한다.
bgm은 map 엔티티의 사운드 컴포넌트에 의해 동작한다.
목적지가 어디인지 보여주고 다시 원위치
사다리 엔티티가 기본적으로 갖고 있는 컴포넌트
사다리or로프가 아님에도 오를 수 있게 하고 싶으면 ClimbableComponent를 추가해주면 된다.
사다리와 로프의 경우 head와 tail이 나눠져 있어 다른 테마로 변경 가능하다.