【Unity】Hybrid ECS
Entity Component Systemを使いたいが、Pure ECSの学習コストが高い!
大量なオブジェクトのUpdate()だけスレッドで処理したく、
Hybrid ECSを試しました。( Unity バージョン:2018.2.10f1 )
準備
Scripting Runtime Version 設定
ECS を使うために、.NET4.x に設定する必要があります
Package をインストール
Unityエディタで [Window] -> [Package Manager] を開き [All] タブを選択し
以下Package をインストールする
・Entities (0.0.12-previre.19)
オブジェクトを大量生成する
プレハブを指定して大量なオブジェクトを生成するクラスです。
生成したら座標や向きを設定する
※ECSと関係ないので実装詳細は飛ばしても問題なし!
Hybrid ECS化
プレハブを選択し Add Component から "Game Object Entity" をアタッチする。
あとは Move.cs を修正する
ECS にしたが、実行してもあまり差が感じないよね。
原因は更新部分がまだマルチスレッドしていません。
最低限のマルチスレッド処理ができました
Unity 従来の使い方でマルチスレッド化できたので
Hybrid ECSはとても手軽で魅力的ですね。