skyf의 게임 개발기
[개발] 2021.05.27(목) - 아바타 축 맞추기(쿼터니언) 본문
믹사모 방식의 아바타(마야)는 모든 본 지
점들의 z축이 앞을 향하고 있는 반면,
3DMax방식의 아바타는 x축의 골반기준의 부모 본을 향한다. (여기서 y축과 z축의 규칙성을 찾기가 힘들다)
신기하게도 씬에서 월드좌표로는 마야든, 3DMax든 같은 방향을 바라보고 있다. (월드 좌표 기준 Z축을 바라본다.)
<해결>
Quaternion local = boneTr.localRotation;
worldQ = boneTr.rotation;
switch (boneType)
{
case IKBoneType.Head:
{
transform.localRotation = worldQ * Quaternion.identity;
}
break;
case IKBoneType.LeftHand:
{
transform.localRotation = (Quaternion.Euler(offset_handWrist_vertical, offset_handWrist_horizontal, 0)) * (Quaternion.Euler(-90,90, 0))* worldQ;
}
break;
case IKBoneType.RightHand:
{
transform.localRotation = (Quaternion.Euler(offset_handWrist_vertical, -offset_handWrist_horizontal, 0)) * (Quaternion.Euler(-90, -90, 0)) * worldQ;
}
break;
case IKBoneType.LeftToe:
{
transform.localRotation = worldQ * Quaternion.identity;
}
break;
case IKBoneType.RightToe:
{
transform.localRotation = worldQ * Quaternion.identity;
}
break;
}
'Unity > Unity 개발 일지' 카테고리의 다른 글
[개발] 2021.05.30(일) - 앞으로의 연구 계획 (0) | 2021.05.31 |
---|---|
[개발] 2021.05.30(일) - 쓰레드 관련 (0) | 2021.05.30 |
[개발] 2021.05.28(금) (0) | 2021.05.28 |
[개발] 2021.05.27(목) - 쿼터니언 사용법 (0) | 2021.05.28 |
[개발] 2021.05.26(수) - VR 구현 목록 (0) | 2021.05.26 |