摘要:Endorphin動態(tài)運(yùn)動合成系統(tǒng)是基于人工智能控制器來模仿人體神經(jīng)系統(tǒng)的角色動畫模擬軟件,它不依賴傳統(tǒng)關(guān)鍵幀和動作捕捉技術(shù)就可讓3D角色產(chǎn)生互動行為或按照設(shè)定的狀態(tài)自行產(chǎn)生真實(shí)的動作,并可在實(shí)時狀態(tài)下對角色的運(yùn)動進(jìn)行合成,這在游戲角色動畫制作領(lǐng)域具有極高的實(shí)用價值。文章主要從Endorphin的原理、功能、傳統(tǒng)動作捕捉存在的問題以及Endorphin在游戲動畫制作域的應(yīng)用等幾個方面進(jìn)行了探討。
關(guān)鍵詞:動態(tài)運(yùn)動合成軟件;動作捕捉;Endorphin;Euphoria;游戲?qū)崟r動畫技術(shù)
中圖分類號:TP30 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-2374(2014)34-0050-03
在3D游戲角色動畫制作領(lǐng)域,動作捕捉代表著當(dāng)今游戲角色動畫制作技術(shù)的主流,但這種基于硬件的傳統(tǒng)動作捕捉系統(tǒng)在游戲角色動畫制作領(lǐng)域中存在的問題也是顯而易見的。Natural Motion公司的Endorphin動態(tài)運(yùn)動合成軟件的出現(xiàn)為游戲角色動畫制作的發(fā)展提供了新的方向,其在技術(shù)上極具創(chuàng)新性,它無需任何特殊硬件設(shè)備,采用革命性的人工智能和生物力學(xué)、遺傳算法技術(shù),賦予角色擬真的動作及互動模擬,實(shí)時產(chǎn)生骨骼運(yùn)動軌跡和動畫數(shù)據(jù),達(dá)到完全由軟件“捕捉”運(yùn)動的效果。
Endorphin軟件等同于建立了一個物理模擬系統(tǒng),并給系統(tǒng)里的虛擬角色配置了高端的人工智能和生物特性,使其在不同情況下表現(xiàn)得如同動作捕捉系統(tǒng)中的演員一般,這極大地縮短了游戲角色動畫制作的時間,降低了游戲的制作成本。以發(fā)展的眼光看,這種智能化的實(shí)時角色動畫生成技術(shù)將會徹底取代傳統(tǒng)的動作捕捉
技術(shù)。
1 動態(tài)運(yùn)動合成軟件——Endorphin的原理
基于動態(tài)運(yùn)動合成技術(shù)的Endorphin軟件是以牛津大學(xué)生物學(xué)院對人和動物的運(yùn)動控制研究為基礎(chǔ),采用遺傳算法,通過建立一個具有真實(shí)物理屬性和生物特性的角色模型,賦予它一套仿真的神經(jīng)網(wǎng)絡(luò)系統(tǒng),再設(shè)定希望得到的目標(biāo)行為。然后模擬自然界生物優(yōu)勝劣汰的進(jìn)化過程,采用人工進(jìn)化的方法,連續(xù)篩選出最為接近目標(biāo)行為的若干段程序碼,變異組合后,產(chǎn)生下一代程序碼,經(jīng)過數(shù)代“繁殖”、“進(jìn)化”后,得到最優(yōu)的程序碼即可生成實(shí)時并且是符合要求的自適應(yīng)行為。傳統(tǒng)制作角色動畫的方法是固定,場景的改變不會對它們的動作產(chǎn)生任何影響,而Endorphin軟件的虛擬角色可對環(huán)境的感知做出反應(yīng),這如同人類一樣可以根據(jù)場景或環(huán)境的改變產(chǎn)生自適應(yīng)行為,動畫師所要做的就是給它下達(dá)命令而已。
Endorphin軟件中產(chǎn)生的三維角色動畫完全是交互式的。它的自適應(yīng)人工智能行為列表中有眾多的可選行為,如爆炸、跳躍、翻滾、行走、跑步等,每種行為又有不同的表現(xiàn)。你也可以實(shí)現(xiàn)同時對多角色的控制,讓每個角色擁有獨(dú)立的行為和姿勢,并讓他們互相阻擋、推擠、打斗,且每個角色的行為都是實(shí)時的。
2 傳統(tǒng)動作捕捉技術(shù)在3D游戲動畫制作中存在的問題
傳統(tǒng)動作捕捉技術(shù)在游戲角色動畫制作中存在諸多局限性,表現(xiàn)在以下五個方面:
2.1 動畫數(shù)據(jù)的平滑問題
在游戲動畫領(lǐng)域,動畫數(shù)據(jù)的平滑是一個仍未解決的難題。游戲角色動畫本應(yīng)是互動的,但游戲里的3D動畫是由多段短小的預(yù)制動畫拼接而成,多段動畫拼接時,角色的姿態(tài)不能很好地銜接,這也就是在3D游戲里角色動畫不連貫的原因。
2.2 目標(biāo)重新設(shè)置的問題
3D游戲里基本上是把一套動作捕捉數(shù)據(jù)運(yùn)用到不同的角色上,比如捕捉一套足球射門的動作來驅(qū)動游戲里所有球員的射門,當(dāng)游戲角色與動作捕捉的演員體型差異較大時,就會發(fā)生球員腳碰不到球或腳伸入足球里等錯誤現(xiàn)象。
2.3 動作捕捉的場地和對象限制
有些運(yùn)動并不適合在動作捕捉工作室中進(jìn)行,如賽馬、跳傘等運(yùn)動。此外,這種捕捉局限于人物和動物,但游戲里的角色可能是恐龍或螞蟻,你無法讓它們作為捕捉的演員。
2.4 安全性的問題
動作捕捉主要是靠人表演,當(dāng)你需要捕捉演員從高空墜落或是汽車與演員碰撞等動作時,會給捕捉帶來意外事故的隱患。
2.5 昂貴的動作捕捉設(shè)備和復(fù)雜的后期處理
建立動作捕捉工作室需數(shù)十臺專業(yè)攝影機(jī)和至少幾十平米的大型場地,這使得多數(shù)游戲制作公司都無法擁有自己的動作捕捉工作室。再則捕捉速度一般是60幀/秒,捕捉時常出現(xiàn)跟蹤球位置重疊或骨骼拓?fù)浣Y(jié)構(gòu)錯亂的現(xiàn)象,要在龐大的數(shù)據(jù)里找出這些問題需要非常專業(yè)的技術(shù)人員才能夠做到。
3 與傳統(tǒng)動作捕捉系統(tǒng)相比,Endorphin軟件所具有的優(yōu)勢
與傳統(tǒng)傳統(tǒng)動作捕捉技術(shù)相比,Endorphin可以直接產(chǎn)生骨骼動畫數(shù)據(jù),其主要優(yōu)勢表現(xiàn)在以下四個方面:
3.1 可實(shí)時創(chuàng)建角色動畫,產(chǎn)生完整干凈的動態(tài)數(shù)據(jù)
Endorphin將人工智能應(yīng)用到角色生物力學(xué)的模擬中,動畫可實(shí)時調(diào)整,制作兩個人打斗的動畫僅需幾分鐘,并可產(chǎn)生完美的動態(tài)數(shù)據(jù),無需要再通過專業(yè)人士進(jìn)行后期清除噪聲數(shù)據(jù)。
3.2 拓展利用現(xiàn)有的動畫數(shù)據(jù)
它可以獲取c**、Acclaim(*.asf)、Acclaim(*.amc)、Biovision(*.bvh)和Kaydara FBX(*.fbx)五種文件格式的運(yùn)動文件,方便地導(dǎo)入3DSMAX中的CS或者Kaydara公司的MotionBuilder軟件,進(jìn)行最終的動畫設(shè)計(jì)和渲染輸出。Endorphin 2.52版本就已能輸入Vicon動態(tài)捕捉器的所捕捉的動態(tài)數(shù)據(jù),自動平滑處理與Endorphin之間的過渡動畫。
3.3 完成傳統(tǒng)動作捕捉不可能完成的任務(wù)
危險(xiǎn)的動作捕捉不能由演員來完成,而Endorphin的演員是虛擬的,能模擬任何危險(xiǎn)情況下的動畫,比如高空跳樓、撞擊等效果。endprint
3.4 Endorphin的“自適應(yīng)行為”
Endorphin的自適應(yīng)行為功能,具有互動性,可為3D角色自動添加動畫效果。如果將兩個足球運(yùn)動員的角色靠近放置,其中一個球員會自動碰到另一名球員,纏住他的雙腿將其拌倒,整個動作非常逼真。
4 Endorphin在游戲角色動畫制作中的應(yīng)用
4.1 Endorphin操作流程
4.1.1 設(shè)定虛擬角色。Endorphin可自動生成的角色。Endorphin有兩個軌道面板:角色軌道面板與環(huán)境軌道面板。在角色軌道點(diǎn)擊右鍵會出現(xiàn)各種行為事件以供選擇,如姿態(tài)事件、行為事件、約束事件、力事件等。在環(huán)境軌道可在場景中創(chuàng)建一些如建筑物、汽車、槍只等物體,并可設(shè)置其物理屬性。
4.1.2 創(chuàng)建事件。創(chuàng)建事件后,事件以橙色滑塊顯示在角色軌道,同時上面還有事件名稱。滑塊可在時間軸上拖動,以調(diào)節(jié)該事件的時間長度。如選擇“胳膊旋轉(zhuǎn)”的行為事件,點(diǎn)擊播放按鈕后,即可顯示虛擬角色胳膊旋轉(zhuǎn)的動畫,調(diào)節(jié)胳膊旋轉(zhuǎn)的各種參數(shù),如肩膀、肘擺動的幅度、速度以及腿和軀干硬度等。播放超過滑塊長度后,受到重力影響,虛擬角色自然下垂倒地。如讓角色不倒下且有后續(xù)行為時,再根據(jù)需要添加其他事件,添加其他事件后軟件會再次生成一移動滑塊,兩個滑塊連接后,剛才的動作會與這個滑塊的動作連接在一起,成為一連串連續(xù)動作。動作的連接如果比較生硬,則可再次添加事件,如運(yùn)動傳遞事件進(jìn)行修飾,以使動作連貫、流暢。
4.1.3 執(zhí)行模擬命令產(chǎn)生動畫。
4.1.4 虛擬角色動畫數(shù)據(jù)的導(dǎo)出。將虛擬角色模擬解算后生成動畫數(shù)據(jù)以FBX的格式導(dǎo)出,然后導(dǎo)入到3DSMAX、MAYA或是motionbuilder中。
4.2 Endorphin的事件模塊
Endorphin軟件一套完整的角色動作模擬依賴于事件的組合。Endorphin的事件模塊類似于動作數(shù)據(jù)庫,但不同于一般動作捕捉或是手工制作的動作數(shù)據(jù)庫,這種動作數(shù)據(jù)庫無法形成互動,而Endorphin的事件模塊是可以與游戲動畫師通過參數(shù)的調(diào)節(jié)進(jìn)行互動,這種交互式的行為功能,是Endorphin的核心功能。
Endorphin的事件模塊中主要有行為事件和其他事件兩個部分。行為事件包括平衡事件、掙扎事件、腿部行為、胳膊行為、倒地行為、抱住行為、雙手行為、跳躍行為、空中掙扎掉落行為、身體硬度與僵硬、彎曲行為事件、阻尼行為事件。其他事件包括運(yùn)動過渡事件、力事件、約束事件、姿態(tài)事件、運(yùn)動傳遞事件、切斷事件。事件的眾多組合可滿足多數(shù)情況下游戲動畫制作的要求,隨著Endorphin新版本的出現(xiàn),其事件模塊功能將更豐富。
4.3 Endorphin在游戲角色動畫制作中的功能
Endorphin在游戲動畫制作中的功能主要體現(xiàn)在以下五個方面:
4.3.1 可實(shí)現(xiàn)高層次交互式動畫并實(shí)時產(chǎn)生動畫數(shù)據(jù),用戶只需改變設(shè)定的參數(shù)即可交互式產(chǎn)生新的動畫,快速簡潔,易于修改和重新制作,無需手工制作動畫關(guān)鍵幀那樣逐幀設(shè)定。與傳統(tǒng)動作捕捉方法一樣,Endorphin生成的動畫也可作為預(yù)制動畫存儲于數(shù)據(jù)庫以被游戲調(diào)用,若Endorphin被嵌于游戲系統(tǒng)引擎,預(yù)制動畫則沒有存在的必要,所有動畫都可以由Endorphin在游戲中實(shí)時生成,且不會重復(fù),也就不存在動畫片段間的平滑過渡問題。
4.3.2 高新能顯卡支持下,可實(shí)現(xiàn)對一個或多個虛擬角色進(jìn)行模擬,角色的數(shù)量無上限;也可以改變虛擬角色的骨骼結(jié)構(gòu),模擬動物;亦可在場景中放置任何物體,讓角色與之碰撞或發(fā)生其他接觸。
4.3.3 Endorphin內(nèi)部預(yù)制有常見的肢體運(yùn)動行為,如手觸、腳踢物體、跳躍、向前向后摔倒等,而且允許或限制虛擬人某些部位的運(yùn)動。例如在整個動畫過程中,虛擬人的手必須抓住門的扶手或雙手握著手槍,這些預(yù)制動作極大地方便了游戲動畫的制作。
4.3.4 Endorphin可以設(shè)置虛擬角色的最終位置和姿勢,系統(tǒng)會在模擬過程中盡量往目標(biāo)靠近,這種規(guī)定動畫結(jié)局的方法能給游戲的開放式設(shè)計(jì)帶來有效的控制。系統(tǒng)允許把模擬的動畫和輸入的動畫混合,這樣可以將現(xiàn)有的動畫和Endorphin的物理模擬無縫結(jié)合,這對動畫制作次要的連續(xù)變化非常有用。
4.3.5 Endorphin允許用戶輸入動畫和模擬動畫混合,這可以將動畫師現(xiàn)有的3DSMAX或MAYA動畫數(shù)據(jù)輸入到Endorphin中,利用Endorphin物理模擬優(yōu)勢可以節(jié)約大量的游戲動畫制作時間。
5 游戲角色動畫引擎——Euphoria
Natural Motion公司在其核心產(chǎn)品Endorphin產(chǎn)品基礎(chǔ)上新開發(fā)的Euphoria游戲角色動作引擎,這與只能作為角色動畫制作工具的Endorphin有了根本性的
變化。
Euphoria利用CPUs對交互的動畫進(jìn)行合成,不再是基于對已存儲的數(shù)據(jù)進(jìn)行調(diào)用,而是對游戲角色真實(shí)肌肉運(yùn)動和生物力學(xué)的快速模擬,它可使游戲動畫生成的實(shí)時性更強(qiáng),編程人員不必事先編寫角色的反應(yīng)程序,而是直接由動畫引擎通過計(jì)算動作力度等多重變量來決定游戲中的角色模型將如何反應(yīng),每次的計(jì)算結(jié)果都會有所不同,因此玩家會體驗(yàn)到與以往不同的獨(dú)特感覺,游戲中角色的動作就是你本人的動作,而不再是動畫數(shù)據(jù),游戲中的角色行動起來就好像有中樞神經(jīng)控制一樣的靈敏。
Euphoria將動態(tài)動作合成技術(shù)運(yùn)用到Playstation 3、Xbox 360和PC機(jī)上,實(shí)現(xiàn)了動態(tài)動作合成技術(shù)鑲嵌于游戲引擎,使之能夠營造出真實(shí)、獨(dú)特的游戲體驗(yàn),動畫逼真程度可稱得上前所未有。這是繼3D圖像后游戲領(lǐng)域中最大的革新,也是游戲?qū)崟r動畫技術(shù)的一次重大突破。
6 結(jié)語
Endorphin作為一個可進(jìn)行動作捕捉模擬的交互式動態(tài)運(yùn)動合成軟件,具有實(shí)時演算、角色動畫自動生成的功能,其剪輯式編輯動畫的操作方式改變了人們制作游戲角色動畫的傳統(tǒng)思維。Endorphin軟件盡管受現(xiàn)階段人工智能和生物仿真技術(shù)發(fā)展的限制,仍然只是一個制作動畫的工具,其產(chǎn)生的自適應(yīng)行為種類也有限,但Endorphin所采用的技術(shù)模式代表著未來游戲角色動畫的發(fā)展趨勢。隨著更先進(jìn)的Euphoria游戲角色動作引擎的出現(xiàn),使游戲的實(shí)時動畫技術(shù)上升到了一個新的高度,在可見的未來,智能化的實(shí)時動畫生成技術(shù)將在3D游戲動畫領(lǐng)域一統(tǒng)天下。
參考文獻(xiàn)
[1] 段世梅,孫倩,陳彥明.人體動作捕捉儀的設(shè)計(jì)與實(shí)現(xiàn)[J].中國科技信息,2011,(6).
[2] 珍妮·諾瓦克,糜曉波.游戲設(shè)計(jì)完全教程[M].上海:上海人民美術(shù)出版社,2008.
[3] 郝衛(wèi)亞.人體運(yùn)動的生物力學(xué)建模與計(jì)算機(jī)仿真進(jìn)展[J].醫(yī)用生物力學(xué),2011,(2).
[4] 沈娟,李建微.動作捕捉中的動畫驅(qū)動及運(yùn)動編輯技術(shù)綜述[J].計(jì)算機(jī)與數(shù)字工程,2008,(3).
[5] 景東,張雨.基于動作捕捉的虛擬運(yùn)動藝術(shù)中生命自然性表達(dá)[J].文藝評論,2010,(4).
作者簡介:尚冰(1973-),男,安徽人,供職于蘇州高博軟件職業(yè)技術(shù)學(xué)院,研究方向:三維動畫。endprint