U1L7-6——坐标转换

Transform的坐标转换

有 世界坐标转本地坐标 和 本地坐标转世界坐标
其中最重要的就是本地坐标系的点 转世界坐标系的点
比如 现在玩家要在自己面前n个单位前 释放技能 这时可以无需关系世界坐标系
通过 相对于本地坐标系的位置 转换为 世界坐标系的点 进行特效的创建

本章代码关键字

1
2
3
4
5
6
this.transform.InverseTransformPoint()        //受到缩放影响的 世界坐标系的点 转换为 相对本地坐标系的点 的方法
this.transform.InverseTransformDirection() //不受缩放影响的 世界坐标系的方向 转换为 相对本地坐标系的方向 的方法
this.transform.InverseTransformVector() //受到缩放影响的 世界坐标系的方向 转换为 相对本地坐标系的方向 的方法
this.transform.TransformPoint() //受到缩放影响的 本地坐标系的点 转换为 相对世界坐标系的点 的方法
this.transform.TransformDirection() //不受缩放影响的 本地坐标系的方向 转换为 相对世界坐标系的方向 的方法
this.transform.TransformVector() //受到缩放影响的 本地坐标系的方向 转换为 相对世界坐标系的方向 的方法

世界坐标转本地坐标

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

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

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

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

不受缩放影响

不受缩放影响的 世界坐标系的方向 转换为 相对本地坐标系的方向 的方法

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

受到缩放影响

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

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

本地坐标转世界坐标

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

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

1
print("本地转换世界后的点:" + this.transform.TransformPoint(Vector3.forward));

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

不受缩放影响

不受缩放影响的 本地坐标系的方向 转换为 相对世界坐标系的方向 的方法

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

受到缩放影响

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

1
print("受到缩放影响本地转换世界后的方向" + this.transform.TransformVector(Vector3.forward));