讲解-用基本体创建结构
1.概述
本教程是一个练习,您将在其中构建由多个图元组成的建筑GameObject。该练习将使您牢牢掌握如何创建和操作GameObject,并可以练习在场景中导航。
![具有地板,屋顶和墙壁的立方体形3D结构。 地板是一叠依次较小的瓷砖形立方体基元的堆栈,在所有四个侧面上都形成了阶梯。 屋顶是地板的倒影。 墙从每个角向结构中心是对角线,在中心留有开放空间。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/bd0e24b1-63ee-4cc7-adbc-46ac13e3d1d1_cube3d.png)
在构建此结构时,可能需要更改“场景”视图以确保GameObjects对齐。
2.创建一个空的GameObject
一个空的游戏对象是可以在层次结构中创建的占位符对象。它在场景中没有可见的表示形式,并且可以充当其他GameObject的容器(其中将在后面进行解释)。
1. 右键单击层次结构,然后选择创建空。
![选择了“创建空”的“层次结构”上下文菜单。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/3b2f3dea-950d-45fc-96b8-ae3873745270_createempty.png)
2. 将此GameObject重命名为Inspector中的Monument。
![“检查器”窗口的顶部,显示选定游戏对象的名称为纪念碑](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/a9a4c3cf-d209-49aa-b3a5-3ee3157adfb7_1.png)
3. 在“场景”视图中选择此新GameObject。在检查器中,通过选择右侧的三个点,然后选择“重置位置”来重置位置。这会将GameObject的中心位置设置为0,0,0,使其与场景的中心对齐。
![在“检查器”窗口的“变换组件”中,选中了三个点,并在结果菜单中显示了“重置位置”。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/742faed1-df2d-4692-a895-c32a8fd18f47_01.png)
![在“场景”视图中选择的空游戏对象(显示Gizmo)重置为0,0,0位置](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/dad242ad-f281-4fa9-b7f0-1ec4a2408d7d_001.png)
3.创建步骤
在层次结构中,右键单击Monument GameObject,然后选择3D Object> Cube以创建一个新的多维数据集作为Monument的子级。
![选择了Monument GameObject的Hierarchy窗口,显示了上下文菜单,其中选择了3D Object,并且在子菜单上列出了图元。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/ef622ccd-4233-4979-a664-f59b7ed34c73_0001.png)
2. 将此新GameObject重命名为Floor。
![将楼层游戏对象显示为纪念碑游戏对象的子代的层次结构](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/04840b69-0fb9-4e86-9d0f-eed46f7c06a3_Floor.png)
3. 右键单击Floor GameObject,然后选择Duplicate 。(快捷方式:选择楼层,然后按Ctrl-D。)将楼层重复六次,这样您便拥有原始楼层和七个副本,总共八个楼层是Monument的子级。
![层次结构显示楼层和七个副本作为Monument GameObject的子级](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/a2796c13-5b1c-49f7-9072-7127c46fe799_Floor1.png)
4.转变步骤
在这些任务中,您将更改每个Floor对象的Transform Component值,以创建阶梯效果。
1. 选择第一个Floor子对象,然后在检查器中更改“变换组件”值,如下所示。
![检查器窗口,第一个Floor GameObject的“变换”组件,其“缩放”设置为X = 20,Y = 0.2,Z = 20,并且所有“位置和缩放”设置为0](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/0cf074f2-e443-464c-b002-87e9c577c784_100.png)
变换地板
2. 使用以下指示的值对其余的楼层对象执行相同的操作。
Floor(1)GameObject的值
![转换地板(1)的坐标:位置0、0.2、0; 旋转0,0,0; 等级18、0.2、18](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/9594b505-aac5-4022-8bb6-59c3ebaa316f_99.png)
变换地板(1)
Floor(2)GameObject的值
![转换地板(2)的坐标:位置0、0.4、0; 旋转0,0,0; 比例16、0.2、16](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/340bb3c3-867f-4a2b-a975-1737dbeed6b4_98.png)
转换为地板(2)
Floor(3)GameObject的值
![转换地板(3)的坐标:位置0、0.6、0; 旋转0,0,0; 比例尺14、0.2、14](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/0e4af055-9fc7-4ef9-b358-c4a957858213_97.png)
转换为地板(3)
到现在为止,您应该具有类似以下内容:
![带有四个Floor子级的Monument游戏对象,每个子级都比下面的子级小和高,以创建带有四个阶梯的正方形瓷砖形状的对象。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/9b7bc4b6-981c-47f0-80c8-a2ea097c1903_96.png)
Floor(4)GameObject的值
![转换地板(2)的坐标:位置0、0.8、0; 旋转0,0,0; 比例尺12、0.2、12](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/3640c59e-46d8-44d0-bdfe-b36a197c29e0_95.png)
转换为地板(4)
Floor(5)GameObject的值
![转换地板(2)的坐标:位置0、1、0; 旋转0,0,0; 等级10、0.2、10](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/6a8c7eb7-1019-40aa-99d9-003d29c92d7f_94.png)
转换为地板(5)
Floor(6)GameObject的值
![转换楼层(6)的坐标:位置0、1.2、0; 旋转0,0,0; 比例8、0.2、8](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/936b46c6-d91f-498d-be94-bf14907cd5b1_93.png)
转换为地板(6)
Floor(7)GameObject的值
![转换地板(2)的坐标:位置0、1.4、0; 旋转0,0,0; 6、0.2、6级](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/d289e69c-3c76-4a0f-b5fb-e419c5f179db_92.png)
转换为地板(7)
您现在应该拥有纪念碑的台阶。
![纪念碑游戏对象带有八个可见的楼层子对象,每个子对象小于并高于下面的子对象,以创建具有八个阶梯的正方形瓷砖状对象。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/f8350ad7-b999-4b28-9510-91b12a7b02e5_91.png)
5.创建墙
1. 创建另一个Cube基本体作为Monument GameObject的子代,并将其重命名为Wall。
![显示Wall GameObject作为Monument GameObject的子代的层次结构](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/8c6d3b53-52f9-4cf3-99ef-b21d2b00b86b_90.png)
2. 如下所示更改检查器中的值。
![Wall GameObject的变换组件,显示位置为-6.5、5 -6.5; 在0、45、0处旋转; 缩放为0.2、10、10](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/1293a205-5f8e-4c6b-be97-1db43e074044_89.png)
现在旋转墙,以使其与地板成对角线。
![纪念碑游戏对象有8个楼层子项和1个Wall子项; Wall是一个垂直的瓷砖形对象,其范围从最宽的Floor GameObject的左后角到最窄的Floor GameObject的左后角。](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/fc9f77f7-50cd-4f49-9ff8-2c3e7f1f55fa_88.png)
3. 将墙壁重复三遍,然后如下图所示更改“变换分量”值。
![将墙壁复制三遍,然后更改“变换分量”值,如下所示](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/897fc150-800e-4d99-9637-71358972b4c6_87.png)
墙(1)游戏物体
![转换楼层(2)的坐标:位置6.5、5、6.5; 旋转0、45、0; 比例尺.2,0.10,10](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/b646857e-4823-45ff-ad1f-8f99e768413b_86.png)
墙面变形(1)
墙(2)游戏物体
![转换楼层(2)的坐标:位置6.5、5 -6.5; 旋转0,-45,0; 比例0.2、0.10、10](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/53375e91-12c9-42e7-8825-836eba9527bb_85.png)
墙面变形(2)
墙(3)游戏物体
![转换楼层(3)的坐标:位置-6.5、5、6.5; 旋转0,-45,0; 比例0.2、0.10、10](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/97f86035-8207-4e60-a387-908b9bbc3545_84.png)
墙面变形(3)
现在,您将拥有4个45度角的墙。
![垂直墙已添加到Monument GameObject](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/3bbe73ba-40e6-465e-a7a7-20668915f511_83.png)
6.创建屋顶
1. 创建一个新的空GameObject作为Monument GameObject的子代,并将其命名为Platform。
![新平台空GameObject](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/22ef7a53-5c45-403f-9c60-b4e4670385ba_82.png)
2. 将所有楼层对象拖到平台GameObject中。这将创建一个称为嵌套GameObject的对象,其中对象作为一个GameObject的子对象以多个级别嵌套。在这种情况下,Monument GameObject是父级,而所有Floor GameObjects是其子级。这样将对象分组在一起时,您可以一起操纵它们,并在保持它们之间的关系的同时复制整个组。
![所有楼层对象都拖到空的GameObject中](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/d6f7cb94-699e-4d54-9a9d-a3e08ef0fb39_81.png)
3. 复制平台GameObject。重复的平台将包含重复的子对象。将此平台副本重命名为Roof。
4. 选择屋顶,然后使用移动和旋转工具将屋顶放置在结构上。尝试将“屋顶”放置在“场景”视图中,而无需更改“变换组件”中的数字,但是完成后,这些数字应看起来如下图所示。
![完成的纪念碑GameObject](https://connect-cdn-public-prd.unitychina.cn/h1/20200925/learn/images/dffe1cd7-046f-4f22-ac2b-f4b10eec32a3_80.png)
7.后续步骤
您已经在Unity中创建了纪念碑!在学习过程中,您学习了一些新概念并实践了一些旧概念,例如:
-
创建一个空的GameObject作为其他GameObject的容器。
-
复制游戏对象。
-
使用变换组件来操纵子GameObject。
-
将GameObjects嵌套到多个级别。
-
-
使用“移动和旋转”工具来变换子GameObject。
-
接下来,通过对组件做更多的工作,您将了解一下GameObjects的强大功能。