为 Oculus Quest 开发
前言
本教程将介绍如何使用官方Godot插件为 Oculus Quest 开发.
在开始之前, 你有2件事情需要做:
首先你需要完成 为 Android 导出 页面上的步骤. 这将引导你安装Godot导出到Android设备所需的工具集.
接下来你需要Quest插件. 你可以从素材库中获得它, 或者从 这里 手动下载.
设置Godot
要开始, 请打开Godot并创建一个新的项目.
确保选择 GLES2
渲染器, 由于Quest的GPU, 这个后端更适合Quest.
将Oculus Mobile资产中的addons文件夹复制到你的Godot项目中, 你的项目树应该类似于这样:
现在你可以开始构建主场景:
首先添加一个 ARVROrigin 节点.
然后在原节点上添加三个子节点, 一个 ARVRCamera 和两个 ARVRController 节点.
将控制器ID 1分配给第一个 ARVRController 并将其重命名为
LeftHand
.将控制器ID 2分配给第二个 ARVRController 并将其重命名为
RightHand
.最后添加一个 MeshInstance 作为我们第一个 ARVRController 的子节点, 并创建一个盒子形状, 调整盒子的大小, 使每个边都设置为 0.1. 现在复制 MeshInstance 并将其移动到第二个 ARVRController 节点. 这些节点将代表我们的控制器.
现在给主节点添加一个脚本, 并添加以下代码:
GDScript
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不要求你在导出时设置这个.
打开导出菜单,配置一个新的 Android 导出。如果你还没有看过 为 Android 导出 请先去看一下,否则屏幕上应该会显示红色的消息。
如果你这样做了, 可以继续前进, 并对导出设置进行一些小的修改, 首先将XR模式改为 Oculus Mobile VR
. 然后将自由度模式改为 6DOF
.
现在保存并关闭导出窗口.
设置您的任务
最后拿出手机, 当你拿到Quest时, 需要在手机上安装一个Oculus应用, 并将其与Quest链接, 启动Oculus应用, 按右下角的设置齿轮, 选择你的Quest:
选择”More Settings”[更多设置], 选择”Developer Mode”[开发者模式]:
现在开启开发者模式:
这让你可以将游戏部署到Quest中.
用提供的USB线将Quest连接到电脑上. 把Quest打开, 它可能会给出一些对话框, 让PC允许部署应用程序. 现在点击Godot窗口右上方的Android小按钮, 应该是可见的. 它应该会构建你的游戏并将其导出到Quest.
上面的内容只是让你的项目在Quest上运行的最低限度, 并不会很令人兴奋.Holger Dammertz为Quest制作了一个很棒的工具包, 其中包含了很多场景, 可以帮助你走上成功之路, 包括非常漂亮的控制器网格.
你可以在这里找到工具包 here .
如果你想帮助改进这个插件, 请加入我们的行列 here .