Unity3D企業項目轉版本遇到的坑

最近接手一個項目,遇到了幾個坑,記錄一下。

項目簡介:這是一個最後跑在PC上的3D沙盒的遊戲級企業應用,裏面有些3D巡遊,有些企業教學,有些企業演練。用Unity3D製作,需要連接企業的數據庫。

接手情況:項目使用unity3D 4.3製作,一些組件的拼湊,一些功能已經可以用了,但是毛病一堆。有一些會用C#的做了網絡的dll,放到unity裏來用。

接手後的第一項工作就是轉成Unity5最新版,畢竟4已經不再維護了,如果能轉,早轉了還是很好的。

遇到的問題:

1 更新NGUI 到Unity5,裏面的屏幕匹配有些問題,UISprite的width和height在屏幕大小不全屏的時候有問題,有時需要匹配下 sp.width = 480 * 1920 / Screen.width

    UIPopupList彈出的列表位置不匹配,這個類的末尾把offset的幾行刪了就可以了,這個應該在後續的版本中會被修正。

2 更新PlayMaker到Unity5,主要有一個API變更了,UnityEngineInternal.APIUpdaterRuntimeServices.AddComponent  替換成var t = System.Type.GetType(component.Value); addedComponent = go.AddComponent(t);就OK了。

3 烘焙的方式在Unity5全部更新了,場景中的模型文件有些UV展得很不均勻,導致燈光照射時各種問題。

4 連接數據庫原來必須要客戶端安裝 oracle客戶端,現在把這個客戶端裏的那些dll拿過來,設置成x86的就可以了,注意64位的Unity還是會有問題,暫時還用32位的吧。

5 原來的網絡部分是同步的,敲代碼修改爲異步,注意鎖公用的消息隊列。

6 原來的配置文件位置錯誤,現在扔到StreamingAssets目錄下,log文本輸出,現在扔到 persistentDataPath目錄下。

7 shader可以替換爲現在通用的 Standard 。越來越傻瓜了

就這些吧,已經可以在unity5下正常打包了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章