在unity3d中Matrix4X4提供了两个矩阵转换的方法,分别是MultiplyPoint 同MultiplyVector ,
为了测试其不同在场景中放置了三个球,一个红球,一个蓝球,蓝球为红球子物体测试代码如下:
public class Matrix4X4Test : MonoBehaviour {
public GameObject SphereRed;
public GameObject SphereBlue;
private Matrix4x4 BlueLocalToworld;
private Matrix4x4 RedLocalToworld;
void Start () {
Debug.Log("SphereBlueLocalPosation:"+SphereBlue.transform.localPosition);
Debug.Log("SphereBluePosation:"+SphereBlue.transform.position);
BlueLocalToworld = SphereBlue.transform.localToWorldMatrix;
RedLocalToworld = SphereRed.transform.localToWorldMatrix;
Debug.Log("经过计算之后:"+BlueLocalToworld.MultiplyPoint(new Vector3(0.0f,0.0f,0.0f)));
Debug.Log("通过RED的

本文介绍了Unity3D中Matrix4X4的MultiplyPoint和MultiplyVector方法的不同。通过实例代码展示了MultiplyPoint将向量转换为世界坐标位置,而MultiplyVector仅改变方向,不转换位置。MultiplyPoint在处理Mesh形变和点的位置变换时更为适用,而MultiplyVector则用于方向计算。
5865

被折叠的 条评论
为什么被折叠?



