作者:腦洞君
發(fā)布時(shí)間: 2025-08-27 18:45:48
瀏覽量:0次
說(shuō)明:文中所有的配圖均來(lái)源于網(wǎng)絡(luò)
在游戲引擎里,動(dòng)畫(huà)系統(tǒng)(Animation System)扮演著至關(guān)重要的角色。它能讓角色和物體隨著時(shí)間推移,通過(guò)運(yùn)動(dòng)與視覺(jué)變化鮮活起來(lái)。原本靜態(tài)的 3D 模型,經(jīng)此系統(tǒng)處理,可化作能行走的角色、飄動(dòng)的旗幟,或是能開(kāi)合的門(mén)。
要讓 3D 模型動(dòng)起來(lái),需在模型上綁定虛擬骨骼,構(gòu)建起骨骼的層次結(jié)構(gòu)。這些骨骼與模型網(wǎng)格緊密相連,其移動(dòng)會(huì)促使模型網(wǎng)格變形。如此一來(lái),我們便能操作骨骼,讓模型擺出各種姿勢(shì),進(jìn)而實(shí)現(xiàn)更豐富的動(dòng)作。
游戲引擎為管理和應(yīng)用這些動(dòng)畫(huà)提供了多樣工具與功能。像骨架網(wǎng)格體和骨架,是動(dòng)畫(huà)的基礎(chǔ)支撐;動(dòng)畫(huà)序列則記錄著預(yù)先設(shè)定好的動(dòng)作片段;動(dòng)畫(huà)藍(lán)圖等類似工具,能以可視化的方式編排動(dòng)畫(huà)邏輯;動(dòng)畫(huà)混合可讓不同動(dòng)畫(huà)自然過(guò)渡;動(dòng)畫(huà)蒙太奇能組合多個(gè)動(dòng)畫(huà)片段;變形目標(biāo)(Morph Target)可實(shí)現(xiàn)模型的局部變形。
以虛幻引擎為例,它擁有強(qiáng)大的骨骼網(wǎng)格動(dòng)畫(huà)系統(tǒng),配備專門(mén)的編輯器和工具,如動(dòng)畫(huà)藍(lán)圖、動(dòng)畫(huà)蒙太奇和 Control Rig,助力創(chuàng)建復(fù)雜的動(dòng)態(tài)角色動(dòng)畫(huà)。而且,它還在開(kāi)發(fā)名為虛幻動(dòng)畫(huà)框架(UAF)的次世代系統(tǒng),著重提升性能與模塊化程度。
骨骼動(dòng)畫(huà)是 3D 模型動(dòng)畫(huà)制作的核心技術(shù),它借助相互連接的“骨骼”層次結(jié)構(gòu),當(dāng)移動(dòng)模型網(wǎng)格時(shí),“骨骼”隨之變形,帶動(dòng)模型動(dòng)作。
現(xiàn)代游戲動(dòng)畫(huà)并非簡(jiǎn)單播放預(yù)先錄制的動(dòng)作或動(dòng)畫(huà)序列。它運(yùn)用復(fù)雜的邏輯、混合與程序技術(shù),打造出動(dòng)態(tài)且反應(yīng)靈敏的角色動(dòng)作,以契合游戲需求。盡管預(yù)先錄制的動(dòng)畫(huà)序列是基石,但游戲引擎還需依靠動(dòng)畫(huà)藍(lán)圖、混合以及程序動(dòng)畫(huà)等復(fù)雜系統(tǒng),讓角色能對(duì)玩家的輸入和不斷變化的游戲世界做出令人信服的反應(yīng)。
在游戲引擎里,角色及復(fù)雜對(duì)象動(dòng)畫(huà)的核心要素是骨架網(wǎng)格體(Skeletal Meshes,也叫骨骼網(wǎng)格體)與骨架(Skeletons),它們是讓靜態(tài) 3D 模型能擺出姿勢(shì)并實(shí)現(xiàn)動(dòng)畫(huà)的基礎(chǔ)資產(chǎn)。
骨架網(wǎng)格體是角色或?qū)ο笤谟螒蛑谐尸F(xiàn)的可見(jiàn) 3D 模型,也就是我們實(shí)際看到的多邊形網(wǎng)格與紋理,它如同動(dòng)畫(huà)實(shí)體的“皮膚”或“身體”。而與骨架網(wǎng)格體緊密相連的是骨架,確切地說(shuō)是附加在骨架網(wǎng)格體上的骨架。骨架由相互連接的“骨骼”或“關(guān)節(jié)”構(gòu)成分層結(jié)構(gòu),和真實(shí)骨架極為相似,這些骨骼充當(dāng)著網(wǎng)格動(dòng)畫(huà)的控制點(diǎn)。當(dāng)移動(dòng)或旋轉(zhuǎn)骨骼時(shí),骨架網(wǎng)格體中與該骨骼“加權(quán)”的頂點(diǎn)會(huì)隨之移動(dòng),進(jìn)而使網(wǎng)格發(fā)生變形。
把網(wǎng)格頂點(diǎn)和骨骼關(guān)聯(lián)起來(lái),并明確每塊骨骼對(duì)特定頂點(diǎn)影響程度的過(guò)程,叫做“蒙皮”,也叫“加權(quán)”或“權(quán)重繪制”。這一過(guò)程通常不會(huì)在游戲引擎內(nèi)完成,而是在導(dǎo)入資產(chǎn)之前,借助外部 3D 建模和動(dòng)畫(huà)軟件,像 Maya、3ds Max 或 Blender 等來(lái)操作。通過(guò)蒙皮,能讓骨骼的運(yùn)動(dòng)精準(zhǔn)地帶動(dòng)網(wǎng)格頂點(diǎn)的變化,從而呈現(xiàn)出自然流暢的動(dòng)畫(huà)效果,為游戲中的角色和對(duì)象賦予鮮活的生命力。
動(dòng)畫(huà)序列(Animation Sequences)堪稱游戲引擎動(dòng)畫(huà)系統(tǒng)里角色與物體運(yùn)動(dòng)的基石。它如同一個(gè)個(gè)獨(dú)立的片段或文件,承載著骨架網(wǎng)格體的骨骼在特定時(shí)間段內(nèi)的姿勢(shì)與變換數(shù)據(jù)。
每個(gè)動(dòng)畫(huà)序列都代表著一個(gè)完整的獨(dú)立動(dòng)畫(huà),像角色的行走循環(huán)、待機(jī)時(shí)的姿勢(shì)、奮力跳躍的動(dòng)作,或是敵人的攻擊姿態(tài)等。這些序列一般由動(dòng)畫(huà)師在外部 3D 軟件中精心雕琢后,再導(dǎo)入游戲引擎。
在動(dòng)畫(huà)序列里,動(dòng)畫(huà)數(shù)據(jù)以關(guān)鍵幀(Keyframes)的形式留存。關(guān)鍵幀如同一個(gè)個(gè)精準(zhǔn)的標(biāo)記,記錄下骨骼在特定時(shí)間點(diǎn)的位置、旋轉(zhuǎn)以及縮放信息。游戲引擎則會(huì)在這些關(guān)鍵幀之間巧妙地進(jìn)行插值處理,實(shí)現(xiàn)平滑過(guò)渡,生成中間幀,進(jìn)而營(yíng)造出連續(xù)運(yùn)動(dòng)的逼真效果。
不過(guò),動(dòng)畫(huà)序列屬于靜態(tài)資產(chǎn),并不具備游戲邏輯。其播放與組合需要依賴動(dòng)畫(huà)系統(tǒng)中的其他部分來(lái)掌控。以虛幻引擎為例,動(dòng)畫(huà)序列的播放和組合是由動(dòng)畫(huà)藍(lán)圖或者動(dòng)畫(huà)蒙太奇來(lái)負(fù)責(zé)的,如此才能讓游戲中的角色和物體呈現(xiàn)出豐富多樣的動(dòng)態(tài)表現(xiàn)。
動(dòng)畫(huà)序列為游戲動(dòng)畫(huà)提供了基礎(chǔ)的原始數(shù)據(jù),而動(dòng)畫(huà)藍(lán)圖(Animation Blueprints)則是讓動(dòng)畫(huà)“活”起來(lái)的關(guān)鍵所在。它是虛幻引擎中一種專為動(dòng)畫(huà)邏輯打造的特殊藍(lán)圖類型。
動(dòng)畫(huà)藍(lán)圖借助可視化腳本界面,精準(zhǔn)定義骨骼網(wǎng)格的動(dòng)畫(huà)狀態(tài)與行為。它掌控著動(dòng)畫(huà)序列的播放、混合與修改方式,能依據(jù)游戲中的實(shí)時(shí)情況,創(chuàng)造出動(dòng)態(tài)且反應(yīng)靈敏的角色動(dòng)畫(huà)。
動(dòng)畫(huà)藍(lán)圖包含兩種重要圖表:事件圖表和動(dòng)畫(huà)圖表。在事件圖表里,可處理各類事件,例如角色移動(dòng)相關(guān)事件,并據(jù)此更新控制動(dòng)畫(huà)的變量,為動(dòng)畫(huà)變化提供觸發(fā)條件。而動(dòng)畫(huà)圖表則負(fù)責(zé)確定骨架網(wǎng)格體的最終姿勢(shì),它能夠混合與結(jié)合不同動(dòng)畫(huà)序列,依據(jù)變量更新情況來(lái)決定輸出的動(dòng)畫(huà)姿態(tài),讓角色動(dòng)作更加豐富自然。
在動(dòng)畫(huà)圖表中,眾多動(dòng)畫(huà)節(jié)點(diǎn)可助力實(shí)現(xiàn)復(fù)雜動(dòng)畫(huà)行為,其中涉及狀態(tài)機(jī)、混合空間、動(dòng)畫(huà)姿勢(shì)相關(guān)節(jié)點(diǎn)等概念。動(dòng)畫(huà)狀態(tài)機(jī)(State Machine)是動(dòng)畫(huà)制作常用系統(tǒng),它能清晰定義各種不同的動(dòng)畫(huà)狀態(tài),以及角色在這些狀態(tài)間轉(zhuǎn)換的條件,就像為角色動(dòng)畫(huà)搭建了一個(gè)邏輯清晰的“交通樞紐”,確保動(dòng)畫(huà)切換流暢且符合邏輯。
動(dòng)畫(huà)混合(Animation Blending)作為游戲動(dòng)畫(huà)系統(tǒng)中的基礎(chǔ)技術(shù),扮演著至關(guān)重要的角色,它能讓不同動(dòng)畫(huà)狀態(tài)或序列之間實(shí)現(xiàn)平滑自然的過(guò)渡。倘若沒(méi)有動(dòng)畫(huà)混合,角色從一種動(dòng)畫(huà)狀態(tài)(如行走)切換到另一種(如奔跑)時(shí),動(dòng)作變化將會(huì)顯得突然且生硬,極大地破壞游戲的沉浸感與真實(shí)感。
動(dòng)畫(huà)混合的工作原理,是在短時(shí)間內(nèi)對(duì)兩個(gè)或多個(gè)動(dòng)畫(huà)的姿勢(shì)進(jìn)行插值運(yùn)算。游戲引擎會(huì)依據(jù)混合“權(quán)重”或“因子”,通過(guò)混合來(lái)自不同動(dòng)畫(huà)的骨骼變換,來(lái)精確計(jì)算中間姿勢(shì)。混合權(quán)重的范圍通常設(shè)定在 0 至 1(或 0% 至 100%)。當(dāng)權(quán)重為 0 時(shí),意味著只有第一個(gè)動(dòng)畫(huà)對(duì)最終姿勢(shì)貢獻(xiàn)全部力量;權(quán)重為 1 時(shí),則只有第二個(gè)動(dòng)畫(huà)發(fā)揮作用;權(quán)重介于兩者之間,則會(huì)讓兩個(gè)動(dòng)畫(huà)按比例混合,從而呈現(xiàn)出豐富多樣的過(guò)渡效果。
不同的混合類型有著各自獨(dú)特的目的,以下是一些常見(jiàn)的混合方式:
交叉淡入淡出:這種混合方式常用于兩個(gè)動(dòng)畫(huà)片段之間的平滑過(guò)渡。當(dāng)動(dòng)畫(huà) A 切換到動(dòng)畫(huà) B 時(shí),動(dòng)畫(huà) A 的權(quán)重會(huì)逐漸從 1 降至 0,與此同時(shí),動(dòng)畫(huà) B 的權(quán)重從 0 增至 1。在過(guò)渡過(guò)程中,兩個(gè)動(dòng)畫(huà)疊加播放,最終實(shí)現(xiàn)無(wú)縫切換。例如,角色從“站立”到“行走”的切換,通過(guò)交叉淡入淡出就能避免動(dòng)作出現(xiàn)“跳幀”現(xiàn)象,讓動(dòng)作更加流暢自然。
混合空間:它是一種基于參數(shù)控制的多動(dòng)畫(huà)混合方式,常用于連續(xù)變化的動(dòng)作。將多個(gè)動(dòng)畫(huà)按照參數(shù)分布到一維或者二維的空間中,游戲引擎根據(jù)實(shí)時(shí)輸入的參數(shù),計(jì)算空間中對(duì)應(yīng)位置的動(dòng)畫(huà)權(quán)重,進(jìn)而混合出符合當(dāng)前狀態(tài)的動(dòng)畫(huà)。比如角色跑步時(shí),根據(jù)速度的快慢,系統(tǒng)會(huì)自動(dòng)混合“慢跑”“中速跑”“快跑”動(dòng)畫(huà);或者根據(jù)轉(zhuǎn)向角度,混合“直行跑”“左轉(zhuǎn)彎跑”“右轉(zhuǎn)彎跑”等動(dòng)畫(huà),使角色動(dòng)作更加貼合實(shí)際情況。
分層混合:此方式將動(dòng)畫(huà)按照“基礎(chǔ)層”+“疊加層”的結(jié)構(gòu)進(jìn)行組合。底層是核心動(dòng)作,如“跑步”;上層是附加動(dòng)作,即混合動(dòng)作。例如站立揮手動(dòng)畫(huà),上層動(dòng)畫(huà)僅影響特定骨骼(如上半身的骨骼),不會(huì)干擾底層整體運(yùn)動(dòng)。通過(guò)這種方式,可以實(shí)現(xiàn)邊跑步邊揮手的復(fù)雜動(dòng)畫(huà)效果。
疊加混合:它是將一個(gè)動(dòng)畫(huà)姿勢(shì)與一個(gè)參考姿勢(shì)的差異(Difference)疊加到另一個(gè)動(dòng)畫(huà)上,常用于對(duì)動(dòng)畫(huà)進(jìn)行微調(diào),如實(shí)現(xiàn)傾斜、瞄準(zhǔn)偏移等細(xì)微動(dòng)作變化。
過(guò)渡混合:這是特指動(dòng)畫(huà)狀態(tài)切換時(shí)的混合,本質(zhì)上是交叉淡入淡出的擴(kuò)展,常與狀態(tài)機(jī)的轉(zhuǎn)換邏輯結(jié)合使用,確保動(dòng)畫(huà)狀態(tài)切換更加自然流暢。
動(dòng)畫(huà)混合對(duì)于制作真實(shí)可信的角色動(dòng)作至關(guān)重要。想象一下,在一款游戲中,你的角色能夠做出各種豐富多樣的動(dòng)作。當(dāng)角色正在奔跑,然后迅速停下并舉起盾牌時(shí),我們可以通過(guò)狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,使“奔跑”動(dòng)畫(huà)向“待機(jī)”或“停止”動(dòng)畫(huà)進(jìn)行過(guò)渡混合。與此同時(shí),利用分層混合技術(shù)播放上半身的“舉盾”動(dòng)畫(huà),而下半身仍在從奔跑狀態(tài)中過(guò)渡或穩(wěn)定下來(lái),從而讓角色的動(dòng)作更加逼真、自然,為玩家?guī)?lái)更加沉浸式的游戲體驗(yàn)。
動(dòng)畫(huà)蒙太奇是虛幻引擎等游戲引擎中極為強(qiáng)大的資產(chǎn),為動(dòng)畫(huà)播放的合并與控制提供了靈活多樣的方法。
簡(jiǎn)單來(lái)講,動(dòng)畫(huà)藍(lán)圖負(fù)責(zé)管理角色的整體動(dòng)畫(huà)狀態(tài),像角色是處于行走、奔跑還是跳躍狀態(tài)等。而動(dòng)畫(huà)蒙太奇則專注于播放特定、觸發(fā)的動(dòng)作,這些動(dòng)作既能夠中斷當(dāng)前正在播放的主動(dòng)畫(huà),也可以疊加在主動(dòng)畫(huà)之上。例如前面提到的分層混合場(chǎng)景,揮手動(dòng)畫(huà)便可以借助動(dòng)畫(huà)蒙太奇來(lái)實(shí)現(xiàn)。
可以把動(dòng)畫(huà)蒙太奇看作是由多個(gè)動(dòng)畫(huà)組合而成的“動(dòng)畫(huà)包”。像角色的攻擊組合動(dòng)作、步槍換彈過(guò)程、角色被擊中時(shí)的反應(yīng),或是某個(gè)特殊技能釋放的動(dòng)畫(huà)等,都能包含其中。與在復(fù)雜的動(dòng)畫(huà)藍(lán)圖狀態(tài)機(jī)中管理這些特定動(dòng)作相比,動(dòng)畫(huà)蒙太奇能對(duì)這些動(dòng)作進(jìn)行更為精細(xì)的控制。
動(dòng)畫(huà)蒙太奇涉及片段、插槽、動(dòng)畫(huà)通知、混合控制等概念,此處暫不深入展開(kāi)。它通常由游戲玩法的代碼或藍(lán)圖觸發(fā),播放時(shí)能夠接管指定插槽的動(dòng)畫(huà)。例如,當(dāng)角色處于行走或奔跑狀態(tài)(基礎(chǔ)動(dòng)畫(huà)圖表中的移動(dòng)狀態(tài))時(shí),一旦觸發(fā)指定插槽的攻擊蒙太奇,攻擊動(dòng)畫(huà)就能順利播放,讓角色的動(dòng)作表現(xiàn)更加豐富、自然。
在 3D 動(dòng)畫(huà)領(lǐng)域,實(shí)現(xiàn)方式豐富多樣。骨架動(dòng)畫(huà)憑借其優(yōu)勢(shì),在大范圍、大規(guī)模的運(yùn)動(dòng)場(chǎng)景中表現(xiàn)出色,比如角色大幅度的奔跑、跳躍等動(dòng)作。然而,當(dāng)我們需要對(duì)網(wǎng)格頂點(diǎn)進(jìn)行小范圍精確控制時(shí),骨架動(dòng)畫(huà)就顯得力不從心了,此時(shí)變形目標(biāo)技術(shù)便派上了用場(chǎng)。
變形目標(biāo)(Morph Targets),有時(shí)也被稱為混合形狀(Blend Shapes),是一種獨(dú)特的 3D 網(wǎng)格變形動(dòng)畫(huà)技術(shù)。它與骨架動(dòng)畫(huà)有著本質(zhì)區(qū)別,骨架動(dòng)畫(huà)是依靠骨骼運(yùn)動(dòng)來(lái)帶動(dòng)網(wǎng)格變形,而變形目標(biāo)則是直接對(duì)單個(gè)頂點(diǎn)的位置進(jìn)行操縱。
其基本原理并不復(fù)雜。首先,創(chuàng)建一個(gè)基本網(wǎng)格,就像以人物臉部的中性表情作為基礎(chǔ)模型。接著,再構(gòu)建一個(gè)或多個(gè)“目標(biāo)”網(wǎng)格,在這些網(wǎng)格中,通過(guò)移動(dòng)頂點(diǎn)來(lái)塑造特定的變形效果,例如將臉部網(wǎng)格調(diào)整成微笑的模樣,或是讓眼睛閉合。
在游戲引擎里,我們可以靈活調(diào)整每個(gè)變形目標(biāo)的“影響”或“權(quán)重”值,從而實(shí)現(xiàn)基本網(wǎng)格與目標(biāo)網(wǎng)格之間的平滑“變形”或混合。當(dāng)影響值為 0 時(shí),變形目標(biāo)不會(huì)產(chǎn)生任何作用;而當(dāng)影響值達(dá)到 1(或 100%)時(shí),網(wǎng)格就會(huì)完全變形,與目標(biāo)網(wǎng)格的頂點(diǎn)位置完全一致。
變形目標(biāo)技術(shù)在處理那些僅靠骨架動(dòng)畫(huà)難以達(dá)成或無(wú)法實(shí)現(xiàn)的精細(xì)變形時(shí),具有無(wú)可比擬的優(yōu)勢(shì)。在游戲制作中,它最常見(jiàn)的應(yīng)用場(chǎng)景便是創(chuàng)建逼真的面部動(dòng)畫(huà),讓角色能夠生動(dòng)地展現(xiàn)各種表情情緒,還能流暢地模擬說(shuō)話時(shí)的口型變化。
由此可見(jiàn),3D 動(dòng)畫(huà)并非全部依賴骨架來(lái)實(shí)現(xiàn)。骨架動(dòng)畫(huà)雖常見(jiàn)且適用于大規(guī)模運(yùn)動(dòng),但變形目標(biāo)技術(shù)對(duì)于特殊類型的變形,尤其是面部動(dòng)畫(huà),是一項(xiàng)不可或缺的重要技術(shù),它能對(duì)頂點(diǎn)位置進(jìn)行精準(zhǔn)把控,輕松實(shí)現(xiàn)面部表情、肌肉隆起等細(xì)微變形,而這些變形靠骨架動(dòng)畫(huà)來(lái)實(shí)現(xiàn)往往困難重重。
以上對(duì)虛幻引擎動(dòng)畫(huà)系統(tǒng)中的幾個(gè)核心概念進(jìn)行了梳理。
從承載角色形態(tài)的骨架網(wǎng)格體、驅(qū)動(dòng)運(yùn)動(dòng)的骨架,到記錄單一動(dòng)作的動(dòng)畫(huà)序列,再到憑借邏輯控制動(dòng)畫(huà)狀態(tài)切換的動(dòng)畫(huà)藍(lán)圖,它們構(gòu)成了動(dòng)畫(huà)系統(tǒng)的基礎(chǔ)框架。此外,動(dòng)畫(huà)混合讓動(dòng)作過(guò)渡自然流暢,動(dòng)畫(huà)蒙太奇能靈活組合特定動(dòng)作,變形目標(biāo)則可實(shí)現(xiàn)面部表情等細(xì)節(jié)變化。
這些工具各司其職又緊密配合,共同賦予角色鮮活的生命力。對(duì)于初學(xué)者而言,初涉這些概念時(shí)或許會(huì)覺(jué)得有些復(fù)雜,但只要理清它們之間的內(nèi)在聯(lián)系,再通過(guò)多實(shí)踐、多動(dòng)手操作,就能逐步熟悉并掌握虛幻引擎的動(dòng)畫(huà)系統(tǒng),為創(chuàng)作出精彩的角色動(dòng)畫(huà)奠定堅(jiān)實(shí)基礎(chǔ)。
優(yōu)秀作品賞析
作 者:李思庭
所學(xué)課程:2101期學(xué)員李思庭作品
作 者:林雪茹
所學(xué)課程:2104期學(xué)員林雪茹作品
作 者:趙凌
所學(xué)課程:2107期學(xué)員趙凌作品
作 者:趙燃
所學(xué)課程:2107期學(xué)員趙燃作品
同學(xué)您好!