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環境と差異が出ているのではと思います。これ以上の追跡はしていません。
Rust で出力したメッセージ

学習,調査android,godot,rust

Posted by hrk