총알을 발사했을 때 25m 기준의 적을 향해 발사한다고 가정.
플레이어로부터 X축으로 250만큼 떨어진 위치에서 플레이어 방향으로 오는 Arrow 추가.
플레이어의 Weapon 또한 기계식 조준기에 Arrow 추가.
이때, 플레이어의 Weapon에 추가된 Arrow의 끝 부분이 250 앞에 있는 Arrow의 끝 부분을 가리키도록 Transform 조절.


Weapon의 위치가 변경되었기 때문에, Idle Animation에서 왼팔과 오른팔의 Transform을 Weapon 위치에 맞춰 이동 후 Key로 설정.

아래는 총구 방향 조절 전 사격 자세.

아래는 총구 방향 조절 후 사격 자세.

기본 자세에서 발사하는 것이 조금 더 자연스러워진 것을 볼 수 있음.
기본 자세에서 Zoom을 했을 때 기계식 조준기가 화면 중앙으로 올 수 있도록 해야함.
기준 위치를 잡기 위해 임시로 Weapon Static Mesh를 추가했고, PIE 모드로 플레이어 화면 중앙으로 배치.


위 사진처럼 Weapon을 해당 위치로 옮기면 됨.
FK(Forward Kinematics)는 Parent에서 Child 방향으로 회전/변위를 전파해서 최종 위치를 계산하는 방식.
IK는 끝 위치에서 거꾸로 필요한 관절 각도를 계산하는 방식.
우리는 오른손과 왼손을 움직이면 팔꿈치와 어깨가 같이 따라와야 하기 때문에 IK 방식으 사용해야함.
IKRig_Aim을 생성하여 hand_r과 hand_l에 IK Goal 추가하고, Solver는 Limb IK로 하고 각 Solver의 Root Bone을 설정.

이렇게 생성된 Ik Goal을 움직이면 IK Goal에서 Root로 설정된 Bone 사이의 모든 Bone이 따라 움직임.

Ik Rig의 IK Goal 값을 보기 위해 Exposure 설정.
ABP에서 Idle을 IK Rig 노드에 연결하여 Hand L, R의 Transform을 변경시키면서 Weapon의 위치를 임의로 만들었던 Aim Weapon 위치로 조정.



실제 총알을 발사해보면서 조준기 방향으로 총알이 발사되도록 조정.
Idle 자세가 이렇게 변한 Character를 Level에 배치 후 Level Sequence를 생성.

Actor To Sequencer에서 BP_Character를 선택하고, ABP가 Skeletal Mesh에 설정되어 있으므로 Skeletal Mesh Component 추가.
Skeleta Mesh 우클릭 후 Bake Animation Sequence 선택 후 해당 자세를 Animation Sequence로 생성.

생성된 Animation을 적용해보면 Aim 자세로 Weapon을 참고있는 것을 볼 수 있음.



추후 특정 Event를 통해 Idle와 Aim이 전환되는 기능 추가.