質問編集履歴
2
ECSについて文章を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
下記は`ECS`実装に向けてまずは簡単なコンソール出力にて、実装を簡略化したものなのですが、
|
3
3
|
`System`と`Entity`の部分でどのように、`Entitiy`と`ComponentData`を連携して
|
4
4
|
それぞれ異なる`ComponentData`に対して`System`を実行したらいいか知りたいです。
|
5
|
+
|
6
|
+
ECSとは:https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%83%86%E3%82%A3%E3%83%BB%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
|
7
|
+
|
8
|
+
ECSの実装について:https://zenn.dev/rita0222/articles/c22a8367e31b4d5f4eeb
|
5
9
|
|
6
10
|
### 知りたいこと
|
7
11
|
`System`部の実装方法で、複数の異なる`ComponentData`の塊を処理する方法
|
1
文章を追記、誤字を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
それぞれ異なる`ComponentData`に対して`System`を実行したらいいか知りたいです。
|
5
5
|
|
6
6
|
### 知りたいこと
|
7
|
-
`System`部の`
|
7
|
+
`System`部の実装方法で、複数の異なる`ComponentData`の塊を処理する方法
|
8
8
|
|
9
9
|
|
10
10
|
### コード内容
|
@@ -20,8 +20,12 @@
|
|
20
20
|
### 考えたこと
|
21
21
|
1,今のような場合だと`main()`関数に直接記述できますが実際の開発ではロジック化するので違います
|
22
22
|
2,仮に`ComponentData`が一種類だけで`Voxel`のみだったら`System`部の`Update()`関数の引数に`(std::vector<Voxel> &v)`などといった形で考えたのですが、実際の開発では複数の種類あるはずなので実装できません。
|
23
|
-
3,そもそもキャッシュヒットを狙う設計なので、ポインタ
|
23
|
+
3,そもそもキャッシュヒットを狙う設計なので、ポインタなどを使うとデータが並ばなくなるので
|
24
24
|
困りっています。
|
25
|
+
|
26
|
+
### 理解したこと
|
27
|
+
1,ECSではComponentはデータのみを持ち、非ECSでコンポーネント指向のUnityのような形である、
|
28
|
+
Update()のような機能は`System`が処理する
|
25
29
|
|
26
30
|
|
27
31
|
### 該当のソースコード
|