• Unity變形動(dòng)畫(huà)編輯器

    2018/10/9??????點(diǎn)擊:
    MorphAnimation的使用(一) 創(chuàng)建變形網(wǎng)格
    首先,需要設(shè)置骨骼模式為四骨骼模式(Edit ->Project Setting -> Quality -> Other -> Blend Weights -> 4 Bones)。 
    然后導(dǎo)入MorphAnimation后,可以在任意靜態(tài)模型的MeshFilter組件下點(diǎn)擊Generate Morph Animation按鈕,將模型網(wǎng)格轉(zhuǎn)變?yōu)樽冃蝿?dòng)畫(huà)網(wǎng)格,轉(zhuǎn)變后的網(wǎng)格會(huì)自動(dòng)保存到工程Asset目錄,記得不要?jiǎng)h掉。  
    MorphAnimation的使用(二) 基本設(shè)置
    轉(zhuǎn)換成功后,GameObject會(huì)自動(dòng)賦予MorphAnimation腳本,這是我們主要的編輯器:
    1、RenderSetting:渲染設(shè)置,繼承至MeshRender的一些渲染設(shè)置。 
    2、MorphSetting:變形設(shè)置。 
    3、EditType:編輯模式, 
    Bone(骨骼層級(jí)):此模式下可以創(chuàng)建、修改、刪除骨骼,并可以編輯骨骼的外封套、內(nèi)封套,在骨骼層級(jí)編輯蒙皮信息。 
    Vertex(頂點(diǎn)層級(jí)):此模式下可以逐頂點(diǎn)查看或編輯每個(gè)頂點(diǎn)的蒙皮信息,比如更改綁定骨骼或重設(shè)權(quán)重值。 
    4、Apply按鈕:全局應(yīng)用,應(yīng)用所有骨骼和頂點(diǎn)的變動(dòng)信息,有新的改動(dòng)之后好點(diǎn)擊一下此按鈕。 
    5、3D Icon大小, 
    Vertex Size:在場(chǎng)景中,頂點(diǎn)圖標(biāo)的大小。 
    Bone Size:在場(chǎng)景中,骨骼圖標(biāo)的大小。 
    6、Done & Open In Editor Window按鈕:結(jié)束骨骼綁定和蒙皮的操作,并打開(kāi)至動(dòng)畫(huà)編輯界面,注意,結(jié)束之后,將無(wú)法再更改骨骼和蒙皮信息。
    MorphAnimation的使用(三) 編輯骨骼
    進(jìn)入骨骼模式,可以創(chuàng)建、修改、刪除骨骼,界面如下,這里我們以一個(gè)士兵的模型做講解: 
    1、當(dāng)前選中的骨骼,顯示為明黃色,同時(shí)在編輯器中會(huì)以3D圖標(biāo)突出顯示。 
    2、收縮與展開(kāi)按鈕:點(diǎn)擊可以在編輯器界面收起或展開(kāi)根骨骼。 
    3、Add按鈕:添加無(wú)父骨骼的根骨骼。 
    4、AddSub按鈕:(選中骨骼時(shí))添加子骨骼至當(dāng)前選中的骨骼。
    注意:根骨骼之間無(wú)任何約束,可隨意變形,但子骨骼會(huì)受到他直屬父骨骼的約束:子骨骼與父骨骼之間無(wú)法被拉伸和壓縮,只能做環(huán)繞運(yùn)動(dòng),如果要?jiǎng)?chuàng)建隨意變形動(dòng)畫(huà),那就不要有子骨骼。
    5、ReName按鈕:(選中骨骼時(shí))重命名當(dāng)前選中的骨骼。 
    6、Delete按鈕:(選中骨骼時(shí))刪除當(dāng)前選中的骨骼,擁有子骨骼的骨骼無(wú)法刪除,需要先刪除子骨骼。 
    7、External Range骨骼外封套范圍:在編輯器中表現(xiàn)為黃色外框,所有在此框內(nèi)(同時(shí)在內(nèi)封套外)的頂點(diǎn)將受到此骨骼的綁定,權(quán)重值隨外封套的范圍,越靠近邊緣越小,但骨骼并未對(duì)該頂點(diǎn)擁有完全控制權(quán),如果該頂點(diǎn)的綁定骨骼已達(dá)上限(4條),將不會(huì)接收到此骨骼的綁定影響。 
    8、Internal Range骨骼內(nèi)封套范圍:在編輯器中表現(xiàn)為青色外框,所有在此框內(nèi)的頂點(diǎn)將受到此骨骼的綁定,骨骼將擁有對(duì)該頂點(diǎn)的完全控制權(quán),權(quán)重值都為1,如果該頂點(diǎn)已有綁定骨骼,將會(huì)全部被此骨骼替換。 
    9、Apply Range按鈕:應(yīng)用封套范圍,開(kāi)始計(jì)算封套所影響的頂點(diǎn)。
    注意:在骨骼編輯完成前,我們*好先不要應(yīng)用封套,否則對(duì)于骨骼的移動(dòng)、旋轉(zhuǎn)、或縮放操作將會(huì)同時(shí)帶動(dòng)頂點(diǎn)。
    然后我們繼續(xù)添加骨骼,添加手臂: 
    添加臀部:
    添加腿部: 
    添加腳部: 
    添加頭部: 
    MorphAnimation的使用(四) 應(yīng)用骨骼封套
    我們調(diào)好骨骼的封套大小之后,點(diǎn)擊Apply Range按鈕應(yīng)用封套,所有在骨骼封套范圍內(nèi)的頂點(diǎn)將會(huì)受到綁定影響,比如這里,我設(shè)置手部骨骼: 
    應(yīng)用封套之后: 
    黃色的頂點(diǎn)表示受到外封套影響的頂點(diǎn),該頂點(diǎn)將至少擁有一條綁定骨骼為此骨骼; 
    青色的頂點(diǎn)表示受到內(nèi)封套影響的頂點(diǎn),該頂點(diǎn)將完全綁定此骨骼,如果該頂點(diǎn)之前擁有綁定信息,這里都將會(huì)全部丟失,受到此骨骼的完全控制。 
    紅色的頂點(diǎn)表示已經(jīng)綁定了四條骨骼,不能再受到外封套的影響,可以進(jìn)入頂點(diǎn)層級(jí)手動(dòng)刪掉他的綁定骨骼,重新應(yīng)用封套。
    MorphAnimation的使用(五) 編輯頂點(diǎn)權(quán)重
    進(jìn)入頂點(diǎn)模式,我們可以用鼠標(biāo)左鍵單擊選中模型身上的任意頂點(diǎn),重新設(shè)置他的骨骼和權(quán)重信息,weight權(quán)重值越大,該頂點(diǎn)受到該骨骼的影響越大。
    注意:頂點(diǎn)的四條骨骼的權(quán)重值的和必須等于1。
    界面如下,被選中的頂點(diǎn)在編輯器中顯示為青色3D圖標(biāo),如圖,我們當(dāng)前選中的這個(gè)頂點(diǎn)由于在骨骼“左手”的內(nèi)封套內(nèi),所以其完全受到“左手”的綁定,四條骨骼都為“左手”: 
    注意:進(jìn)行這些操作之后都請(qǐng)點(diǎn)擊Apply按鈕,全部應(yīng)用。
    然后*麻煩的就是逐頂點(diǎn)校驗(yàn)骨骼和權(quán)重值,當(dāng)然如果你只是需要一個(gè)簡(jiǎn)易模型的簡(jiǎn)單變形動(dòng)畫(huà),這種細(xì)節(jié)的蒙皮操作你就可以直接跳過(guò)了,確保你的骨骼能夠正??刂祈旤c(diǎn)就可以進(jìn)入下一步了。
    MorphAnimation的使用(六) 編輯動(dòng)畫(huà)
    確定我們的骨骼和蒙皮信息無(wú)誤以后,我們點(diǎn)擊Done按鈕,打開(kāi)至動(dòng)畫(huà)編輯界面: 
    1、預(yù)覽動(dòng)畫(huà)按鈕:點(diǎn)擊之后可以對(duì)當(dāng)前時(shí)間線上的關(guān)鍵幀進(jìn)行播放預(yù)覽。 
    2、Save Clip按鈕:將當(dāng)前時(shí)間線上的關(guān)鍵幀保存為動(dòng)畫(huà)剪輯文件。 
    3、Time Line時(shí)間線:當(dāng)前時(shí)間線上的關(guān)鍵幀,只有處于時(shí)間線上的關(guān)鍵幀才能播放預(yù)覽,或?qū)С龅郊糨嫛?nbsp;
    4、添加按鈕:從關(guān)鍵幀面板添加新的已有關(guān)鍵幀至?xí)r間線。 
    5、關(guān)鍵幀面板:顯示未加入到時(shí)間線的關(guān)鍵幀。 
    6、Add Key Frame按鈕:添加新的關(guān)鍵幀到關(guān)鍵幀面板。 
    7、動(dòng)畫(huà)的骨骼運(yùn)動(dòng)限制: 
    position:骨骼位置移動(dòng),開(kāi)啟之后骨骼的位置移動(dòng)將會(huì)被記錄到關(guān)鍵幀; 
    rotation:骨骼原地旋轉(zhuǎn),開(kāi)啟之后骨骼的原地旋轉(zhuǎn)將會(huì)被記錄到關(guān)鍵幀; 
    scale:骨骼原地縮放,開(kāi)啟之后骨骼的原地縮放將會(huì)被記錄到關(guān)鍵幀;
    我們選中關(guān)鍵幀面板的任意關(guān)鍵幀(顯示為青色背景): 
    左側(cè)為該關(guān)鍵幀的屬性面板: 
    1、Bone List骨骼列表:該關(guān)鍵幀的骨骼列表(同時(shí)也是整個(gè)模型的骨骼列表),點(diǎn)擊可選中某一骨骼(顯示為紅色背景),同時(shí)在場(chǎng)景中該骨骼被選中,可以執(zhí)行移動(dòng)、縮放、旋轉(zhuǎn)等操作。
    注意:這些操作將改變關(guān)鍵幀數(shù)據(jù),將模型調(diào)節(jié)到新的形態(tài)后,記得點(diǎn)擊Apply Bone按鈕,應(yīng)用所有骨骼數(shù)據(jù)到當(dāng)前選中的關(guān)鍵幀,否則切換到其他關(guān)鍵幀后,你的改動(dòng)會(huì)丟失。
    2、Frame Name:關(guān)鍵幀全名。 
    3、Frame Time:關(guān)鍵幀時(shí)間,加入到時(shí)間線后,此關(guān)鍵幀的運(yùn)行時(shí)間,1表示1秒,也就是說(shuō)在播放動(dòng)畫(huà)時(shí)需要1秒鐘才播放完此關(guān)鍵幀(同時(shí)會(huì)受到動(dòng)畫(huà)全局速度的影響),此值越大,動(dòng)畫(huà)在達(dá)到此關(guān)鍵幀時(shí)播放得越慢。 
    4、Apply Bone按鈕:應(yīng)用所有骨骼數(shù)據(jù)到當(dāng)前選中的關(guān)鍵幀。 
    5、ReName按鈕:(選中關(guān)鍵幀面板的關(guān)鍵幀時(shí))重命名當(dāng)前選中的關(guān)鍵幀。 
    6、Delete按鈕:(選中關(guān)鍵幀面板的關(guān)鍵幀時(shí))刪除當(dāng)前選中的關(guān)鍵幀。
    點(diǎn)擊時(shí)間線后面的加號(hào)按鈕,我們將關(guān)鍵幀面板的任意關(guān)鍵幀加入到時(shí)間線,然后我們選中時(shí)間線上的任意關(guān)鍵幀(顯示為青色背景): 
    1、Leave按鈕:離開(kāi)時(shí)間線,讓當(dāng)前選中的關(guān)鍵幀離開(kāi)時(shí)間線并回到關(guān)鍵幀面板。 
    2、Insert按鈕:插入關(guān)鍵幀,在當(dāng)前位置插入關(guān)鍵幀,同時(shí)當(dāng)前選中的關(guān)鍵幀及之后的關(guān)鍵幀位置后移。 
    3、Replace按鈕:替換關(guān)鍵幀,將當(dāng)前選中的關(guān)鍵幀替換為關(guān)鍵幀面板的其他關(guān)鍵幀。
    MorphAnimation的使用(七) 預(yù)覽動(dòng)畫(huà)
    確保時(shí)間線上至少擁有兩個(gè)關(guān)鍵幀后,我們點(diǎn)擊預(yù)覽動(dòng)畫(huà)按鈕: 
    預(yù)覽動(dòng)畫(huà)的按鈕為紅色表示動(dòng)畫(huà)在播放中,再次點(diǎn)擊可結(jié)束預(yù)覽。
    MorphAnimation的使用(八) 導(dǎo)出動(dòng)畫(huà)剪輯
    點(diǎn)擊Save Clip按鈕,將當(dāng)前時(shí)間線上的所有關(guān)鍵幀導(dǎo)出為一個(gè)動(dòng)畫(huà)剪輯資源文件,之后這個(gè)資源文件便可以被MorphAnimationPlayer引用。
    MorphAnimation的使用(九) 播放動(dòng)畫(huà)
    我們?yōu)镸orphAnimation所在的物體添加MorphAnimationPlayer腳本,將剛才保存的動(dòng)畫(huà)剪輯拖拽到Clip屬性,勾選Play On Awake,運(yùn)行場(chǎng)景便可以看到動(dòng)畫(huà)效果。
    注意:剛才導(dǎo)出的動(dòng)畫(huà)剪輯只能用于之前編輯動(dòng)畫(huà)時(shí)的MorphAnimation所在的物體,如果需要第二個(gè)物體也能使用,克隆這個(gè)物體就可以了,當(dāng)然,MorphAnimation腳本可以刪除,只不過(guò)留在這里可以用于以后制作新的動(dòng)畫(huà)剪輯。

    相對(duì)來(lái)說(shuō),制作一些簡(jiǎn)單的變形動(dòng)畫(huà)還是很可觀的,要比較細(xì)致的蒙皮的話,那注定會(huì)是比較麻煩的。本文來(lái)自網(wǎng)絡(luò)資源,版權(quán)歸原作者所有。