Transform坐标转换

本文介绍了Unity中如何进行世界坐标到本地坐标的转换以及本地坐标到世界坐标的转换,详细解析了转换过程中缩放的影响,并给出了实际应用场景,如判断物体相对位置、创建特效等。同时,提供了两个坐标转换的实践练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、世界坐标转本地坐标

// 帮助大概判断一个相对位置

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

// 受缩放影响

this.transform.InverseTransformPoint(Vector3.forward)

可以通过该方法判断物体的相对位置,例如对象A,B,计算B的世界坐标相对于A的本地坐标系的位置,如果x>0,z>0,那么可以判断B在A的右前方

// 世界坐标系的方向转换为相对本地坐标系的方向(方向不变,只是将方向向量平移到本地坐标系)

// 不受到缩放影响

this.transform.InverseTransformDirection(Vector3.forward)

// 受缩放影响

this.transform.InverseTransformVector(Vector3.forward)

2、本地坐标转世界坐标

// 本地坐标系的点转换为相对世界坐标系的点 (常用)

// 比如player要在自己面前的n个单位创建一个特效,不用关心世界坐标系,通过将本地坐标系转换为世界坐标系后进行特效的创建或者攻击范围的判断

// 受到缩放影响

this.transform.TransformPoint(Vector3.forward);

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

// 不受缩放影响

this.transform.TransformDirection(Vector3.forward);

// 受缩放影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值