[UE4] VectorLength, Player 회전, BlueprintSpace, State
✔ VectorLength
벡터의 길이를 반환하는 Vector Length함수가 여러개 존재한다.
VectorLengthXY : 높이인 z축을 제외하고 평면상에서 거리를 구할 때 사용된다.
VectorLengthSquared : 길이를 구하는 공식에서 각 항을 제곱하여 x2 + y2 = c2(거리의 제곱)로 도출되는 제곱된 거리값을 사용할 때 사용된다.
✔ 마우스 회전을 통한 시점 회전 & Player 회전
마우스의 움직임에 따라 시점을 회전시키고, 해당 Forward 방향으로 Player가 바라보게 하고싶다면 다음과 같은 설정이 필요하다. (입력에 Forward, Right 축매핑 추가하는건 기본)
* Character Movement - Orient Rotation to Movement 체크: 캐릭터가 바라보는곳으로 객체를 회전시킴
* BluePrint 셀프 - Use Controller Rotation Yaw 체크해제: 카메라가 바라보는 방향으로 캐릭터를 고정시키는것 해제
위와 같은 셋팅을 하지 않으면 아무리 블루프린트에서 Horizontal과 Vertical값을 회전시켜도 플레이어가 회전되지 않는다!
✔ BluePrintSpace, 스테이트 머신, Anim Graph
스테이트는 캐릭터같은 객체가 정기적으로 블렌딩하여 사용되는 Anim Graph의 조직화된 한 부분이다.
하나의 스테이트에서 다른 스테이트로 트랜지션(전환)하며 넘나들 수 있다. 예를 들어 Idle 스테이트에서 플레이어가 움직이는 경우 Walk 스테이트로 전환될 수 있다.
이 스테이트에는 BlendSpace가 있을 수 있고 BlendSpace를 통해 여러 애니메이션을 부드럽게 전환할 수 있다.
스테이트 간 트랜지션(전환)이 일어나기 위해 트랜지션 룰(Transition Rule)을 지정해야 한다. 트랜지션 룰 내부에 존재하는 Result 이름의 Bool 출력값은 애니메이션이 다음 트랜지션으로 전환될 수 있는지 없는지를 결정한다.
참조
https://docs.unrealengine.com/4.27/ko/AnimatingObjects/SkeletalMeshAnimation/StateMachines/Overview/
스테이트 머신 개요
State Machine, 스테이트 머신 작동 방식 및 그 내부에 사용되는 핵심 시스템에 대한 분석입니다.
docs.unrealengine.com