Alan Hou的个人博客

Godot从入门到精通基础篇 第三章 创建并导出第一个场景

本章中我们会创建首个场景,然后对基础形状比如箱体进行添加、合并及应用纹理。本章讲解如何使用基础变换以及应用于对象。还会讲解如何管理及分组对象。

学完本章,读者可以:

新建项目及场景

上一章中已经讲解了用户界面中的主要功能,下面就来创建一个可进行导航的简单场景并在其中添加一些具有纹理和颜色的对象。学完这一节后,读者可以:

在场景中添加及合并简单内置对象

稍后我们会看到,可以使用一组基础形状(如圆柱、球形和箱形)、光照(如平行光或点光)、相机和其它内置资源(如人物控制器)创建游戏环境。一旦在当前场景中添加了这些对象后,就可以通过Godot修改它们的属性了。

首先配置场景来创建3D内容。

在选择该选项后,场景树中应该会显示一个名为Spatial的节点。该节点就是场景中其余节点的基础。

接下来创建一个用作地面的立方体。

重命名好立方体后,可以修改一些属性来查看外观的变化。例如:

注意可以使用检查器窗口顶部的搜索框来查找具体的属性。

现在读者习惯了使用检查器修改立方体转换参数,接下来看观察对象和场景修改属性的几种方式。在视窗左上角有一个工具栏,如下图所示。

工具栏中包含了很多工具,其中有三个按钮为快捷方式(从左到右分别是)(1) 移动当前选中对象、(2)旋转当前选中对象以及(3)缩放当前选中对象。这三个按钮也可通过快捷键W、E和R进行使用。

在变换对象之前,我们可以试着平衡和旋转视图:

在对立方体进行变换之前,我们先来看一个有用的坐标轴工具(gizmo)。这个工具见下图,位于场景视图的右上角,可用于从不同的坐标轴和视角查看场景。

在坐标轴工具中点击x、y或z轴,可看到相应坐标轴的场景。我们来操作一下:

讲解完以上下知识,让我们回到左上角工具栏,测试那三个用于转换节点的按钮。

首先试用移动工具:

连续拖拽红绿蓝手柄时,可以看到对象会延相应坐标轴移动。

下面再试用旋转工具:

此时可以看到在该对象周围有红绿蓝三个圈。这些手柄用于拖拽延指定坐标轴(x、y或z轴)旋转所选对象。

手柄的颜色表示对象围绕旋转的坐标轴。例如,通过拖拽绿色手柄,可以延y轴旋转对象。同样蓝色和红色手柄分别用于延z和x轴旋转。

在拖拽这些手柄时,我们可以看到检查器中的对应旋转属性也发生了改变。

下面来试用缩放工具:

手柄的颜色表示对象缩放所延的坐标轴。例如,通过拖拽绿色手柄,可延y轴缩放对象。蓝色(z轴)和红色(x轴)手柄也类似。同时注意拖拽中间空白区时,会进行统一变形。也就是说,缩放在3条轴(x、y和z轴)上是一致的。

至此,我们对一个新的立方体进行了多次转换,可能会希望重置其属性为初始创建时的。可以使用平移、旋转和缩放属性右侧的圆形箭头来实现,参见下图。

更多有关如何使用Godot软件的信息及小贴士,可以查阅Godot的官方文档。

添加颜色和纹理

这时在场景中就有了一个箱体,可以通过视窗查看,那么在场景中再加两个对象就更好了:一个是可以预览场景的摄像机,另一个是光照。

在添加颜色和纹理之前,我们将箱体重置为原始大小,并将缩放属性设置为(1,1,1):

重置完箱体的转换属性后,下面来加摄像机:

游戏的效果就是这样。现在我们在预览窗口中只能看到一个蓝色的天空,这是因为摄像机并未指向我们之前所创建的箱体。通过屏幕右侧的检查器窗口,也可以看到摄像机的各个属性。

其中可以看到摄像机所处的位置(x=0,y=0,z=0)以及它尚未进行旋转。

注意可通过选择View | 2 ViewPorts或按下CMD/CTRL + 2快捷键同时显示在视窗和一场景摄像机中的视图,参见下图。

下面为场景添加光照:

完成以上操作后,我们会更改光照的方向让光位于立方体的上方向下照。

对光照的位置满意之后,可以旋转视图从不同角度查看该对象,以及通过预览查看场景。

