Unity3D的兩個坑

2021-07-05 19:53:20 字數 827 閱讀 5329

unity3d雖然做東西便利,也因此帶來兩個很大的坑。

其一是因為編輯器很容易關聯不同的指令碼,如果開發者經驗不足,會讓指令碼之間依賴混亂,最後組織結構如同蜘蛛網,修改起來極其麻煩。 再微博上經常遇到乙個問題,很多人吐槽, c#指令碼和unityscript指令碼之間不能混用,基本上就是這個問題引起,因為如果保持單向依賴,介面放置再plugins目錄,實現放在scr目錄就不會有任何問題。

解決這個潛在問題的辦法是開發者要在心裡搞清楚依賴關係,讓**保持單向依賴才行,這個編輯器肯定幫不了開發者。

第二個坑更慘,我本人也陷入。

基於元件的開發模式,很容易慣縱開發者把渲染合邏輯**混合到一起。因為每個元件都是場景中的乙個位置和物體,很容易讓開發者用空間關係來劃分遊戲結構,比如我們之前的遊戲設計分為上面顯示,中間ui下面操作三分的顯示結構。基於直覺**結構也是分為這三塊。感覺很好,但在需求變化時候,比如要去處中間ui部分,我才發現問題的嚴重性,這樣做等於顯示和邏輯強耦合近來,泥馬,我五一用了乙個禮拜去重構(可以說使重寫)**,影響整個遊戲70%**都要重寫,甚至到現在還有很大一部分等待重構。這個教訓極其慘重,泥馬,本質上**還是要mvc啊,元件只是工具,unity3d也是工具,工具不能影響本質,只能為本質服務,遊戲的邏輯和渲染分離這麼最基礎的問題我都忘掉,檢討。我建立了乙個空的元件書,不帶任何渲染只處理邏輯關係。然後渲染放在另外乙個渲染樹上面去做才好。(用乙個有限狀態機去做控制部分)。

勝負的關鍵不是劍而是劍客本身。我個人認為,unity3d的開發比cocox2d要簡單,但是簡單並不代表更容易,但是因為unity3d的簡單,反而讓開發者很多時候放棄思考,者帶來的問題可能更加嚴重。保持乙個謹慎的心,工具不停在變,但是軟體開發的本質,還是那些。莫忘初心,方能始終!

Unity3D開發(九) Unity3d流光效果

遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...

Unity3D的坑系列 動態載入dll

我現在參與的專案是做mmo手遊,目標平台是android和ios,ios平台不能動態載入dll 什麼原因找賈伯斯去 可以直接忽略,而在android平台是可以動態載入dll的,有了這個就可以實現 更新,不過實際上,在unity裡要用上動態載入dll是有很多限制的 不了解的話就是坑 限制1 在andr...

Unity3D的坑系列 動態載入dll

我現在參與的專案是做mmo手遊,目標平台是android和ios,ios平台不能動態載入dll 什麼原因找賈伯斯去 可以直接忽略,而在android平台是可以動態載入dll的,有了這個就可以實現 更新,不過實際上,在unity裡要用上動態載入dll是有很多限制的 不了解的話就是坑 限制1 在andr...