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);

posted on 2015-06-17 02:19  wantnon  阅读(1889)  评论(0编辑  收藏  举报

导航