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 小时前
linux漏洞一键扫描
linux·运维·服务器·漏洞扫描
码农水水4 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
wifi chicken4 小时前
Linux Wlan L3~L2封包逻辑详解
linux·网络·ping·封包
小白鸽i5 小时前
【LINUX】将源码驱动文件编译并生效
linux·运维·服务器
胡斌附体6 小时前
linux(ubuntu)拉取源码进行docker容器部署
linux·git·ubuntu·docker·node·nvm
wdfk_prog7 小时前
[Linux]学习笔记系列 -- [drivers][base]platform
linux·笔记·学习
永不复还7 小时前
linux 使用X11监听键盘鼠标输入
linux·x11
孟无岐7 小时前
【Laya】Socket 使用指南
websocket·typescript·游戏引擎·游戏程序·laya
kida_yuan8 小时前
【Linux】说说我对 Wine 与 deepin-wine 的理解
linux·运维·wine
嵌入小生0078 小时前
基于Linux系统下的C语言程序错误及常见内存问题调试方法教程(嵌入式-Linux-C语言)
linux·c语言·开发语言·嵌入式·小白·内存管理调试·程序错误调试