盡可能制作抽象的prefab來做關卡編輯,該prefab應該足夠抽象簡單(只有一個GameObject,然后通過Gizmo來繪制是個不錯的手段),否則以后變化的時候(常見的就是改美術資源),所有關卡都lost prefab,那么對策劃來說是一場災難。可以考慮通過數據表+編輯器的方式來提供策劃操作同時也不再需要擔心lost prefab的問題。prefab越簡單抽象越不容易丟失,prefab之間嵌套的正確方式是通過鏈接而不是掛在節點下面。
2.盡可能避免修改Scene,方法有幾種:
使用xml之類的數據組織場景
盡量多讓scene由prefab組成,這樣變動都在prefab上
使用工具做場景Merge
3.不要過度依賴Component特性來開發,考慮數據驅動。
4.邏輯容易散落在編輯器各處,可以做一個中心管理。
利用unity的特性
組織好hierarchy,不管是編輯的時候還是運行的時候,編輯的時候可以通過工具來簡化組織層級的工作。
讓每個場景自己能跑。
利用基于組件的架構,盡可能少的使用繼承(用C#的話),多通過組合來完成開發。遇到需要數據訪問的通用接口,我們可以通過組合的方式來完成,而不是提供一個公共基類接口來繼承,只要大家都認識這個公共組件就可以取到數據了。遇到通用的事件派發,我們可以用字符串拼接的方式派發到指定的對象或者更參數組合派發事件到對象身上。
框架采用星型架構+事件機制,由于Unity3D沒有一個所謂的入口函數,不利于代碼跟蹤,這樣的基礎架構能帶來很多便利。
unity界面擴展能力很強,而且借助CLR(commom language runtime)的反射能力,C#里面開發界面非常容易。
做好tag、layer規劃,要考慮業務中哪類物體之間需要交互。
在代碼里面get某個prefab或者GameObject,可以考慮利用界面拖目標過來,這樣更加直觀,而且也能對抗變化,比如目標名字變了也不怕,而且還能節省代碼量。
想要學習好unity技術的話,不止要從小的細節開始注意,也要在學習的時候有名師的指導才可以事半功倍。如果說你想要學習unity技術的話,那么粵嵌科技的小編歡迎大家來我們的unity培訓班進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的unity培訓免費課程試聽資格,來和我們的講師進行面對面的交流和互動,并且免費體驗我們的課程和更加深入的了解我們粵嵌科技。