godot-rust を試す
Godot には他の言語で作成したライブラリを呼び出す仕組みが、Godot 3系はGDNative、4系はGDExtension という名称で存在します。 Godot を触っていて、処理速度を懸念するような処理を書いたことはまだ無いですが、興味があったので、Godotから呼び出せるRustライブラリを作成するgodot-rustというパッケージを試してみました。また作成したプロジェクトを Android にエクスポートできるかも試してみました。
詳細はこちらにまとめました。https://github.com/hrk4649/godot_samples/tree/main/hello_godot_rust 今回は Godot 3.5.3、GDNative で試しました。
試したことは次の通りです。
- (Windows環境で) Hello, World https://godot-rust.github.io/book/gdnative/intro/hello-world.html を実行する
- (Windows環境で) Android 向けにライブラリをビルド、エクスポートして、エミュレータまたは実機で実行する。https://godot-rust.github.io/book/gdnative/export/android.html
- ビルドできたターゲットは、aarch64-linux-android、i686-linux-android、x86_64-linux-android でした。armv7a-linux-androideabi はビルドできませんでした。
- Linux環境(VirtualBox上のUbuntu 22.04.3 LTS) では 上記 4ターゲットすべてビルドできました。元のドキュメントもLinux環境を前提にしていました。
- Windows ではクロスコンパイル環境を構築するために、mingw(https://sourceforge.net/projects/mingw-w64/) をインストールしますが、ここで Linux環境と差異が出ているのではと思います。これ以上の追跡はしていません。