【Unity】Transform—“本地坐标”与“世界坐标”相互转换

1.本地坐标转世界坐标

现有:
【Unity】Transform—“本地坐标”与“世界坐标”相互转换_第1张图片
Lesson10脚本的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson10 : MonoBehaviour
{
    void Start()
    {
        //1.本地坐标系的点 转换为 相对世界坐标系的点(最常用的)
        //受到缩放影响
        //把要被转换的本地坐标系的点传进去
        print(this.transform.TransformPoint(Vector3.forward)); //Vector.forward就是点(0,0,1)

        //2.本地坐标系的方向 转换为 相对世界坐标系的方向
        //不受缩放影响
        //把要被转换的本地坐标系的方向传进去
        print(this.transform.TransformDirection(Vector3.forward));
        //受缩放影响
        print(this.transform.TransformVector(Vector3.forward));
    }
}

运行:
【Unity】Transform—“本地坐标”与“世界坐标”相互转换_第2张图片

2.世界坐标转本地坐标

可以帮助我们判断一个物体大概在我的什么方位

现有:
【Unity】Transform—“本地坐标”与“世界坐标”相互转换_第3张图片
Lesson10脚本的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson10 : MonoBehaviour
{
    void Start()
    {
        //1.世界坐标系的点 转换为 相对本地坐标系的点
        //把要被转换的世界坐标系的点传进去
        //受到物体缩放的影响
        print(this.transform.InverseTransformPoint(Vector3.forward));

        //2.世界坐标系的方向 转换为 相对本地坐标系的方向
        //不受缩放影响
        //把要被转换的世界坐标系的方向传进去
        print(this.transform.InverseTransformDirection(Vector3.forward));
        //受缩放影响
        print(this.transform.InverseTransformVector(Vector3.forward));
    }
}

运行:
【Unity】Transform—“本地坐标”与“世界坐标”相互转换_第4张图片

你可能感兴趣的:(Unity_学习笔记整理,unity,学习,游戏引擎)