这样光照和立方体都设置好了。便我们希望摄像机出现在场景中,从上方来看立方体。相应地我们会通过检查器修改摄像机的属性来实现这一功能。注意我们还会在场景中添加多个相机,在场景不同区域中显示由它们捕获的图像,稍后会学习这一功能。

让它位于立方体的上方朝下拍摄,修改转换设置如下:

做完以上修改,场景应该会如下图所示。读者可能注意到在主视窗中,摄像机的范围通过类似金字塔的形状表示,在我们的场景中包裹着立方体。这表示立方体位于摄像机的拍摄范围内。我们可以在视窗右下角的摄像机预览窗口中进行查看。

配置好摄像机后,我们来修改光照的属性。我们会修改其颜色和强度,所做的修改如下:

有些读者可能不熟悉RGB码,它是红绿蓝的英文缩写,可以看成一个指定红、绿、蓝含量的调色板,用于创建新的颜色。在这个窗口中,每种颜色的含量是一个0到255之间的数值。所以如果使用(R=255, G=0, B=0),则会得到红色。

修改好光照的颜色后,会看到箱体变成了蓝色。切换成预览窗口后也是同样的。

使用箱体创建地面

至此,我们的场景中已经有了立方体、摄像机以及(淡蓝的)光照。但我们希望在场景中建造一个人物行走的地面,甚至是跳跃或在台阶上行走。创建这个环境的第一步是创建地面。完成这一任务我们可以回收已创建的箱体,修改其尺寸和外观如下:

现在已经重置好了地面的大小,添加纹理会让其显得更为真实。我们会根据资源包中已含有的纹理为箱体设置一个新材质。

要将图案修改为重复(平铺)多次,可进行如下操作:

添加多色箱体和台阶

在对场景新增对象前,我们修改下光照的属性,使用其可以照亮场景。

完成以上操作之后,我们会使用复制快速添加一系列的箱体:

下面对这个立方体设置颜色,流程类似于地面的图案:

创建好了第一个带颜色的立方体,我们可以连续复制快速创建相似立方体的流程:

和前面一样,我们为其增加绿色:

我们再复制一个绿色立方体(默认其名称为greenBox2)并延x轴进行移动。

此时就有了三个不同颜色的箱体,我们可以通过摄像机镜头来查看场景,请将摄像机的位置调整为(0, 10, 0),通过在主视窗中点击预览图标左侧的复选框开启预览模式,现在就可以从上方查看场景了。

创建简单的台阶

我们已经学习了如何创建对象,再来学习一些快速创建场景的快捷方式。我们借用通过箱体创建台阶的简单示例来进行学习:

管理及搜索资源和对象

在前面我们学习到可以使用搜索窗口和关键词来在项目和场景中查找指定的资源和对象。下面就在场景树中试试搜索功能吧:

类似地,如果输入green一词,会列出所有名称中包含green的对象。

我们再来看如何在文件系统栏进执行搜索:

同样可以在检查器标签中执行搜索,来查看节点的属性:

另一个有趣的功能是对节点分组。比如我们创建了台阶。可能会需要整体而非逐一移动这些台阶。在Godot中,可以通过创建父节点组合这些台阶,这在场景树视图中经常称为空间节点(3D场景)。下面学习如何实现:

保存场景

至此我们就可以保存场景了:

默认场景保存在当前项目中。可以使用文件系统栏的搜索框查找项目中的所有场景。

构建和导出场景

这一部分中,我们会导出场景,让其可在Godot之外可视化显示。需要导入一些Godot来导出场景以及配置导出设置。

下面就开始实操:

出现这个消息是因为Godot需要在导出场景前安装导出模板,可通过如下步骤进行安装:

安装完成后,只需再指定导出的场景即可完成导出:

指定好了主场景后就可以导出项目了。

也导出供web使用,但导出的文件为Web Assembly,需要托管在服务器,虽然支持,但本文中不做探讨。

小结

本文中,我们学习了Godot的一些核心功能。读者对软件更为熟悉了并且知道如何以及为何使用各种视图。我们学习了如何添加和转换内置资源,包括立方体、光照和摄像机。我们还了解通过导入或创建材质来修改箱体的外观。

根据所学知识,我们创建一个简易的台阶和地面。我们学习了在项目中管理资源的一些方式,有(使用空间节点)进行分组和在各搜索窗口进行搜索。

最后还讲解了如何将场景导出为可执行文件。

更多内容:Godot从入门到精通系列文章

退出移动版