Unity に触ってみる。 Unity から CG に触れた人は誤解していることがあるように思うけれど、 Blender をペロペロし、ローレベルグラフィックス API でコードを書く人間でも、 Unity に入門するには普通に気合がいる。 Unity なんも分からん。今はやりたくないことが目の前にあるので気合十分である。逃避ドリブンラーニング。
実際に触るまで勘違いしていたこと。アセットをシーンに持ち込んだとき、その時点で独自形式に変換されて組み込まれるのではなく、あとからファイルをすり替えてもある程度動く。テクスチャくらいなら分かるけれど、階層構造を持ったモデルファイルで可能なのは驚いた。そのモデル内のノードを移動 (transform の方。親子構造の変更は不可) したり、マテリアルを付けかえたり、コンポーネントを追加したあとでも可能なのである。すごい。これは Prefab と Instance override という仕組みで動いているらしい。
しかしこの prefab/override の仕組みというか内部実装がよく分からない。 GameObject 自体にその仕組みが備わっているのか、普通の GameObject のようにふるまう wrapper class みたいなものがあるのか。あるいは単に prefab への参照を持っていて、エディタ上で差分を表示する感じだろうか。でもこれだと prefab content が変更されたとき instance の未変更プロパティが更新されないな。うーん。
この Prefab は別ファイルとして管理される。 Prefab を編集したときの Undo の挙動が分かっていなくて、何度もシーンを壊した。
これ、 Unity エディタ自体も Unity エンジンで構築されているの?
Backlinks: [202230602]
.