「旧式」のUnityハイブリッドECS


8

一部のコンポーネントでハイブリッドECSを使用MonoBehaviourし、すべての古いコードで標準を使用することは可能ですか?

「古い」方法で構築されたゲームメカニクスがすでにあり、ハイブリッドを使用して新しいものを構築したいので、知りたい

回答:


8

両方のスタイルを混在させることは完全に可能です。同じGameObjectは、新しいECSシステムで実装された機能の一部と、従来のMonoBehaviourイベントの他の機能を持つことができます。

Unityは彼らのECSのチュートリアルで推奨していますと、古いスタイルを使用するプロジェクトを開始し、その後、新しいECSのパターンにそれらをリファクタリング恩恵を受けるだろうと思うの特徴を探すために、実際にあります。

これは私のゲームにとって何を意味しますか?

1つずつ、動作をMonoBehaviour.UpdateメソッドからComponentSystemsに変換できます。実際、すべてのデータをMonoBehaviourに保持することができます。これは、ECSスタイルコードへの移行を開始する非常に簡単な方法です。

したがって、シーンデータはGameObjectsとコンポーネントに残ります。GameObject.Instantiateを引き続き使用して、インスタンスなどを作成します。

MonoBehaviour.UpdateのコンテンツをComponentSystem.OnUpdateメソッドに移動するだけです。データは同じMonoBehaviourまたは他のコンポーネントに保持されます。

もちろん、これは新しいジョブシステムの利点とEntityManagerによるエンティティのインスタンス化を利用しません。ただし、これらの新機能は、従来のMonoBehaviourと組み合わせて使用​​することもできます。

ゲームを従来のMonoBehaviourパターンを使用したECSパターンに変換する方法の詳細については、公式のUnityチャンネルからのこの一連のビデオをお勧めします。これらのビデオは、古き良きスペースシューティングゲームの例を新しいスタイルに段階的に変換します。より多くの新機能の使用。その間の各ステップは完全に機能します。ECSシステムではまだ利用できない機能(パーティクルエフェクト)が原因で、最終バージョンではいくつかのクラシックゲームオブジェクトがまだ使用されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.