총 애니메이션

1000·2021년 5월 17일
0

1. 총 장착과 조준 키 설정

프로젝트 설정에서 총 장착과 조준 키 Input Mapping을 해줍니다.

총을 장착하는 것과 조준하는 것은 Axis값이 필요하지 않고
단순히 키가 눌렸는지 아닌지 판단만 필요하므로 Action Mapping을 사용합니다.

Action Mapping에 EquipWeapon과 Aiming으로 정의해줍니다.
EquipWeapon은 키보드 X키에 할당해주고
Aiming은 마우스 오른쪽 버튼에 할당합니다.

2. 총 장착 처리

캐릭터 액터의 이벤트 그래프에서 EquipWeapon 액션을 처리해줍니다.

EquipWeapon 키가 눌렸을 때 기존 상태를 Toggle 시켜주면 됩니다.
총을 장착한 상태라면, 장착을 해제 시켜주고
총이 장착되어 있지않은 상태라면, 장착시켜줍니다.

총 장착 여부를 저장할 변수인 Is Equip Weapon을 선언합니다.

버튼이 눌렸을 때, Is Equip Weapon이 true라면 false로 셋팅하고
손에 들려있는 총 모델링은 제거하고, 등 뒤에 총 모델링을 생성합니다.

버튼이 눌렸을 때, Is Equip Weapon이 false라면 true로 셋팅하고
손에 들려있는 총 모델링은 생성하고, 등 뒤에 총 모델링을 제거합니다.

3. 총 조준 처리

Aiming 키가 눌린 상태면, 조준 상태를 유지하고
키가 떨어지면 조준 상태를 해제시켜 주도록 합니다.

조준 상태로 변경할 때는 총이 장착된 상태인지 한번 확인해줘야 합니다.

4. 총 애니메이션 처리

idle, forward, backward 상태에서 Is Equip Weapon과 Aiming 변수를 검사하여
분기에 따라 애니메이션 시퀀스를 변경시켜 줍니다.

bool로 포즈를 블렌딩 노드를 이용하여, Active Value에 Is Equip Weapon 변수와 Aiming 변수를 넣어 검사한 뒤 적절한 애니메이션 시퀀스를 연결해줍니다.

이렇게 관리하면 참조할 변수가 많아 질 수록 관리가 힘들게 된다.
이를 해결하기 위해 상태머신을 중첩해 사용해보도록 하자.

5. 상태머신 중첩을 이용하여 총 애니메이션 처리

우선 NoWeapon, EquipWeapon, Aiming 로 3가지 상태로 나눠줍니다.

NoWeapon과 EquipWeapon 트랜지션은 Is Equip Weapon 변수를 사용하도록 합니다.
EquipWeapon와 Aiming 트랜지션은 Aiming 변수를 사용하도록 합니다.

그리고 장착 해제 상태, 장착 상태, 조준 상태 내부에서 다시 상태 머신을 정의합니다.

그 상태 머신은 Idle, Forward, BackWard 3가지 상태를 가지고 있습니다.
트랜지션 룰은 이전에 정의한 것과 동일합니다.

각 상태에 맞는 애니메이션 시퀀스를 재생하도록 합니다.

profile
Game Programming

0개의 댓글