今天,我們來聊聊 Unity 里最常打交道的動作之一——角色跳躍。無論是橫版闖關還是 3D 跑酷,跳躍都是讓角色“活”起來的核心操作。在 Unity 里,幾行腳本就能讓角色一蹬而起、穩穩落地。下面,就讓我們一起把這個“彈跳感”親手做出來吧!
目錄:?
1.創建動畫器
2.設置跳躍動畫
3.編寫跳躍功能的腳本
4.測試與運行
--------------------
一.創建動畫器
在這里我已經默認大家通過CharacterController實現了角色移動的功能和動畫,如果有不懂的小伙伴可以去查看我《【Unity3D實例-功能-移動】角色移動-CharacterController方式》的博客文章。
這里跳躍模型和動畫我都準備好了,大家可以到我的博客下載。首先我們創建一個動畫器,并且拖拉到我們的角色上進行綁定。接著我們在動畫器的動畫模式里,選擇“Animate Physics”(用于FixedUpdate方法中更新,使動畫和物理系統的更新同步,使用這個模式可以確保動畫與物理系統保持一致)。
二.設置跳躍動畫
1.首先選中跳躍動畫 -> 點擊右側菜單欄的“Rig”-> 在Animation Type的下拉框中,選擇“Humanoid”(把動畫設置成人形)-> 最后點擊“Apply”應用即可。
2.接著打開雙擊創建好的動畫器 -> 把跳躍動畫拖拉進去 -> 在“Any State”和跳躍動畫之間創建一條過渡線,在跳躍動畫和“Exit”之間創建一條過渡線。
3.然后需要創建一個Trigger變量(我這里的變量命名為“jump”)
4.點擊選中“Any State”和跳躍動畫之間的過渡線 -> 在右側菜單欄的“Conditions”條件列表中,添加Trigger變量“jump”。
5.點擊選中跳躍動畫和“Exit”之間的過渡線 -> 在右側菜單欄的“Conditions”條件列表中,添加Bool變量“Run”,并且值為“true”(這里是在跳躍動畫結束后,重新讓動畫器激活跑步動畫,使動畫器不會因為去到“Exit”節點而結束)。
三.編寫跳躍功能的腳本
1.在 Unity 項目的 Assets 目錄里,新建一個文件夾,命名為 Scripts(名字隨意,開心就好)。
2.在該文件夾中新建一個 C# 腳本,建好后把它拖到場景里的角色身上,完成掛載。
3.實現跳躍功能的代碼
代碼、模型和動畫都已經上傳到我的個人博客了,大家可以自行下載。
原創來源于-谷宇博客:https://www.biguyu.top/home
四.測試與運行
親測過程:點擊進入 Play 模式(運行案例),利用空格鍵觸發 isGround條件判斷,調用 CharacterController.Move() 實現瞬時豎直跳躍力的賦值,并在 Game 視圖的 Stats 面板連續監測向量y軸的變化 與 isGround 狀態,驗證基于 CharacterController 的跳躍邏輯。