在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的计算得到:"+RedLocalToworld.MultiplyPoint(SphereB