Unity由Matrix4x4提取Quaternion和Vector3和由Quaternion,Vector3构造Matrix4x4
由Matrix4x4提取Quaternion和Vector3
Quaternion getRotationFromMatrix(Matrix4x4 m)
{
return Quaternion.LookRotation(m.GetColumn(2), m.GetColumn(1));
}
Vector3 getPositionFromMatrix(Matrix4x4 m)
{
return m.GetColumn(3);
}
由Quaternion,Vector3构造Matrix4x4
Vector3 position =...
Quaternion rotation =...
Vector3 scale =...//for example: scale=Vector3.one
Matrix4x4 m = Matrix4x4.TRS(position, rotation, scale);