【Untity】通过子物体坐标和父物体Transfrom,计算子物体的世界坐标

如图 父物体Transfrom信息如下
【Untity】通过子物体坐标和父物体Transfrom,计算子物体的世界坐标_第1张图片

子物体坐标如下
【Untity】通过子物体坐标和父物体Transfrom,计算子物体的世界坐标_第2张图片
代码如下
将pos点,基于父物体scale进行缩放。
在用父物体旋转量* pos
再加上父物体的坐标。
即为子物体的世界坐标。

 void Start()
    {
        Vector3 pos = new Vector3(1, 2, 3);
        
        Vector3 parentPos = new Vector3(10, 20, 30);
        Quaternion parentRot = Quaternion.Euler(10, 20, 30);
        Vector3 parentSize = new Vector3(1, 2, 3);
        
        pos.x *= parentSize.x;
        pos.y *= parentSize.y;
        pos.z *= parentSize.z;

        Vector3 reslut = parentRot * pos;
        reslut += parentPos;
        
        Debug.Log(reslut);
    }

你可能感兴趣的:(Unity,unity)