1)如果想用ECS實現技能系統有什麼好的思路
2)在使用Recast Navigation時遇到的兩個問題
3)透過搖桿控制角色移動時,怎麼獲取要移動方向上的座標
4)有判斷一個點是否在NavMesh上的介面嗎
這是第406篇UWA技術知識分享的推送,精選了UWA社群的熱門話題,涵蓋了UWA問答、社群帖子等技術知識點,助力大家更全面地掌握和學習。
UWA社群主頁:community.uwa4d.com
UWA QQ群:793972859
Script
Q:在DOTS中,如果想用ECS實現技能系統有什麼好的思路嗎?
A:有,但是開發成本太大。沒有特別值得推廣的設計,本身ECS是可以的,但是非得用上DOTS,是不值得的。如果只用ECS,幀同步類遊戲會非常方便,但是MMO等回撥驅動的遊戲,與OOP的開發難度一致甚至略高,後期成本在於把握各種時序。無DOTS的ECS,可以直接參考ET框架。
如果是割草遊戲中小兵的“技能系統”,建議直接硬做。以實現需求為主,也就是1個技能1個System,開單子做功能。想要透過某些“設計”一勞永逸,基本不太可能。本身ECS的抽象性就是遠遠不如OOP的,再加上DOTS中禁用Class,導致你所有“抽象”行為基本全不被支援。
針對以上問題,有經驗的朋友歡迎轉至社群交流:
https://answer.uwa4d.com/question/67160df6682c7e5cd61bf960
Terrain
Q:在使用Recast Navigation遇到的兩個問題:
1. 場景中的資源(網格 bin 檔案)都打成AssetBundle了,那現在LoadNavMesh的方法是不是就會有問題了,要怎麼修改?
2. 切換場景的時候,之前場景載入的場景資料怎麼清除?
A:1. 可以把檔案內容在C#裡讀出來,然後直接傳給LoadNavMesh,也就是要改一下 LoadNavMesh的實現,把LoadNavMesh(path)改成LoadNavMesh(content)。
- LoadNavMesh裡換成新的內容,然後把之前的資料清掉。
針對以上問題,有經驗的朋友歡迎轉至社群交流:
https://answer.uwa4d.com/question/67160fcc682c7e5cd61bf961
Terrain
Q:用Recast Navigation時,在透過搖桿控制角色移動時,怎麼獲取要移動方向上的座標?
A:程式碼如圖所示:
針對以上問題,有經驗的朋友歡迎轉至社群交流:
https://answer.uwa4d.com/question/6716110a3d306f3e9d594d48
Terrain
Q:有判斷一個點是否在NavMesh上的介面嗎?
A:程式碼如圖所示:
針對以上問題,有經驗的朋友歡迎轉至社群交流:
https://answer.uwa4d.com/question/671611893d306f3e9d594d49
封面圖來源於網路
今天的分享就到這裡。生有涯而知無涯,在漫漫的開發週期中,我們遇到的問題只是冰山一角,UWA社群願伴你同行,一起探索分享。歡迎更多的開發者加入UWA社群。
UWA官網:www.uwa4d.com
UWA社群:community.uwa4d.com
UWA學堂:edu.uwa4d.com
官方技術QQ群:793972859