[Unreal]#3_Character Animation, Animation Blend Space
Unreal 개발 중 "Animation"에 대해 알아보겠습니다.
"Simple Shooter Game"의 Character Class 개발 과정 중 일부입니다.
Skeleton
Skeleton = Animation + Meshes
"Skeleton" 은 "Mesh"와 여러 가지 "Animation"으로 이루어져 있습니다
이때, "Mesh"는 "Skeleton"을 이루는 요소들이며, "Animation"은 해당 "Mesh"들로 구현하는 모션들입니다.
1. Mesh 설정
1. Component 목록 중 "Mesh Component" 선택
2. 오른쪽 Details 목록 중 "Mesh" 항목에서 "Skeletal Mesh" 설정
2. Animation 설정
1. Component 목록 중 "Mesh" 선택
2. Detail 목록 중 "Animation" 항목에서 지정할 Animation 선택!
Animation Blueprint
다양한 "Animation" 에셋들 간의 교체 및 조합을 구현하기 위해 "Animation Blueprint"를 생성합니다!
1. Animation Blueprint 생성
2. 타겟 스켈레톤 설정
앞서 설명했듯이, "Skeleton"은 다양한 "Animations"와 "Meshes"의 조합입니다!
"Animation Blueprint"를 생성하는데 있어서 "Animation"을 적용시킬 "Skeleton"을 설정해야 합니다!
Animation Blend Space
1. Animation Blend Space 생성 및 설정
"Animation Blend Space"는 말 그대로 각각의 Animation 간의 조합을 구현하기위한 기능입니다.
예를 들면, 전진 이동 중 "우측 이동" 키 입력을 받아 "전진 이동" + "우측 이동"을 구현하기 위해,
우리는 "MoveForward" 애니메이션과 "MoveRight" 애니메이션의 적절한 조합이 필요하겠죠!
이러한 "Animaitons Blend"를 위해 Unreal은 "Animation Blend Space"를 제공합니다!
2. Character Locomotion(캐릭터 이동) 관련 Animation Blend Space
"Animation Blend Space"에 들어가 아래 쪽을 보면 Axis가 보입니다.
3. Axis Setting, 기준 축 설정
"Axis Settings" 항목에서 X축과 Y축의 기준 값을 설정합니다.
X축 = Angle
Y축 = Speed
이때, X축은 "Angle"로 Character가 나아갈 방향에 대한 각도를 의미하고,
Y축은 "Speed"로 Character의 이동 속도를 의미하겠죠!
"Animation Blend Space"를 위 그림을 통해 살펴보겠습니다.
1번 포인트 : Angle(X축) = + 20 degrees, Speed(Y축) = 200, Animation = 우측 대각선으로 가볍게 뛰기 동작
2번 포인트 : Angle(X축) = - 20 degrees, Speed(Y축) = 89, Animation = 좌측 대각선으로 천천히 걷기 동작
3번 초인트 : Angle(X축) = + 180 degrees, Speed(Y축) = 180, Animation = 뒤로 걷기 동작
Axis의 가로축 세로축의 기준 값을 설정하고 "초록색 포인트"의 위치에 따라서 미리 Graph위에 위치한 "Animation"들에 가까워질수록 해당 "Animation"에 가까운 행동이 구현됩니다.
예를 들면, "초록색 포인트"의 위치가 "MoveForward" 포인트와 "MoveRight" 포인트 사이에 있다면, 우측 대각선으로 이동하는 "Animation"이 Render 되겠죠!
'게임개발 > Unreal C++' 카테고리의 다른 글
[Unreal]#6_Gun Actor Setting (0) | 2022.08.11 |
---|---|
[Unreal]#5_Character의 이동 속도와 각도 구하기, Animation Blueprint (0) | 2022.08.10 |
[Unreal]#4_Animation Blueprint, Gameplay와 Animation 연결하기 (0) | 2022.08.08 |
[Unreal]#2_Camera Setting, 3인칭 카메라 세팅 (0) | 2022.08.06 |
[Unreal]#1_Pawn, Character, Character Movement (0) | 2022.07.31 |