VR拓荒者:如何用开源游戏引擎Gotdot开发VR应用程序

VR/AR
2019
09/04
22:59
映维网
分享
评论

来源:映维网 作者 广州客

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

THE END
广告、内容合作请点击这里 寻求合作
VR
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表砍柴网的观点和立场。

相关热点

由于虚拟现实依然是一个利基市场,所以不少大型游戏开发商都没有涉足这一领域。但诸如Bethesda,Gearbox和育碧等大厂正在不断加大对VR的投入。以育碧为例,这家厂商已经为VR社区带来了《Werewolves Within...
VR
创新科学与生物科技服务供应商VeraSci今天宣布,他们专有的虚拟现实认知能力评估工具(Virtual Reality Functional Capacity Assessment Tool;VRFCAT)已经正式通过了美国食品药品监督管理局(FDA)的临...
VR
加利福尼亚大学圣迭戈分校高通研究所的研究人员庆祝CAVE沉浸式系统Suncave的两周年纪念。
VR
从RTS游戏《Landfall》到潜行动作游戏《TERM1NAL》,再到轨道射击游戏《Coaster Combat》,再加上与《国家地理》合作的《National Geographic Explore VR》,以及基于“安妮之家”并屡获殊荣的《Anne Fran...
VR
在经过了数月的测试后,谷歌于9月3日终于发布了正式版的Android 10,这次发布主要面向谷歌自家的Pixel系列手机。同时谷歌表示将“与多家合作伙伴进行合作,在今年将设备操作系统升级到Android 10或推出搭...
VR

相关推荐

1
3