【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_遊戲開發

在Unity的世界裏,角色的下蹲動作是沉浸感的關鍵細節之一。如何穿越狹窄空間,一套流暢的下蹲動畫能讓玩家身臨其境。今天,我將帶你走進 Unity 中角色下蹲動畫的完整實現之旅。從蹲下、蹲着、蹲着行走,再到重新站立,我們將一步步拆解如何通過代碼和動畫配置,讓角色的下蹲動作自然且無縫銜接,讓你的角色在任何場景中都能靈活應對!

為了避免文章的冗長,關於下蹲功能的介紹,我將會拆分成三篇文章進行連載。“角色下蹲功能“和“角色穿越隧道”的實現方式,大家可以參考《【Unity3D實例-功能-下蹲】角色下蹲(一)功能實現》和《【Unity3D實例-功能-下蹲】角色下蹲(二)穿越隧道》。這篇文章,我將會細講動畫配置,從蹲下、蹲着、蹲着行走,一直到站起來的動畫組合實現,讓人物起來。


目錄:

1.創建動畫器

2.配置下蹲動畫

3.關鍵動畫的代碼

4.完整下蹲功能的代碼

5.測試與運行



一.創建動畫器

我們先創建一個 Animator 組件,並將其綁定至角色對象。隨後在動畫器的動畫模式中,選擇“Animate Physics”選項(該模式適用於在 FixedUpdate 方法中進行更新,能夠確保動畫與物理系統的更新保持同步,從而保證動畫與物理效果的一致性)。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_unity_02

二.配置下蹲動畫

1.將“蹲下”“蹲着”及“蹲着行走”動畫依次拖拽至 Animator 中。隨後需定義三個參數:

(1)Crouch(Trigger 類型):用於觸發下蹲動作的初始激活信號。

(2)Crouching(Bool 類型):標識角色處於蹲着狀態。

(3)CrouchingWalk(Bool 類型):標識角色處於蹲着行走狀態。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_遊戲開發_03

2.使用過渡線鏈接“AnyState”和“蹲下”的動畫,表示任何狀態下,都可以實時進行下蹲。並且選中過渡線,為過渡線配置“Crouch(Trigger 類型)”的變量。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_遊戲開發_04

3.接着使用過渡線把“蹲下”的動畫和“蹲着”的動畫進行鏈接。蹲下後,可以讓角色保持蹲着,並且去掉“Has Exit Time”的勾選,因為是實時的,並且選中過渡線,為過渡線配置“Crouching(Bool 類型)”的變量為True。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_遊戲_05

4.同樣使用過渡線把“蹲着”的動畫和“蹲着行走”的動畫鏈接起來,並且去掉“Has Exit Time”的勾選。“蹲着”到“蹲着行走”,配置CrouchingWalk(Bool 類型)為true。“蹲着行走”到“蹲着”,配置CrouchingWalk(Bool 類型)為false,兩者都是相互切換的。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_c#_06

5.最後使用過渡線,分別把“蹲下”,“蹲着”,“蹲着行走”鏈接到“站立動畫Idle”,同樣去掉“Has Exit Time”的勾選。併為這三條過渡線配置Crouching(Bool 類型)為false,讓角色都可以在任何情況下實時回到站立。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_unity_07

三.關鍵動畫的代碼

代碼、模型和動畫都已經上傳到我的個人博客了,大家可以自行下載。

原創來源於-谷宇博客:https://www.biguyu.top/home


四.完整下蹲功能的代碼

1.在 Assets 目錄下創建一個專門的 Scripts 文件夾(文件夾名稱自由命名),並在該文件夾內新建一個與功能對應的 C# 腳本文件。腳本創建完成後,將其拖拽到場景中的角色對象上,以組件的形式附加到角色實例上。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_c#_08

2.完整的下蹲實現代碼

代碼、模型和動畫都已經上傳到我的個人博客了,大家可以自行下載。

原創來源於-谷宇博客:https://www.biguyu.top/home


五.測試與運行

親測過程:進入Play Mode後,按住 Space 鍵,角色從站立狀態平滑過渡到下蹲動畫,同時角色的碰撞檢測高度實時調整,確保在進入低矮隧道時不會出現穿模現象。繼續按住 Space 鍵並移動角色,角色將播放“蹲着行走”動畫,保持低姿態移動。鬆開 Space 鍵,角色會無縫切換到“重新站立”動畫,恢復到正常高度,整個過程動畫流暢且物理檢測精準,完美實現了下蹲、行走與起身的完整功能。

【Unity3D實例-功能-下蹲】角色下蹲(三)動畫配置_遊戲開發_09