現在、Unityのある機能を調べ中です。
「ECS」と言うものがあるらしく、従来のUnityのような
データアクセス方とは異なるようです。
よりメモリアクセス的に効率が良くなる模様。
出来れば習得したいところ。
ただしこの方法は「データー」と「振る舞い」が分離された状態で
コードを書く必要ががる為、コード数としては同じ処理でも多くなり
複雑さが増します。
しかしその効能は高く処理速度が段違いに上がる様子。
オープンワールドや大量の敵を出すゲームには必要不可欠。
Unityはそもそも遅い
現在ブロック形式で地形編集可能な技術を試しており、
標準のUnityの書き方では画像(右の茶色の塊)のブロック数程度
でカクカク。
ゲームにならず。
もちろんカリングや距離によるコンポーネント削減などの処理は皆無
ですが、それでも重すぎる。SetPass Call(GPUに命令を送る回数)やDrawCall(描画命令回数)
も多いのでここも削減する必要がありそうですが、まだここら辺は良く分かっていません。
Unity ECSを学ぶ!
サンプルコードには使たことが無い「override」命令やストラクト(ECSでは
Classが使えない)が使用されており、今一度学びなおし中です。
コード自体を真似するのは簡単ですが、根本的に何をしているのか
と言う理解が出来ていないと、実際に頭に入ってこなかったという経験から
やはりここからしっかりと勉強する必要がありそうです。
PR
コメント