問題タブ [entity-system]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity-system - ECS (エンティティ コンポーネント システム) のインターリーブ システム?
エンティティ システムに物理を追加する作業を行っていますが、ECS のシステム部分について混乱しています。
たとえば、ECS 以外のプロジェクトでは、次のようなものがあります。
ただし、ECS プロジェクトでは、PositionComponent と VelocityComponent で動作する MovementSystem と、PositionComponent と ShapeComponent で動作する CollisionSystem があります。結果は次のようになります。
違いは、非 ECS バージョンでは移動と衝突がインターリーブされているのに対し、ECS バージョンでは分離されていることです。エンティティ システムでこの動作をモデル化する通常のパターンはありますか? ECS の全体的なポイントは継承から逃れることですが、おそらく MovementSystem と CollisionSystem の両方を、各システムが独自のループを維持するのではなく、単一のエンティティで他のシステムの更新関数を呼び出すより一般的な PhysicsSystem の一部にすることでしょうか?