Unity-Transform-坐标转换

世界坐标转本地坐标

print(Vector3.forward);

世界坐标系 转本地坐标系 可以帮助我们大概判断一个相对位置

世界坐标系的点 转换 为相对本地坐标系的点

//受到缩放影响

print("转换后的点 " + this.transform.InverseTransformPoint(Vector3.forward));

世界坐标系的方向 转换 为相对本地坐标系的方向

//不受缩放影响

print("转换后的方向" + this.transform.InverseTransformDirection(Vector3.forward));

//受缩放影响

print("转换后的方向(受缩放影响)" +this.transform.InverseTransformVector(Vector3.forward));

本地坐标转世界坐标

本地坐标系的点 转换 为相对世界坐标系的点 受到缩放影响

print("本地 转 世界 点" + this.transform.TransformPoint(Vector3.forward));

本地坐标系的方向 转换 为相对世界坐标系的方向

//不受缩放影响

print("本地 转 世界 方向" + this.transform.TransformDirection(Vector3.forward));

//受缩放影响

print("本地 转 世界 方向" + this.transform.TransformVector(Vector3.forward));

练习

cs 复制代码
public class NewBehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        CreatBoll();
    }

  
    public void Creat()//在自己坐标系下的-1,0,1位置创建一个空物体
    {
        GameObject a = new GameObject("C");    //先转换成世界坐标的位置    
                                               //再在世界坐标的位置创建,下同

        a.transform.position = transform.TransformPoint(new Vector3(-1, 0, 1));

    }

    public void CreatBoll()//在自己坐标系下的3个位置创建三个球
    {

      GameObject a=  GameObject.CreatePrimitive(PrimitiveType.Sphere);
        a.transform.position = transform.TransformPoint(new Vector3(0, 0, 1)); 
        GameObject b = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        b.transform.position = transform.TransformPoint(new Vector3(0, 0, 2));
        GameObject c = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        c.transform.position = transform.TransformPoint(new Vector3(0, 0, 3));
    }
}
相关推荐
谢泽浩2 分钟前
Unity 给模型贴上照片
unity·游戏引擎
z2014z3 分钟前
Unity Resource System 优化笔记
unity·游戏引擎
王维志9 分钟前
Unity 高亮插件HighlightPlus介绍
unity·游戏引擎
小狮子安度因9 分钟前
边缘智能-大模型架构初探
linux·网络
晨春计12 分钟前
【git】
android·linux·git
Flying_Fish_roe25 分钟前
linux-软件包管理-包管理工具(RedHat/CentOS 系)
linux·运维·centos
Splashtop高性能远程控制软件27 分钟前
centos远程桌面连接windows
linux·windows·centos·远程控制·远程桌面
tang&1 小时前
【Linux】进程概念
linux
苏少朋1 小时前
Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解
linux·nginx·docker·容器
Jerry 二河小鱼1 小时前
在Linux中安装FFmpeg
linux·运维·服务器·ffmpeg