放荡的闷骚娇妻hnp_三级黄色影院_美女久久久久久_狠狠艹视频

ECS的核心概念,關于ecs使用規范正確的是-ESG跨境

ECS的核心概念,關于ecs使用規范正確的是

來源網絡
來源網絡
2022-04-28
點贊icon 0
查看icon 813

ECS的核心概念,關于ecs使用規范正確的是ECS的核心概念ECS架構的核心是數據,這也是Unity將這項技術命名為stack DOTS的原因。系統讀取實體上方組件的數據流并處理數據。在這里,實體實際上更像一個索引,它不包含任何數據或邏輯。EC由三部分組成:實體、組件和行為。見下圖:在此圖中,系統讀取多個實體的平移和旋......

ECS的核心概念,關于ecs使用規范正確的是




ECS的核心概念

ECS架構的核心是數據,這也是Unity將這項技術命名為stack DOTS的原因。系統讀取實體上方組件的數據流并處理數據。在這里,實體實際上更像一個索引,它不包含任何數據或邏輯。

EC由三部分組成:實體、組件和行為。見下圖:

在此圖中,系統讀取多個實體的平移和旋轉組件,然后在計算和處理后將結果更新到LocalToWorld組件。

如圖所示,實體A和B仍然有渲染器組件,但C沒有。但是,這不會影響系統的計算邏輯,因為這個系統不關心渲染器組件。

也可以寫一個需要處理渲染器組件的系統,讓系統忽略實體c,也可以寫一個排除包含渲染器組件的實體的系統,讓系統忽略實體A和實體b。

以下是ECS中一些重要的核心概念:

原型原型

多個組件的組合稱為原型。

例如,3D對象可以包含用于變換的組件,包括移動、旋轉和渲染。每個3D對象對應一個實體,但它們都有相同的組件,因此ECS會將它們歸類為一種原型。

上圖中,實體A和實體B的原型都是M,實體C的原型是n。

您還可以通過在運行時添加或刪除組件來更改實體的原型。例如,如果實體B的渲染器組件被移除,則實體B的原型將變成n。

內存塊

為什么先說原型的概念?因為實體的原型是什么決定了ECS將實體的組件即數據存儲在哪里。Ec以塊為單位分配內存,每個塊由一個原型塊對象表示。

一個塊只包含一個原型,原型可以包含多個實體的數據。如果一個塊的內存已滿,ECS將分配一個新的塊來存儲新實體的組件。

如果修改了實體的組件,就相當于修改了實體的原型。此時,ECS會將實體的組件數據移動到另一個塊。

原型和內存塊的關系是一對多的關系。這意味著,如果您想要查詢一組給定組件類型的所有實體,您只需要在這些原型中進行搜索。這將比在所有實體中搜索高效得多。

ECS在存儲實體到內存塊中沒有特殊的順序。當一個實體被創建或者一個實體的原型發生變化時,ECS會把它放到對應原型中第一個有空間的內存塊中。塊中的數據將緊密排列。如果要將一個實體移出當前原型的內存塊,此時會有一個空位,ECS會將這個內存塊的最后一個實體數據移到這個空位上。

注意:原型中共享組件的數據(后面會詳細描述)也會影響實體將存儲在哪個內存塊中。同一內存塊中所有實體的共享組件中的數據值是相同的。如果修改共享組件中的數據,實體將被移動到另一個塊中,這有點類似于修改實體的原型。

將共享組件的實體劃分到一個內存塊中將提高處理它們的速度。例如,Hybird Renderer定義了RenderMesh組件來實現這一目標。

實體查詢

系統在什么基礎上決定處理哪些實體?這將使用稱為實體查詢的東西。實體查詢首先需要一些組件類型,然后根據你傳入的組件類型組合,在包含這些組件的原型中查詢符合要求的實體。查詢時可以指定以下三種類型:

All必須包含所有組件類型。

任何必須在任何中包含至少一個組件類型。

None中不能包含任何組件類型。

實體查詢的結果將返回滿足查詢要求的所有內存塊。您可以使用IJobChunk遍歷所有組件。(IJobChunk后面會講到。)

作業作業

如前所述,ECS只有在與Job一起使用時才能發揮多線程的威力。ECS提供了包含實體的SystemBase類。ForEach方法,還包含IJobChunk的Schedule()和ScheduleParallel()方法,可以處理子線程中的數據。實體。ForEach是最簡單的方法,只需幾行代碼就可以實現。IJobChunk可以用來處理更復雜的情況。

ECS將根據系統的順序在主線程中調度作業。當調度作業時,ECS將跟蹤哪些作業正在讀取和寫入哪些組件。需要讀權限的作業需要等到上一個具有寫權限的作業完成執行,反之亦然。作業調度器將使用作業相關性來決定哪些作業可以并行,哪些作業必須串行。

系統的組織

歐共體通過世界和集團組織系統。默認情況下,ECS將使用一些預定義的組創建一個默認世界。它將找到項目中的所有系統,實例化它們,并將它們添加到預定義的組中。

您可以在同一組中指定系統更新的執行順序。組也是一個系統,所以您可以將一個組添加到另一個組中。如果不指定順序,系統的執行順序將是不確定的,它不會遵循它們被創建的順序。但是,同一組中的所有系統將在下一組中的系統之前執行。

系統的更新是在主線程中執行的,但是您可以使用Job將工作分配給子線程。

ECS世界的視覺創作(創作)

在Unity中,沒有辦法直接在視覺上創建DOTS世界。不過可以先用GameOjbect和MonoBehaviour創建,然后通過轉換系統把GameObject轉換成實體和組件。我們以后再談這個。

來源:Unity官方平臺

原文:https://mp.weixin.qq.com/s/Tvtqz51Np7vWeYwKcQtHdQ


文章推薦
Cloudflare是針對站點安全性和性能的終極解決方案,國內使用cloudflare有效果嗎
Facebook新號養號細節一覽!,facebook新號養號怎么用
F5 CIO直通車  從多云到跨云
Facebook商務管理平臺BM創建和設置,facebook商務管理平臺怎么設置


特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進群
美國賣家交流群
加入
美國賣家交流群
掃碼進群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進群
2025跨境電商營銷日歷
《2024年全球消費趨勢白皮書——美國篇》
《2024TikTok出海達人營銷白皮書》
《Coupang自注冊指南》
《eMAG知識百科》
《TikTok官方運營干貨合集》
《韓國節日營銷指南》
《開店大全-全球合集》
《TikTok綜合運營手冊》
《TikTok短視頻運營手冊》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業1v1客戶經理服務
運營實操指導
運營提效資源福利
平臺官方專屬優惠

立即登記,定期獲得更多資訊

訂閱
聯系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部