VR拓荒者:如何用开源游戏引擎Gotdot开发VR应用程序
来源:映维网 作者 广州客
Oculus开发者社区总是有 VR 拓荒者分享自己的最佳实践与经验教训。日前,Oculus内容团队的开发者关系工程师Eric Cosky推送分享了由Bastiaan Olij撰写的一篇关于开源 游戏 引擎Godot的文章,并介绍了所述工具的开发缘由,以及你可以如何利用这个开源游戏引擎来开发属于自己的VR应用程序。下面是映维网的具体整理:
1. 简要介绍Godot
Godot是资深游戏开发者Juan ‘Reduz’ Linietsky和Ariel ‘Punto’ Manzur的心血结晶。这个引擎是在2014年2月作为开源项目托管至GitHub,并且提供了非常开放的MIT许可协议。这个引擎自2018年初开始支持大多数主要的VR头显,而现在已经支持AR。即将发布Godot 3.2版本将兼容Oculus Quest。
Godot基于OpenGL的引擎,具有HDR,PBR材质和全局照明等现代功能。我们目前正在为Vulkan重写引擎,而这将显著提高Quest的性能。新版本有望会在2019年底或2020年初与大家见面。
2. 如何开始
团队目标是尽可能简化开发过程,所以我们下面将介绍为Oculus Rift创建一个真正VR解决方案的过程步骤。
要下载Godot,你只需访问GodotEngine.org。目前可用的版本是3.1.1,这对我们今天的目的来说已经足够。你会注意到有Windows,Mac OS X和Linux版本,但由于我们是为Oculus Rift开发内容,我们将使用Windows版本。另外,你需要的是64位版本,Godot Oculus Rift插件只支持这种架构。
你同时可以选择采用GDScript的标准版Godot或支持C#的版本。在本文中,我们将使用GDScript,因为我们可以避免设置C#环境所涉及的额外步骤。但如果你对C#更熟悉,Godot网站提供了有用的文档,以及GDScript和C#的一系列并排示例。GDScript本身是一个可靠的选择,因为这种语言深深地集成在引擎之中,它非常容易学习,并且提供了优秀的文档说明。
下载文件包只是20Mb多一点(我不是在开玩笑)。解压缩zip文件,你会发现里面有一个可执行文件。这将打开Godots项目管理器,而它会检测到你没有任何项目,这时请取消对话框。
创建一个新项目,这会打开一个对话框并询问你空白文件夹的创建位置。你同时可以选择OpenGL ES 3.0渲染管道和更简单的OpenGL ES 2.0管道。我们选择3.0选项,但你可以随时更改这个选项。要打开新项目,请点击Create & Edit。
一开始的时候,这个界面看起来可能有点吓人,但我们会快速讲解重要的地方。
Godot的主要工作原理是将你的游戏组织成场景,完整的游戏将包含大量可以嵌套或实例化多次的场景,但对于今天的演示,我们只有一个。场景组织成树状结构,需要根节点启动。请点击左侧面板中的3D场景按钮,这时它将变为当前场景的导航窗口:
这里只有一个条目,亦即我们所谓的Spatial的根节点。Spatial节点仅表示3D空间中的位置,它可帮助你组织场景。选中这个选项后,你会看到窗口右侧发生变化。你在这里可以找到检查器,而它提供所选节点的所有设置:
我在上面的截图中展开了Transform面板,它允许我们访问节点的平移(位置),旋转和缩放。现在,单击左侧的空间节点,如果字段具有焦点,你应该能够编辑名称(或者你可以右键单击节点并选择重命名)。我们将这个节点重命名为“Main”,并通过按下键盘的CTRL-S来保存场景,或者是从“Scene”菜单中选择“Save”。
Godot中的保存对话框已基于根节点命名我们的场景,现在我们很乐意将其保存在项目的根文件夹中。
在开始构建演示内容之前,我们需要添加我们的Oculus Rift插件。单击上方中间工具栏的AssetLib,然后在搜索栏中搜索Oculus。
点击Download。在下载后,你可以选择安装:
这十分重要。安装对话框将为你提供下载插件和大量支持文件的选项。这对于一个空白项目而言不太重要,但我建议只选择“addons”文件夹下的所有内容,否则它可能会覆盖你自己的文件:
点击安装,然后你就能成功为你的项目添加Oculus模块。只需点击上方工具栏中的3D即可退出AssetLib。我们的模块附带了一些便利的支持文件。选择主节点后,请点击链接按钮,它将允许我们将另一个场景添加到我们自己的场景中。对话框向我们显示项目中的场景列表,我们想要的是oculus_first_person.tscn场景:
点按打开并添加此项,你将在我们的场景树中看到一个新条目:
你同时会在3D视口中看到一系列的元素,一个camera,一些控制器等等:
我们的第一人称场景是一个非常简单的起点,没有任何逻辑。我们现在需要编写几行代码来让Godot知道我们想切换到VR。请在场景树中再次选择Main节点,然后按右上方的创建脚本按钮:
Godot将再次提出脚本名称和位置的建议,我们对默认值感到满意,所以我们点击Create。主界面现在将切换到脚本编辑器。请注意,上方工具栏选择了“Script”,而就像之前一样,你可以通过点击3D导航回3D视图。但是,我们会继续保留在脚本选项卡中。
你会看到默认代码和一些评论。注意,名为_ready的默认函数非常重要。当我们的场景完全加载并实例化时,Godot会自动调用它,并允许我们编写一些初始化代码。粘贴以下代码:
GDScript是一种受Python启发的语言,遵循相同的缩进规则,所以请确保缩进是一致的。重要的是前面几行。你可以通过ARVRServer访问与AR和VR相关的所有内容,所以我们要求它寻找Oculus驱动程序。如果成功,我们告诉主视口它应该作为我们的VR视口,其余你可以通过项目设置进行发掘。
点击编辑器右上方的播放按钮,因为这是我们第一次运行项目,Godot将询问你是否要选择主场景。选择“Select”并选择主场景。现在我们就有了一款可以运行的VR游戏。这是一个空白的世界,但我们可以开始进行填充。
3. Oculus Go/Quest?
上面的示例说明了如何入门Oculus Rift,但Oculus Go和Oculus Quest的支持即将与大家见面,并且可以通过Beta版本进行测试。开始的环节几乎一模一样,你只是需要不同的驱动器而已。具体来说,Godot的代码可以移植,所以为Rift开发的Godot游戏可以支持Quest(但性能可能存在明显的差异)。
Godot同时有着出色的Android集成。你将需要Android SDK,但一旦开始运行,你只需将Go或Quest接入PC,并在Godot IDE中点击右边的运行即可。你甚至不需要Windows,你可以在Linux运行整个环境。需要注意的是,Go和Quest支持需要等到Godot 3.2版本。
4. 资源
上面已经介绍了如何开始开发一款实际的游戏。下面我们想向你推荐一些有用的资源:
我们提供了详细的Godot Documentation。我们提供了一个特别的GitHub Repository,其包含所有驱动的最新源代码,以及一系列可直接用于项目的场景。你可以浏览专门的Godot YouTube频道。我们为Rift提供了广泛的演示文档。如果希望进一步了解Godot的潜力,你可以看看我们在2019 Desktop的分享。
你同时可以通过Facebook,Reddit,IRC和Discord关注Godot社区。更多信息请访问Godot官网。
原文链接:https://yivian.com/news/65869.html