월드 좌표 : 글로벌 좌표(절대 좌표)의 0, 0, 0를 기준으로 위치, 회전 설정
상대 좌표 : 내 직속 상관(= 부모 오브젝트)를 기준으로 위치, 회전, 스케일이 설정된다.
BP_Gun의 Grab Component의 위치를 조정해준다. Grab Component의 자식으로 FakeHand Scene과 FakeHandMesh라는 SkeletalMesh를 만들어서 손의 위치를 확인하면서 위치를 설정한다.
FakeHandMesh의 Rotation은 90, 90, 0으로 설정해야한다. ( 기존 모션 컨트롤러에 SkeletalMesh를 추가할 때 90, 90, 0으로 Hand Mesh를 추가했기 때문에)
아래 사진과 같이 자연스러운 위치에 Hand Mesh가 위치되도록 Grab Component의 위치를 옮겨주었다.
이 부분은 기존 Free Type일 때와 동일하다. 이전 문서를 참고하자.
이 부분을 정확히 이해하는 것이 중요하다.
우리가 원하는 작업을 미리 정의하자면 현재 그랩 컴포넌트의 위치가 우리가 원하는 손 위치라고 할 수 있다. 기존에는 Attach Parent로 BP_Gun을 그냥 모션 컨트롤러에 가져다가 붙이기만 했다면 이제는 실제 컴포넌트의 Parent의 위치를 적절한 위치로 움직여 Grab Component의 위치에 내 손이 가 있도록 하고 싶다.
위 과정은 결국 BP_Gun과 GrabComponent 간의 벡터, 회전을 구하고, 모션 컨트롤러를 기준으로 아까 구한 벡터 반대 방향, 반대 회전으로 진행시킨 위치에 BP_Gun을 다시 위치시킨 것과 동일한 과정이다.
즉, BP_Gun의 위치를 강제로 끌고와서 오브젝트가 내 손에 달라붙어서 특정한 위치를 잡은것 같은 효과를 연출한다고 할 수 있다.
Release의 경우에는 물체의 위치나 각도에 보정이 필요없이 그냥 물체를 놓아주면 되므로 FreeType과 동일한 과정이 진행되도록 한다.