반응형
빨간 Line : 총구 ~ 총구 x방향으로 쭉
주황 Line : 총구 ~ 내 에임 방향(crosshair 위치)
일반적인 상황에서는 큰 문제는 없는데,,,,
이렇게 우측이나 좌측으로 크게 돌렸을 때 문제가 생긴다...
정확히 말하면 총이 회전을 안해서 이런 문제가 생긴 것이다.
- **GetSocketBoneByName**은 소켓이 연결된 뼈의 이름을 가져오는 함수입니다.
- **GetSocketByName**은 소켓 자체의 정보를 가져오는 함수입니다.
오른 손이 socket을 두고
그 소켓의 Transform을 가져온다.
UKismetMathLibraray를 이용해서 회전값을 가져온다.
회전값은 소켓방향이 타켓 방향을 바라보는 회전값이다.
이 값을 BP에서 사용한다.
이 회전 값으로 오른 손을 돌려준다
-> 오른손도 돌아가고, 총도 돌아가고!
그럼 왼손은??
왼손을 캐릭터의 오른손 뼈 공간으로 변환시킨다.
1. TransformToBoneSpace는 특정 위치(여기서는 LeftHandTransform.GetLocation()로 얻은 위치)를 지정된 뼈의 로컬 공간으로 변환한다.
2. 여기서는 왼손 소켓 위치를 오른손 뼈의 로컬 공간으로 변환하고, 그 변환 결과를 OutPosition과 OutRotation에 저장합니다.
오른손 회전하고 왼손을 오른속 로컬 공간으로 변환시키면 완료!
반응형
'UE5(언리얼)' 카테고리의 다른 글
[언리얼5/UE5] UTimelineComponent, UOnTimelineFloat (0) | 2024.10.06 |
---|---|
[언리얼5/UE5] 언리얼 clinet, server 동기화 (0) | 2024.10.05 |
[언리얼5/UE5] 발자국 소리 애니메이션에 맞춰서 넣기 (기초) (0) | 2024.09.26 |
[언리얼5/UE5] Blend Space 어색한 움직임 C++로 보간하기(RInterpTo) (0) | 2024.09.24 |
[언리얼/UE5] Online Subsystem 설정하기 (Steam) (0) | 2024.09.23 |