日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

40个Unity游戏开发小阴招

發(fā)布時(shí)間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 40个Unity游戏开发小阴招 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

推薦閱讀:

  • ?我的CSDN
  • ?我的博客園
  • ?QQ群:704621321
  • ?我的個(gè)人博客

Unity游戲開(kāi)發(fā)小技巧集結(jié),不用謝我,我只是大自然的搬運(yùn)工

1. 借助 Prefab 暫存數(shù)據(jù)

可以直接在腳本的 Inspector 上填寫(xiě),然后把整個(gè) GameObject 拖成 Prefab 暫存。
等要用的時(shí)候再拖出來(lái)。

2. DontDestroy模式

在跨場(chǎng)景的時(shí)候保持某些對(duì)象一直存在,不必要每次都重新加載,譬如顯示廣告的模塊。

3. 內(nèi)置函數(shù)

Awake,Start,Update,FixedUpdate,LateUpdate 函數(shù),令開(kāi)發(fā)者直接往游戲循環(huán)里加內(nèi)容,非常方便快捷。

4. Input

Input.MouseDown 在移動(dòng)設(shè)備上也通用,對(duì)于一些對(duì)輸入性能要求不高的操作,直接用它來(lái)代替 Input.TouchCount或者 RaycastHit 即可。

5. UGUI

新的 UGUI 支持多種 Camera 渲染,以及 RectTransform 里Anchor 的靈活配置,功能很強(qiáng)大。
提前設(shè)計(jì)好的話,可以一套 UI 同時(shí)支持 iPhone4/5/6/iPad以及所有 Android 設(shè)備各種尺寸的分辨率。
再也不必做多套 UI 來(lái)適應(yīng)各種設(shè)備了。

6. Editor 腳本

可以方便在編輯器里擴(kuò)展,對(duì)開(kāi)發(fā)和擺關(guān)卡幫助極大。

7. 測(cè)試

測(cè)試運(yùn)行時(shí),可以在任意時(shí)候暫停游戲,重新調(diào)整數(shù)值,游戲?qū)ο蟮奈恢玫鹊?#xff0c;然后再繼續(xù)游戲。

8. Editor/Resources 目錄可以存在多個(gè),且可以存放在任意目錄下

寫(xiě)自己的插件或者代碼庫(kù)時(shí)可以自帶輔助的資源。

9. Hierachy 層級(jí)

在 Hierachy 層級(jí)對(duì)話框,可以隨時(shí)輸入搜索關(guān)鍵字,然后一起選中篩選出來(lái)的GameObject,這個(gè)時(shí)候可以同時(shí)修改它們的相同屬性。

10. 內(nèi)置取色器可以暫存顏色

11. 顯示腳本的公用屬性

腳本的公用屬性在 Inspector 中顯示時(shí),可以用額外的修飾符控制其顯示方式,取值范圍等等,非常方便。

12. StreamingAssets 目錄是用來(lái)存放不加密的外部文件

它還有一個(gè)極好的用途是存放測(cè)試數(shù)據(jù)。
方便在 PC/MAC/移動(dòng)設(shè)備上都能調(diào)用到同樣的測(cè)試數(shù)據(jù)進(jìn)行模擬處理。

13. 配合 Alfred 這款快捷啟動(dòng)的小工具

輸入“us 關(guān)鍵字”即可快速調(diào)出Unity的 ScriptAPI,你是否也經(jīng)常忘記 Collier/Trigger 函數(shù)的完整寫(xiě)法?

每次都需要從幫助手冊(cè)里復(fù)制代碼段?

14. Unity死機(jī)未保存場(chǎng)景

當(dāng)你在Unity中編輯場(chǎng)景,突然死機(jī)時(shí),可以在項(xiàng)目文件目錄中找到Temp文件夾,雙擊文件夾,找到_Backupscenes文件夾,把后綴為.backup的文件后綴改為.unity,然后拖進(jìn)Unity的Project界面里面,這樣就可以還原死機(jī)前場(chǎng)景最后情況。

15. Inspector界面的數(shù)值欄自帶加減乘除功能

從Unity5.1開(kāi)始,可以在Inspector界面中的數(shù)值欄進(jìn)行計(jì)算,比如:
你可以在Transform里面的Position中X欄中加減乘除。

16. 隨意移動(dòng)模型預(yù)覽視窗

在Project界面里面選中模型,在Inspector界面上會(huì)顯示模型的預(yù)覽視圖,右擊視圖的上的雙橫條,模型預(yù)覽視圖就會(huì)跳出來(lái),此時(shí)就可以像Scene,Game等視窗一樣任意移動(dòng),放在你想放的地方,如果想讓他變回去,只要關(guān)掉它即可。

17. 搜尋當(dāng)前場(chǎng)景中哪些物件運(yùn)用了指定腳本

在Hierarchy界面中的搜索欄中輸入你想要搜索的腳本全名,即可找到哪些物件用了這個(gè)腳本,此方法也可以用來(lái)搜索哪些物體上有哪些物件,比如:
Rigidbody等。

18. 在界面上查看private變量

在Inspector界面右擊Inspector的標(biāo)簽欄,選擇Debug。

19. 只讓游戲運(yùn)行一幀

先按下暫停鍵,再按運(yùn)行鍵。

20. 通過(guò)Debug.Log獲取執(zhí)行此語(yǔ)句物件

在腳本的Debug.Log語(yǔ)句中加入gameObject,即Debug.Log(“Test”, gameObject); 腳本運(yùn)行時(shí)點(diǎn)擊Console界面中的輸出語(yǔ)句,就能在Hierarchy界面中看到哪個(gè)物件執(zhí)行了這個(gè)腳本。

