Skip to content

坐标与变换系统

unity-transform-coordinate-system

零基础重点

Unity 里每个 GameObject 都有 Transform,它负责三件事:

c
Position = 位置
Rotation = 旋转/朝向
Scale    = 缩放/大小

坐标轴记法:

c
X:左右,红色
Y:上下,绿色
Z:前后,蓝色

最容易混的是:

c
transform.position       // 世界坐标
transform.localPosition  // 相对父对象的局部坐标

如果 WeaponPlayer 的子对象,那么 Weapon.localPosition 表示它相对 Player 的位置,而不是整个世界的位置。

常用代码

c
transform.position = new Vector3(0, 1, 0);
transform.localScale = new Vector3(2, 2, 2);
transform.rotation = Quaternion.Euler(0, 90, 0);

Vector3 world = transform.TransformPoint(local);
Vector3 local = transform.InverseTransformPoint(world);

参考链接

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0