W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我們對(duì)人形動(dòng)畫有了一定的了解,接下來我們將介紹一下在游戲開發(fā)中人形角色動(dòng)畫的具體應(yīng)用步驟。
Animator 組件是關(guān)聯(lián)角色及其行為的紐帶,每一個(gè)含有 Avatar 的角色動(dòng)畫模型都需要一個(gè) Animator 組件。Animator 組件引用了 Animator Controller 用于為角色設(shè)置行為,具體參數(shù)如下表所示。
參 數(shù) | 含 義 | 功 能 |
---|---|---|
Controller | 控制器 | 關(guān)聯(lián)到角色的 Animator 控制器 |
Avatar | 骨架結(jié)構(gòu)的映射 | 定義 Mecanim 動(dòng)畫系統(tǒng)的簡(jiǎn)化人形骨架結(jié)構(gòu)到該角 色的骨架結(jié)構(gòu)的映射 |
Apply Root Motion | 應(yīng)用 Root Motion 選項(xiàng) | 設(shè)置使用動(dòng)畫本身還是使用腳本來控制角色的位置 |
Animate Physics | 動(dòng)畫的物理選項(xiàng) | 設(shè)置動(dòng)畫是否與物理屬性交互 |
Culling Mode | 動(dòng)畫的裁剪模式 | 設(shè)置動(dòng)畫是否裁剪以及裁剪模式 |
Animator Controller 可以從 Project 視圖創(chuàng)建一個(gè)動(dòng)畫控制器(執(zhí)行 Create→Animator Controller
命令),同時(shí)會(huì)在 Assets 文件夾內(nèi)生成一個(gè)后綴名為 .Controller 的文件。
當(dāng)設(shè)置好運(yùn)動(dòng)狀態(tài)機(jī)后,就可以在 Hierarchy 視圖中將該 Animator Controller 拖入含有 Avatar 的角色模型 Animator 組件中。
通過動(dòng)畫控制器視圖(執(zhí)行 Window→Animator Controller
命令)可以查看和設(shè)置角色行為,值得注意的是,Animator Controller 窗口總是顯示最近被選中的后綴為 .Controller 的資源的狀態(tài)機(jī),與當(dāng)前載入的場(chǎng)景無關(guān)。
最后在 Inspector 屬性編輯器 Conditions 列表中單擊“+”創(chuàng)建參數(shù),并選擇所需的參數(shù)即可,如下圖所示。
模型動(dòng)畫是常見的游戲動(dòng)畫類型,玩家通過特定的操作對(duì)模型進(jìn)行動(dòng)作指定,從而完成交互功能。
本案例旨在通過模型動(dòng)畫的制作,讓讀者了解骨骼綁定后的 fbx 模型動(dòng)畫在 Unity 3D 軟件中的使用方法。
本案例在 Unity 3D 內(nèi)導(dǎo)入一個(gè)綁定好骨骼動(dòng)畫的第三人稱人物模型,人物身上綁定了若干個(gè)動(dòng)作,通過代碼實(shí)現(xiàn)鍵盤與模型動(dòng)畫的交互功能,如下圖所示。
步驟 1):創(chuàng)建項(xiàng)目并保存場(chǎng)景。
步驟 2):執(zhí)行 Assets→Import Package→Characters 命令載入人物資源。
步驟 3):將模型添加到 Scene 視圖中,按 F2 鍵將其重新命名為 Constructor,調(diào)整好位置,如下圖所示。
步驟 4):在右側(cè)的 Inspector 面板中設(shè)置動(dòng)畫動(dòng)作,如下圖所示。
其中有關(guān)的參數(shù)功能如下:
步驟 5):創(chuàng)建 JavaScript 腳本,并將其連接到攝像機(jī)上。
var obj:GameObject=null;
function Start(){
obj=GameObject.Find("Constructor");
obj.animation.wrapMode=WrapMode.Loop;
} //設(shè)置動(dòng)畫播放類型為循環(huán)
function Update(){
if(Input.GetKeyDown(KeyCode.A)) //按鍵后播放不同動(dòng)畫
{obj.animation.Play("idle");}
if(Input.GetKeyDown(KeyCode.B))
{obj.animation.Play("run");}
if(Input.GetKeyDown(KeyCode.C))
{obj.animation.Play("walk");}
if(Input.GetKeyDown(KeyCode.D))
{obj.animation.Play("jump pose");}
}
function OnGUI(){ //顯示提示信息
GUILayout.Label("按字母鍵A、B、C、D切換播放模型骨骼動(dòng)畫");
}
步驟 6):?jiǎn)螕?Play 按鈕測(cè)試,可以通過鍵盤 A、B、C、D 鍵控制人物動(dòng)作。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: