最近何度か分けて書いていましたが、きりがよいところまで確認できたのでまとめます。
参考のため、Godot Engineのインストールから書きました。
- 1. インストールからビルドまでの手順
- 1.1 Godot Engine、xcodeをインストールする
- 1.2 GodotVisionのリポジトリをコピーする
- 1.3 GodotVisionExample-main/Godot_Project を指定してGodot Engineでインポートする
- 1.4 godot-joit_macos_editor.framework が開けないエラーメッセージを解決する
- 1.5 Godot EngineでiOSエキスポート向け設定を行う(1回のみ)
- 1.6 xcodeでGodotVisionExample.xcodeprojがあるフォルダを指定して開く
- 1.7 (実機) Provisioning Profileを生成してからビルドする / (シミュレータ) そのままビルドする
- 1.8 動作確認する
- 2. その他Tips
- 3. おわりに
確認した環境
・Mac OS Sonoma14.5
・xcode 15.4
・Godot Engine v4.2.1 stable
1. インストールからビルドまでの手順
1.1 Godot Engine、xcodeをインストールする
こちらからインストールします。
apps.apple.com1.2 GodotVisionのリポジトリをコピーする
このリポジトリ「GodotVisionExample-main」をローカル環境にコピーします。
1.3 GodotVisionExample-main/Godot_Project を指定してGodot Engineでインポートする
「Godot Engineでプロジェクトをインポートする」は「Unityでプロジェクトを開く」と同じ意味です。
Godot Engineを開くと、最初にGodot Project一覧画面が表示されます。ここでimportボタンを押します
project.godotが入っているフォルダまで開いて、Select Current Folderを押します。
1.4 godot-joit_macos_editor.framework が開けないエラーメッセージを解決する
今回のGodot Engineプロジェクトを開くとエラーメッセージが出ます。解決方法はこちらをご覧ください。
1.5 Godot EngineでiOSエキスポート向け設定を行う(1回のみ)
こちらに書いた通りです。Godot EngineではUnityでの「ビルド」を「エキスポート」と呼びます。
www.crossroad-tech.com
ここまで実施したら、次はxcodeを開きます。
1.6 xcodeでGodotVisionExample.xcodeprojがあるフォルダを指定して開く
xcodeで開くと、このようなフォルダ構成になります。Package Dependenciesは開いた後で自動的に追加されます。
パッケージインストールか、何かのindex整理なのか、初回に開いた時のみ、5分くらい処理が走っていました。
当初xcode15.2で試したときは上記のPackage Dependenciesが1つしか表示されずビルドしてもエラーになりました。xcode15.4にしたら解決したのですが、別の要因かもしれません。
1.7 (実機) Provisioning Profileを生成してからビルドする / (シミュレータ) そのままビルドする
公開されているxcodeプロジェクトは、そのままビルドして動作確認ができました。シミュレータの場合、Provisioning Profileで警告マークがつきますが、シミュレータでの動作確認は可能なので無視して問題ありません。
1.8 動作確認する
アプリが開くと、このような画面になります。
水平方向に5つのボタンがあり、Reload, Hello, Physics, Skeletons, CSG と書かれています。
HelloからCSGのボタンは、4つの独立したシーン (ここではUnityのsceneと同義) を読み込むようになっています。
このように、ボタンを押すことで異なるシーンを確認できます。
xcodeプロジェクトの中に入っているContentView.swiftを見ると、ある程度処理を追うことができます。
2. その他Tips
2.1 Godot EngineでVisionOSアプリを開発するためのドキュメントサイト
こちらに一通り書いてあります。前半は今回私が書いたようなビルド手順です。後半はカメラ、インタラクション、audioなどの各種機能をどうやって使うか、ロードマップなどが書かれています。
2.2 GodotVisionとGodotVisionExampleリポジトリの違い
実は、公式サイトからはVisionOS開発について、少なくとも2つのリポジトリが公開されています。
GodotVisionは、Godot as a Library、ヘッドレスという言い方で説明できます。xcodeネイティブプロジェクトからGodot Engineの機能を呼び出してVisionOSアプリを開発するものです。Realitykitでレンダリングされます。
GodotVisionExampleは、xcode向けサンプルプロジェクトと、Godot Engineのプロジェクトが入っています。この記事では、このリポジトリにあったxcode向けサンプルプロジェクトを試しました。
これからになりますが、中に入っているGodot Engineのプロジェクトを書き換えることで好きな開発ができるはずです。
2.3 xcodeでParse Error: [ext_resource] referenced non-existent resource atが出る
ビルドまでの手順でxcodeをいきなり開いていると発生します。Godot EngineでGodot.projectを開いてからxcodeを開くと解決します。
3. おわりに
うまく行った手順を書いているので比較的あっさりしていますが、実際はプロジェクトを開くタイミングか開く位置の問題か、多数のエラーが出ていました。
途中、Apple Developer Programが必要かもと思って契約しましたが、たぶん関係なくできると思います。
中身の細かい処理についてはGodot Engineのgdスクリプトになるため、どこか機会があれば解説します。