包含此页的版本:
不含此页的版本:
变换存储一个游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表的位置、旋转、缩放和父级状态。游戏对象始终附加了 Transform 组件:如果没有 Transform 组件,您无法删除 Transform 或创建游戏对象。
Transform 组件确定场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表.每个游戏对象都有一个 Transform。
提示:您可以更改变换轴(和其他 UI 元素)的颜色(菜单:Unity >首选项,然后选择颜色和键面板)。
| 财产: | 功能: |
|---|---|
| 位置 | 变换在 x、y 和 z 坐标中的位置。 |
| 旋转 | 变换绕x轴、y轴和z轴的旋转,以度为单位。 |
| 规模 | 沿x轴、y轴和z轴的变换比例。值“1”是原始大小(导入游戏对象时的大小)。 |
| 启用约束比例(Enable Constrained Proportions) | 强制刻度保持其当前比例,以便更改一个轴会更改其他两个轴。默认禁用。 |
Unity 会测量 Transform 相对于 Transform 父级的 Position、Rotation 和 Scale 值。如果 Transform 没有父级,Unity 会测量世界空间中的属性。
在 2D 空间中,您只能在 x 轴或 y 轴上作变换。在 3D 空间中,您可以在 x 轴、y 轴和 z 轴上作变换。在 Unity 中,这些轴分别由红色、绿色和蓝色表示。
编辑变换属性的主要方法有三种:
在 场景(Scene) 视图中,你可以使用 移动(Move)、旋转(Rotate) 和 缩放(Scale) 工具来修改变换。这些工具位于 Unity 编辑器的左上角。
可以在场景中的任何游戏对象上使用“变换”工具。选择游戏对象时,工具Gizmo与场景中的游戏对象关联的图形叠加层,并显示在场景视图中。移动工具等内置场景工具是 Gizmo,您可以使用纹理或脚本创建自定义 Gizmo。某些 Gizmo 仅在选择游戏对象时绘制,而其他 Gizmo 则由编辑器绘制,而不管选择了哪个游戏对象。更多信息
请参阅术语表出现在其中。Gizmo 的外观取决于您选择的工具。
在三个 Gizmo 轴之一上单击并拖动时,该轴的颜色将变为黄色。拖动鼠标时,游戏对象会沿所选轴移动、旋转或缩放。释放鼠标按钮时,轴将保持选中状态
移动游戏对象时,可以将移动锁定到特定平面(即,更改其中两个轴并保持第三个轴不变)。要激活每个平面的锁定,请选择移动 Gizmo 中心周围的三个彩色小方块。颜色对应于选择正方形时锁定的轴(例如,选择蓝色正方形以锁定 z 轴)。
在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表窗口中,您可以使用 Transform 组件来编辑所选游戏对象的 Transform 属性。有两种方法可以编辑组件中的 Transform 属性值:
使用Transform类来修改游戏对象的位置、旋转和缩放,以及它与父和子游戏对象的层次结构关系。
有关每个成员的完整参考Transform类和用法示例,请参阅TransformAPI 参考。
在 Unity 中,您可以将游戏对象分组为父子层次结构:
在“层次结构”窗口中,子游戏对象直接显示在父游戏对象下方,并在列表中缩进。可以选择折叠图标来隐藏或显示父游戏对象的子游戏对象。
子游戏对象的移动、旋转和缩放与其父游戏对象完全相同。子游戏对象也可以有自己的子游戏对象。一个游戏对象可以有多个子游戏对象,但只能有一个父游戏对象。
游戏对象之间的这些多级父子关系形成了 Transform 层次结构。层次结构顶部的游戏对象(即层次结构中唯一没有父级的游戏对象)称为根游戏对象。
若要创建父游戏对象,请将“层次结构”窗口中的任何游戏对象拖到另一个游戏对象上。这会在两个游戏对象之间创建父子关系。
您可以将游戏对象分组到父子层次结构中。
任何子游戏对象的 Transform 值都相对于父游戏对象的 Transform 值显示。这些值称为局部坐标。对于场景构造,通常使用子游戏对象的本地坐标就足够了。在游戏中,找到它们的全局坐标或它们在世界空间中的确切位置通常很有用。Transform 组件的脚本 API 具有局部和全局 Position、Rotation 和 Scale 的单独属性,并允许您在局部和全局坐标之间进行转换。
提示: 在添加子变换之前,将父变换的位置设置为 <0,0,0> 非常有用。这意味着子变换的局部坐标将与全局坐标相同,从而更容易确保子变换处于正确的位置。
变换的缩放(Scale of the Transform) 决定了meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表以及 Unity 中该网格的大小。网格体在 Unity 中的大小(以及变换的缩放)非常重要,尤其是在物理模拟期间。默认情况下,物理引擎模拟物理系统各个方面的系统,使物体能够正确加速并受到碰撞、重力和其他力的影响。更多信息
请参阅术语表假设世界空间中的一个单位对应于一米。如果游戏对象非常大,它可能会以“慢动作”的形式出现;模拟是正确的,因为您正在观察一个非常大的游戏对象坠落很远的距离。
影响游戏对象缩放的因素有三个:
不要在 Transform 组件中调整游戏对象的 Scale。如果你以真实比例创建模型,则无需更改变换的比例。您还可以调整导入网格体的比例,因为某些优化会根据导入大小进行。在单个网格体的 导入(Import) 设置中执行此作。实例化具有调整后的 Scale 值的游戏对象可能会降低性能。
注意:更改比例会影响子变换的位置。例如,将父变换缩放到 (0,0,0) 会将所有子变换相对于父变换定位在 (0,0,0) 处。
非均匀缩放是指变换中的缩放(Scale) 对x、y和z具有不同的值;例如(2,4,2)。相反,均匀缩放的 x、y 和 z 具有相同的值;例如(3,3,3)。非均匀缩放在少数特定情况下可能很有用,但它的行为与统一缩放不同:
变换