Unityのあの機能
どこいった
しょーがねーじゃん、Unityのほうを先に触ってたんだもの。
[SerializeField]
@exportキーワード付きで変数を宣言すればよい。
なおこのときの型にResourceを指定してやることで構造体じみたResourceを継承するクラスを読み込むこともできる。
このクラスのメンバも@exportしておきリソース上で変数の値を設定しておけば任意値で初期化できる。
https://youtu.be/qAtDGtlRJrI?si=ZM-PIAx-Q5XQwyDx&t=1106
(バージョン違いからかキーワードがちょこちょこ違うのに注意)
またエディタ上での入力欄の形状は属性ではなくこのexportキーワードを変化させる。
面白いものもあるので一通り読むといいだろう。
https://docs.godotengine.org/ja/4.x/tutorials/scripting/gdscript/gdscript_exports.html
export_global_file、export_node_pathあたりはかなり独特なので面白く感じた。
エディタ拡張
@toolキーワードをスクリプト先頭に書くとエディタで常時動くスクリプトが書ける。
EditorScriptを継承したスクリプトはエディタでトリガーされて動くようなスクリプトが書ける。
Sunny Landみたいな無料で使える定番アセット
わりかしいろんなところで見るCC0(!)な素材サイトが以下。
タイルの大きさが18x18なのがちと気になるが結構いろいろ揃っている。
https://www.kenney.nl/
エディタのViewを別ウィンドウに切り分ける
https://github.com/LaoDie1/godot-float-script-editor
Cinemachineみたいなカメラ操作プラグイン
Godotデフォルトのカメラも悪くない。
LimitやPositionSmoothingがついており、最低限のことならこれで実現できるだろう。
いろんなカメラをイージング付きで切り替えたいとかになったらこれを使おう。
https://github.com/ramokz/phantom-camera
DOTweenみたいな
デフォで入っている。素晴らしいな。
https://zenn.dev/slm/articles/39d3bd54f98cb9
世界の速度はEngine.time_scaleで調整できる
Unityと一緒だね♡
メモ
node_pathはプロパティを直接参照できる?
_setと_getはどう使う?
_始まりの関数の意味とは?