2016-04-27 3 views
0

コンポーネントベースと継承ベースのアーキテクチャUnity3dの違いは何ですか? 誰でも私に例コードを教えてもらえますか?ゲームでそれを実装する方法は?コンポーネントベースと継承ベースのアーキテクチャの違いUnity3d

+0

google for **オブジェクト指向**継承ベースではなく**。それらの用語も互いに排他的ではなく、異なることを記述します。 – yes

+0

これは宿題のように聞こえませんか? –

+0

主な違いは、ユニティコストは年間約3000ドルです。確かに – Fattie

答えて

3

私は統一性の正確な違いはわかりませんが、一般的に説明できると思います。

コンポーネントArtchitecture

あなたはコンポーネントを持つことができ、あなたの基本的なEntityクラスを、持っています。エンティティHPを保持するHealthComponent、エンティティメッシュを保持するMeshComponent、エンティティをランダムに移動させるFreeMoveComponent、AttackComonentなど、エンティティに他人を攻撃させるようなコンポーネント。

ランダムな " mob "は、牛のように、エンティティにHealthComponent、FreeMoveComponent、およびMeshComponentを与えます。それは殺され、周りを動くことができる暴動を作り出すでしょう。敵を作成するには、牛のすべてのコンポーネントと攻撃コンポーネントを使用できます。今あなたはあなたを攻撃できる何かを持っていて、HPと動いています。

継承建築

あなたは基本Entityクラスを持っています。上で説明したのと同様のものを実現するには、Entityクラスを拡張するMobクラスを作成します。それにHPのカウントとメッシュを追加します。

次に、MovingMobとEnemyの2つのクラスを作成します。あなたはMovingMobに自由に移動するコードを実装し、それに牛のメッシュを与え、あなたは牛を持っています。さて、敵を作成するには、他の人を攻撃するコードに移動して追加したいので、MovingMobを拡張します。

+1

。基本的に「コンポーネント」ベースのシステムは、「エージェント」の考えに自然に適合します。 OPは、誰かがUnityや他のシーンベースのゲームエンジンについて多かれ少なかれ発明した偽の言葉である「ECS」をグーグルにすることができます。 – Fattie

+0

このような素晴らしいおかげでありがとうございました... –

+0

嬉しいです。この答えがあなたのために十分であれば、この質問を閉じることができるようにそれを受け入れられた答えとしてマークしてください。ありがとうございました。 –

関連する問題