为 Oculus Quest 开发

前言

本教程介绍的是如何使用 Godot Oculus Mobile 插件入门 Meta Quest 开发。

在开始之前, 你有2件事情需要做:

首先你需要完成 为 Android 导出 页面上的步骤. 这将引导你安装Godot导出到Android设备所需的工具集.

Next you need the Quest plugin. You can get it from the Asset Library or manually download it from here.

设置 Godot

要开始,请打开 Godot 并创建一个新项目。

../../../_images/quest_new_project.png

确保选择 GLES2 渲染器, 由于Quest的GPU, 这个后端更适合Quest.

将 Oculus Mobile 素材中的 addons 文件夹复制到你的 Godot 项目中,你的项目树应该类似于这样:

../../../_images/quest_project_tree.png

现在你可以开始构建主场景:

  • 首先添加一个 ARVROrigin 节点.

  • 然后在原节点上添加三个子节点, 一个 ARVRCamera 和两个 ARVRController 节点.

  • 将控制器ID 1分配给第一个 ARVRController 并将其重命名为 LeftHand .

  • 将控制器ID 2分配给第二个 ARVRController 并将其重命名为 RightHand .

  • 最后添加一个 MeshInstance 作为我们第一个 ARVRController 的子节点, 并创建一个盒子形状, 调整盒子的大小, 使每个边都设置为 0.1. 现在复制 MeshInstance 并将其移动到第二个 ARVRController 节点. 这些节点将代表我们的控制器.

../../../_images/quest_scene_tree.png

现在给主节点添加一个脚本, 并添加以下代码:

extends Spatial


var perform_runtime_config = false


onready var ovr_init_config = preload("res://addons/godot_ovrmobile/OvrInitConfig.gdns").new()
onready var ovr_performance = preload("res://addons/godot_ovrmobile/OvrPerformance.gdns").new()


func _ready():
    var interface = ARVRServer.find_interface("OVRMobile")
    if interface:
        ovr_init_config.set_render_target_size_multiplier(1)

        if interface.initialize():
            get_viewport().arvr = true


func _process(_delta):
    if not perform_runtime_config:
        ovr_performance.set_clock_levels(1, 1)
        ovr_performance.set_extra_latency_mode(1)
        perform_runtime_config = true

将项目导出到Quest之前, 您需要做三件事.

首先进入项目设置, 确保主场景是运行的场景,Godot不要求你在导出时设置这个.

../../../_images/quest_project_settings.png

打开导出菜单,配置一个新的 Android 导出。如果你还没有看过 为 Android 导出 请先去看一下,否则屏幕上应该会显示红色的消息。

如果你这样做了, 可以继续前进, 并对导出设置进行一些小的修改, 首先将XR模式改为 Oculus Mobile VR . 然后将自由度模式改为 6DOF .

../../../_images/quest_export_settings.png

现在保存并关闭导出窗口.

设置您的任务

按照这些说明设置你的开发设备。

设置好设备并连接后,点击出现在 Godot 编辑器右上角的 Android 徽标。点击后,会对项目进行导出并在连接的设备上运行。如果你没有看到 Android 徽标,请确认你在“导出”对话框中创建了 Android 导出预设,并已将其标记为可运行的

上面的内容只是让你的项目在Quest上运行的最低限度, 并不会很令人兴奋.Holger Dammertz为Quest制作了一个很棒的工具包, 其中包含了很多场景, 可以帮助你走上成功之路, 包括非常漂亮的控制器网格.

You can find the toolkit here.

If you want to help out with improving the plugin please join us here.