最近我們邀請 Code Monkey 分享了一些實用的 Unity 小技巧。
不瞭解
Code Monkey
的小夥伴們,也一定在某處看到過這隻俏皮(且具備高技術力)的猴子頭像吧。在他的 Unity 探索之路上,一直希望用自己總結的最佳實踐和捷徑讓大家的遊戲開發更為輕鬆。
在下方的小技巧中,你將學到簡單的破壞效果、小地圖、新輸入系統和螢幕空間環境遮蔽(SSAO)的使用。
現在就開始吧。
90 秒做出“破壞”效果
如果你的遊戲裡會用到“Destroy”方法,一定要看看這條:
選中你想破壞的模型,然後
安裝 ProBuilder
。
開啟 Edit > Preferences > ProBuilder,並啟用
Experimental Features
。
然後開啟
Tools > ProBuilder > Experimental > Boolean Tool
。
複製該
物件
,點選 ProBuilderize。
新建一個
Cube
,點選 ProBuilderize。
拖入物件,擺好 Cube 後點擊
Intersection
進行切割。
如果物件會突然消失,試試點選
Center Pivot
。
繼續擺放和縮放
Cube
,切出多塊碎片。
將所有碎片放入一個
預製件
。
給每塊碎片新增一個
Rigidbody
和
MeshCollider
,並啟用
Convex
。
在 Bullet Collision(子彈碰撞)時,摧毀
物件
並例項化該
Pieces 預製件
。
額外技巧
:呼叫 Rigidbody。AddExplosionForce();。
https://docs。unity3d。com/ScriptReference/Rigidbody。AddExplosionForce。html
現在看看破壞的效果吧!
60 秒學會新輸入系統
新的 Input System 第一眼看上去的確有點複雜,我們把它一步步拆開來看:
首先,開啟
Package Manager
安裝軟體包。
然後,新建一個
Input Actions Asset
(輸入動作配置檔案)。
設定好
Action Map 及 Type
。
設定好
Binding
(鍵位繫結),以及監聽按鍵的
Input
。
別忘了儲存檔案。
新增
PlayerInput
元件。
匯入剛剛建立的
Input Actions
配置檔案。
選擇方法(推薦使用
UnityEvents
)。
將方法繫結至
Action
。
Input Debugger 中還帶有更多的控制選擇。
使用 Lerp 做出漸進式動畫
如果物件運動起來非常生硬,你可以來看看這條簡短的小技巧。
一分鐘內做出一張小地圖
你可以跟著下面的步驟來快速做出一張小地圖:
新建第二個
攝像機
。
將其放在上方,讓鏡頭指向正下方。
將視角設定為
Orthographic
。
新建一張
Render Texture
。
將紋理拖到
Camera Output
欄位。
為玩家/物件新增一張
Sprite
,使其正面朝上。
將
Sprite
分配到Minimap Layer。
將這個
攝像機
修改為只渲染Minimap Layer。
在 UI 上新建一張
Raw Image
。
拖入
Render Texture
。
這樣就做好了!
用相容URP的
螢幕空間環境遮蔽(SSAO)改善遊戲畫面
你知道通用渲染管線(URP)也有環境光遮蔽嗎?用該效果來給場景新增細微的陰影細節吧:
選中你的
Render Pipeline Asset
。
開啟
Render
。
選擇
Add Renderer Feature > Screen Space Ambient Occlusion
。
調整元件數值,直到做出理想的畫面。
快在你的專案中,親自上手體驗這些技巧吧
第一時間瞭解Unity引擎動向,學習最新開發技巧
每一個“在看”,都是我們前進的動力