Godot 4.0 所感
これは何
フリーのゲームエンジン、Godot Engineの大型アップデート、バージョン4.0 beta1 がリリースされたので、使ってみた感想、Tipsなどをメモします[1]。
大型アップデートのベータ版ということもあり、個人的には今のところ4.0は実用とするには若干不安定な印象です。メインの開発環境としてはバージョン3.5.xをうほうが良さそうです。
なお、特に言及がない場合の使用環境はintel iMac / macOS 11.5以降です。
-
3.x系との違いにかなり戸惑いながら手探り書いています。 ↩︎
クラッシュ / バグっぽい挙動など
クラッシュやバグが発生する操作について、このコメントにぶら下げるかたちで追記していきます。
環境は基本的には、intel iMac / macOS 11.5+、たまに M1 Macbook Air / maxOS 12+ です。
エディター設定でクラッシュ
自分が触った範囲では、エディター設定
でエディタのデフォルトフォントやハイライトカラーを弄ってると、同じ動作を2, 3回繰り返したあたりでクラッシュしてしまいます[1]。
-
Githubにもissue上がってます。 https://github.com/godotengine/godot/issues/59798 ↩︎
CanvasItemのフィルタ設定でクラッシュ
弄ってるとクラッシュします。上述と同じで、エディタ上に表示変更が反映される操作はクラッシュするっぽいです。
スクリプトやフォルダの変更には注意
任意のシーンにアタッチされたスクリプトや、そのフォルダの構造を変えた場合、そのシーンを編集しようとした段階でクラッシュしました。
リファクタリングとかする際には注意が必要。
SubViewport
を使った特定の状況でDisplayServer
がエラーを返す
エラーログを確認した限りでは、macOSのみの現象かもしれません。Godot 4.0 beta2
にて発生の確認済。
SubViewport
の中にPopup
ノードを配置し、popup()
やpopup_centered()
などでポップアップを表示しようとすると、DisplayServer
がエラーを返します。同様のエラーはSubViewport
に配置したOptionButton
をクリックした場合にも発生します。
上記のクラスでなくても、DisplayServer
とやり取りするクラスであれば、同じエラーが発生する可能性がありそうです[1]。
無くなった機能
Godot 4.0から無くなった機能を、このコメントにぶら下げるかたちで追記していきます。
OS.center_window()
ウィンドウを画面の中央に配置するための関数が、OS
クラスからなくなりました。
ウィンドウの配置関連の機能はDisplayServer
クラスに移ったようですが、center_window()
、もしくはそれに類する関数は4.0 beta1時点では実装されていません[1][2]。
-
githubにPRはあるようなので、いずれ実装されそうです。
https://github.com/godotengine/godot/pull/65843 ↩︎ -
自分でディスプレイサイズから中心を算出するコード書けばいいだけの話ですが、
OS.center_window()
が便利だったもので… ↩︎
変化したところ
挙動やコードの書き方が変化したところを、このコメントにぶら下げるかたちで追記していきます。
こちらは記事に移行しました:
その他所感
- スクリプトは、Godot側である程度
3.x系
→4.x系
への変換をしてくれる。が、export
などは自分で書き直す必要あり。 - 3.xから設定を読み込んでいるのか、
4.0
はインストール時点でキーボードショートカットに重複があり、正常に動かないものがいくつかあった。- 私の環境では
Command + B
に実行
とブックマークへ移動
の2つが割り当てられていた。 - ショートカット一覧から重複しているものを探して、手作業で解消する必要がある。
- ショートカット一覧に、キーバインドでソートしたりする機能などはないっぽい。
4.0+
かどうかというよりは、Godot自体にそういう機能がないようです。
- 私の環境では