🥽

【Godot Engine 4】MetaQuest2/QuestProで動作するVRアプリを作る

2023/09/16に公開

はじめに

Godot EngineでVRアプリを作ってみたかったので、とりあえずビルドして実機でアプリを動かすまで試してみました。
初めてのGodotEngine開発なので間違っている箇所や至らない点があるかと思います。
何かありましたらコメントやX(Twitter)などでご連絡いただけると嬉しいです。

QuestProでの動作デモ

https://x.com/DMiyamo3/status/1702312145512542334

開発環境

環境構築

Godot Engineのインストール

今回はGodot Engine 4.0 (2023-Mar-01) を使用しました。
公式サイトのダウンロードアーカイブからダウンロードできます。

GodotEngine v4.1.1(最新安定バージョン)でも動作しました。こちらの方が良いと思います。
ダウンロードはこちらから:https://godotengine.org/
2023年9月20日追記

GodotEngine には通常版とC#をサポートしている.NET版があります。現状(2023年9月16日現在)では、GodotEngine 4系の .NET版では Android ビルドができないため、今回は通常版を使用しました。

godot-xr-template のダウンロード

godot-xr-template は Godot Engine でVRアプリを作るためのテンプレートです。
VR用の設定がされているので、これを使用するとVRアプリを作るときに便利です。
今回は godot-xr-template 4.0.0 for Godot4.0 を使用しました。

godot-xr-template 4.0.0 for Godot4.0 では下記が含まれています。

  • Godot XR Tools v4.1.0
  • OpenXR Loaders v1.0.0

JAVA11 の設定

Android ビルドに JAVA11 が必要です。今回は OpenJDK を使用しました。

  1. OpenJDK のダウンロード
    https://jdk.java.net/archive/ から 11.0.2 (build 11.0.2+9) をダウンロード
  2. 環境変数 JAVA_HOME に JDK ディレクトリ を追加
  3. PATH に %JAVA_HOME%/bin を追加

Godot Engine 上でのビルド設定

GodotEngine で godot-xr-template プロジェクトを開く

Androidビルドテンプレートのインストール

  1. プロジェクト設定 > Androidビルドテンプレートをインストール
  2. 確認画面 から テンプレートの確認へ
  3. エクスポートテンプレートマネージャー > ダウンロードしてインストール
  4. プロジェクト設定 > Androidビルドテンプレートを開くと確認画面が開く > インストール

その他設定

  1. エクスポートの設定 > MetaQuest プリセット を選択 > 署名付き > チェックを外す
  2. debug.keystore のパスを指定する : エディタ設定 > Export > Android > Debug Keystore > パスを指定 (自分の環境では C:/Users/[UserName]/.android/debug.keystore )
  3. (debug.keystore がない場合は作る→ https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_android.html )

ビルド

  1. Export > MetaQuest(Runnable)を選択 > Export Project でビルド開始
  2. 生成された apk を MetaQuest2/QuestPro にインストール(adb install / MetaQuestDeveloperHub など)

Export画面で Export All を実行するとプリセットにある全てのプラットフォームに対してビルドが行われます

ビルド設定が正しく、かつ、MetaQuest2/QuestProをPCに接続していれば、Remote Debug が使用できます。
Remote Debug を実行すると接続している実機にapkがインストールされてテストすることができます

画面がちらつく場合の対処

現象

https://twitter.com/i/status/1702257518926545239

対処

Project設定 > 表示(Display) > ウインドウ > 垂直同期 > V-Sync Mode > Disabled

おわりに

X(Twitter) で「GodotEngine触ってみる」というスペースを開きながらした作業を今回の記事に整理してまとめています。下記スレッドに一連の(紆余曲折した)投稿がまとまっています。興味ある方はこちらもどうぞ。
https://x.com/DMiyamo3/status/1701626810944110985

参考

GodotEngine: https://godotengine.org/

FRAME SYNTHESIS : https://framesynthesis.co.jp/

Discussion