Как применить готовую матрицу трансформации к GameObject ?
Нашел только такой способ:
Синтаксис:
Используется csharp
Matrix4x4 mat = Matrix4x4.Rotate( Quaternion.Euler( vEuler ) );
Transform tt = GameObject.Find( "Teapod" ).GetComponent<Transform>();
tt.right = mat.GetRow( 0 );
tt.up = mat.GetRow( 1 );
tt.forward = mat.GetRow( 2 );
Transform tt = GameObject.Find( "Teapod" ).GetComponent<Transform>();
tt.right = mat.GetRow( 0 );
tt.up = mat.GetRow( 1 );
tt.forward = mat.GetRow( 2 );
Но не работает правильно.
mat.GetColumn почему-то дает тот-же результат. А угол vEuler.z не работает вообще.
2)
Почему есть разница в двух способах задать повороты:
1-й способ как в пункте выше, 2-й вот так:
Синтаксис:
Используется csharp
Transform tt = GameObject.Find( "Teapod" ).GetComponent<Transform>();
tt.eulerAngles = vEuler;
tt.eulerAngles = vEuler;
Так вроде бы работает правильно.
3) Как-же меня бесят эти углы Эйлера, почему нельзя было сделать Yaw Pitch Roll ?
Может есть где библиотечка для работы с матрицами с углами Yaw Pitch Roll ?