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));
    }
}
相关推荐
郝学胜-神的一滴11 分钟前
中级OpenGL教程 023:Assimp模型加载全解——从源码到架构的骈文探秘
c++·unity·游戏引擎·cmake·unreal engine·opengl
拾光Ծ30 分钟前
【Linux网络】网络通信实战:UDP & TCP Socket编程实现Echo Server
linux·网络·网络协议·tcp/ip·udp·线程池
一叶龙洲12 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker14 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience15 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
j7~15 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
观山岳五楼16 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
m0_7156467616 小时前
20260720
linux·arm
寒晓星17 小时前
[linux]线程及多线程
linux·运维
辰痕~17 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu