Aiming Aim Offset
조준 했을 때 기준의 Aim Offset도 만들어보자
이번엔 Idle_AO_가 아닌 RMB(Right Mouse Button)_AO_ 애니메이션들을 사용할 것이다.
조준 시에는 -180~180도 까지는 필요없기에 -90~90까지만 범위를 지정해줄 것이다.
그리고 애니메이션들을 할당해주자.
할당하다보면 화면에 캐릭터가 사라지는데 RMB_AO_CC 애니메이션이 할당되어서 그렇다.
이를 조준시 Zero_Pose인 RMB_Zero_Pose로 바꿔주자.
할당할 때마다 사라지므로 모두 할당 후에 바꿔주자.
모두 할당해준 모습
다음으로 이번엔 AnimInstance 클래스에 열거형을 하나 만들어줄 것이다.
OffsetState에 대한 것을 나타내며, 이를 통해 일반 Offset을 사용할 지, AimingOffset을 사용할지 구별할 것이다.
이에 대한 변수와 초기화도 해주자.
그리고 애니메이션 속성 업데이트 함수에서 이를 각 값에 맞게 할당해주자.
이제 애니메이션 블루프린트로 돌아가자.
Blend Poses (EOffsetState) 함수를 통해 애니메이션을 Blend 할 것이다.
Offset State 값을 얻어서 이를 연결해주자.
Default와 Reloading에 대해서는 기존의 Cached Hip to Aim을 사용한다.
Hip에 대해서는 전에 만들었던 HipAimOffset을 결과 값을,
Aiming에 대해서 이번에 새로 만든 AimingAimOffset을 통한 결과 값을 할당한다.
In Air의 경우 HipAimOffset을 이용하되 좌우 회전은 필요없기에 Yaw 값은 빈칸으로 냅두자.
그리고 Rotate에 대한 부분도 수정해줄 것이다.
현재 상태에서는 공중에서 회전이 불가하다.
이는 Rotate Root Bone 함수의 영향이다.
공중에 있을 때는 Rotate Root Bone을 거치지 말고 Aim Offsets을 바로 연결해주자.
마지막으로 공중에 있을 때도 제자리 회전이 불가하기에 TurnInPlace() 함수에 해당 부분을 추가해주었다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-8 (0) | 2024.09.02 |
---|---|
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-7 (0) | 2024.09.02 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-5 (0) | 2024.09.02 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-4 (0) | 2024.09.01 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 8-3 (0) | 2024.08.31 |