21. 展開(kāi)所有子節(jié)點(diǎn)

按住Alt,用鼠標(biāo)點(diǎn)擊包含子節(jié)點(diǎn)物件前的三角形,在Hierarchy界面和Project界面都可以使用。

22. 編輯時(shí)鏡頭跟隨選中物件

在Scene界面中選中物件按F,鏡頭就會(huì)對(duì)準(zhǔn)選中物件,并使其在Scene窗口中居中,如果在拖動(dòng)物件時(shí),要讓鏡頭跟隨物件移動(dòng),選中物體后按Shift+F即可。

23. 在Scene界面中方便移動(dòng)編輯鏡頭

在Scene界面中鼠標(biāo)右鍵 + A/S/D/W/Q/E來(lái)移動(dòng)鏡頭, 如果想使Game視窗的鏡頭跟Scene一樣,可以在Unity菜單欄中選擇GameObject–>AlignWithView。

24. 在Project界面搜索商店內(nèi)容

先在Project界面中的搜索欄中輸入你想要搜索內(nèi)容的關(guān)鍵字,然后在搜索欄下邊的搜索范圍選擇中選擇AssetStore。

25.區(qū)分Unity項(xiàng)目

還在用4.X, 拍案叫絕不敢說(shuō), 多開(kāi)幾個(gè)Unity實(shí)例我不知道各位看官怎么區(qū)分開(kāi)的倒地是哪個(gè)?我們用Unity的C#功能識(shí)別路徑把Unity的路徑打到標(biāo)題欄, 這樣就方便多了

26. 腳本編譯可以不用mono編譯器

而編譯的dll和il都可以在mono上跑。
從而規(guī)避老版本編譯器的一些生成問(wèn)題。

27. shader lab支持自定義對(duì)應(yīng)版本的bytecode

可以用別的shader編譯器來(lái)編譯shader。
也是挺靈活的。

28. 橫向移動(dòng)

做一個(gè)橫向移動(dòng)模塊 里面有個(gè)Update函數(shù) 傳入Transform,就把Transform按固定速度橫向移動(dòng)。

29. 縱向移動(dòng)

做一個(gè)縱向移動(dòng)模塊 里面有個(gè)Update函數(shù) 傳入Transform,就把Transform按重力加速垂直移動(dòng)。

30. 下次要做一個(gè) 斜向固定速度的,就重用 橫向移動(dòng)模塊

單獨(dú)寫(xiě)一個(gè)縱向固定速度移動(dòng)的模塊。
同樣的角色腳本,推這兩個(gè)組件進(jìn)去,角色就斜著飛了。

31. 把一個(gè)模塊列表做成狀態(tài)機(jī)狀態(tài),加個(gè)進(jìn)入模塊和退出模塊。

加點(diǎn)狀態(tài)轉(zhuǎn)換邏輯,你就有個(gè)狀態(tài)機(jī)了。

32. 可以把Update函數(shù),拿一個(gè)協(xié)程的iEnumerator代替

進(jìn)入狀態(tài)就啟動(dòng)協(xié)程。
定時(shí)的,不用更新,或者其他特殊的狀態(tài)都可以輕松搞出來(lái)了。

33. 狀態(tài)里面定義個(gè)System.Action之類(lèi)的事件,模塊可以隨便拋出這個(gè)玩意。

呵呵,這下動(dòng)畫(huà)關(guān)鍵幀也有了。

34. 角色

做一個(gè)角色的腳本 包含一個(gè)模塊列表,把一個(gè)橫向和一個(gè)縱向模塊推入列表,然后角色每次Update就遍歷就執(zhí)行每個(gè)模塊的Update。

35. 快捷目錄

Project窗口下,可以把文件夾直接拖到Favorites下作為快捷入口,再也不用找一個(gè)文件翻半天了,常用的目錄都可以放在這里

36. 線框輸出

Game窗口的右上角有個(gè)Gizmos按鈕,點(diǎn)擊之后可以把你用于Debug畫(huà)出來(lái)的所有線框都畫(huà)到游戲場(chǎng)景中,其中包含Gizmos類(lèi)畫(huà)出來(lái)的所有東西,以及Unity本身提供的碰撞體等等這些需要去Scene窗口看的東西,尤其是沒(méi)有雙屏幕的開(kāi)發(fā)者,這個(gè)功能太貼心了。

37. 自定義Profiler

利用Profiler.BeginSample()和Profiler.EndSample()函數(shù),可以將任何代碼斷加入Profiler輸出,性能調(diào)優(yōu)的利器,一般來(lái)說(shuō)如果有某個(gè)地方你自己對(duì)于性能不是很有把握,檢測(cè)一下即可知道其使用開(kāi)銷(xiāo),用了之后就停不下來(lái)了。

38. 反射

如果項(xiàng)目中有一些使用到反射的代碼不太方便修改,而又希望通過(guò)設(shè)置Stripping Level來(lái)降低包體大小和內(nèi)存占用,可以在Assets目錄下添加link.xml文件來(lái)指定涉及到反射的類(lèi)。

39. 查看prefab的配置

通過(guò)將Editor Setting中的Asset Serialization設(shè)置為Force Text可以查看prefab的配置內(nèi)容,并通過(guò)比對(duì)工具進(jìn)行差異處理和合并。

總結(jié)

以上是生活随笔為你收集整理的40个Unity游戏开发小阴招的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。