ECS Entitas分析(一)___概括

Entitas概況

Entitas是使用C#語言開發(fā)的一個快速的輕量級的ECS框架,作為Unity的一個插件使用.在這里我們只分析Entitas的結(jié)構(gòu)以及代碼,并不會講解如何使用它。如果想了解如何使用可以看這里
Entitas大致可以分為以下6個模塊:Context,Entity,Component,System,Matcher,Group和Collector等,后面我們就通過分析這6個模塊的源代碼來了解Entitas。
首先我們看下面的圖了解以下Entitas的各個模塊的基本功能

Entitas概況

Entitas優(yōu)點(diǎn):

  1. 天然的低耦合,system和system之間互不干擾
  2. 天然的邏輯與表現(xiàn)分離,Component只包含數(shù)據(jù)
  3. 戰(zhàn)斗錄像與回放,數(shù)據(jù)回滾與預(yù)測方便,因?yàn)檫壿嫳憩F(xiàn)分離所以只需要操作純數(shù)據(jù)就好了。
  4. 訪問速度快,框架基本無消耗。Entitias內(nèi)部對Entity,Component以及Group做了大量的緩存。提高CPU的緩存命中
  5. 完善的代碼生成工具,提高開發(fā)效率。可以給Conponent添加各種Attributes,從而生成各種特殊的組件,如單例[Unique],事件[Event],主鍵[EntityIndex]

缺點(diǎn):

  1. Entitas是一個非常自閉的框架,所有的事情都只能在其內(nèi)部完成。
  2. 并不是游戲中的所有功能模塊都適合這個框架,如UI,行為樹,動畫等
  3. 因?yàn)槭羌冞壿?,不是oop,所以會增大項(xiàng)目新人的上手難度。
  4. 項(xiàng)目文件數(shù)量會超級的多。

<下一篇>ECS Entitas分析(二)__Context

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容