Unity3D MultiplyPoint矩阵混淆

时间:2016-02-04 13:31:38

标签: c# matrix unity3d transform

multiply point function 简单地用向量3或4乘以4 * 4矩阵。

我正在尝试使用数学来复制此函数,因为我正在使用着色器。

数学本身并不引人注目,只是每一列的每个列的点积来得到最终的变换。

我的问题是,统一将我的变换矩阵返回为2 * 4,

transform matrix values

我的变换向量是Vector4(向量3世界位置,在第四个组件中加1)

我的结论是,这个Unity函数必须在标准矩阵乘法之前做一些其他方法,欢迎对此有任何想法。

Edit: Code extract

1 个答案:

答案 0 :(得分:2)

  

此乘法点函数通过Vector3或Vector4简单地乘以4 * 4矩阵。

实际上错了,它只乘以Vector3 - 检查doco

问题:要有所帮助,Unity烦恼地"演员"在Vector2,Vector3,Vector4之间(以不同的方式,有时做,有时候没有意义)。

如果你给它一个Vector4作为参数,你实际上并没有得到你的想法 - 它的' "铸造"它是一个Vector3 ,试图提供帮助。

我希望,这就是问题所在!

只是为了在这里搜索任何新的密友,在a=b.MultiplyPoint(c)我们有b(那个' sb,而不是a或c)是四个(即"运动") c是三(位置),结果a是三(位置)。

相关问题