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