如何基于同构 Matrix4x4 设置和更新相机位置?

问题描述

我已经从 3D 扫描仪导出了 3D 模型和齐次坐标。我想使用这个矩阵在场景中定位相机并根据矩阵移动相机。我在 update 方法中使用以下代码来执行此操作,

 Vector4 col1 = new Vector4 (m11,m21,m31,m41);
 Vector4 col2 = new Vector4 (m12,m22,m32,m42);
 Vector4 col3 = new Vector4 (m13,m23,m33,m43);
 Vector4 col4 = new Vector4 (m14,m24,m34,m44);
           
            
 Matrix4x4 transform = new Matrix4x4 (col1,col2,col3,col4);
            

 mainCam.transform.Translate(new Vector3(-transform.m03,transform.m13,-transform.m23));
 Vector3 euler = transform.rotation.eulerAngles;
 euler[0] *= -1;
            
 mainCam.transform.rotation = Quaternion.Euler(euler) ;

mainCam 是 MainCamera,值 m11,m12,m13.. 来自导出的值。 有时相机投影看起来不错,但有时相机看起来或朝相反的方向移动。我错过了什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)