MMD聯(lián)動(dòng)Unity學(xué)習(xí)筆記 Vol.1 將MMD導(dǎo)入U(xiǎn)nity組裝

前言
????之前的教程是對(duì)MMD4Mecanim中的PDF文檔進(jìn)行偽譯,然后承諾對(duì)MMD聯(lián)動(dòng)Unity相關(guān)的問(wèn)題進(jìn)行剖析研究。從這篇專欄開(kāi)始探究聯(lián)動(dòng)相關(guān)問(wèn)題,也算是定期對(duì)自己學(xué)習(xí)成果的記錄,Up也是萌新一枚,水平有限難免會(huì)出錯(cuò)誤,如有疏漏請(qǐng)各位看官不吝賜教。
????這篇準(zhǔn)備的是將MMD中基本所有元素都導(dǎo)入U(xiǎn)nity中,用Unity代替MMD,在Unity中進(jìn)行組裝渲染,最后輸出視頻文件。

事前準(zhǔn)備
????Alembic for Unity下載地址https://github.com/unity3d-jp/AlembicForUnity
????blender_mmd_tools下載地址https://github.com/sugiany/blender_mmd_tools
????blender和Maya請(qǐng)看官自行百度

將MMD像機(jī)vmd文件導(dǎo)出為abc文件
????MMD4Mecanim不支持將MMD的相機(jī)動(dòng)畫(huà)導(dǎo)入U(xiǎn)nity,所以想在Unity中使用MMD的相機(jī)就相對(duì)來(lái)說(shuō)比較麻煩。需要將MMD的相機(jī)文件經(jīng)過(guò)兩種3D軟件導(dǎo)出abc文件,才能在Unity上使用。
①Blender
導(dǎo)入mmd_tool插件。Blender的操作和插件的導(dǎo)入請(qǐng)參考下面教程。本篇將不進(jìn)行贅述。

????刪除攝像機(jī)以外的物件,選中攝像機(jī),將mmd的vmd文件導(dǎo)入。



????導(dǎo)入后,切換到攝像機(jī)分頁(yè)適當(dāng)調(diào)節(jié)參數(shù)。

????之后,導(dǎo)出abc文件上,將Scale改為1,Sample改為128(可適當(dāng)改變參數(shù)觀察效果)。

②Maya
????點(diǎn)擊緩存,點(diǎn)擊Alembic緩存,導(dǎo)入Alembic...,導(dǎo)入之前從Blender導(dǎo)出的文件。

????之后可以在場(chǎng)景中看到導(dǎo)入的攝像機(jī)。
????點(diǎn)擊緩存,點(diǎn)擊Alembic緩存,將所有內(nèi)容導(dǎo)出到Alembic...。

????將緩存時(shí)間范圍設(shè)為開(kāi)始/結(jié)束,也就是動(dòng)畫(huà)的幀范圍,步長(zhǎng)改為0.3。勾選幀相對(duì)采樣,其它保持默認(rèn)值。

????稍等片刻待abc文件導(dǎo)出。
????關(guān)于MMD相機(jī)導(dǎo)入U(xiǎn)nity的方法還有一篇專欄也有說(shuō)明,感興趣的同學(xué)可以試試。


在Unity進(jìn)行組裝
????新建項(xiàng)目。根據(jù)之前專欄的內(nèi)容,導(dǎo)入MMD4Mecanim和Alembic for Unity,再將模型及動(dòng)作導(dǎo)入,場(chǎng)景可以在勾選使用規(guī)定后直接導(dǎo)入。將轉(zhuǎn)化成fbx模型文件拖入場(chǎng)景或?qū)蛹?jí)中。
????新建Animator Controller,將其拖入模型的Animator的Controller中。
????雙擊Controller文件打開(kāi)Animator窗口,將模型轉(zhuǎn)換的動(dòng)作文件拖入Animator的Base Layer里面,該動(dòng)作將自動(dòng)轉(zhuǎn)為默認(rèn)狀態(tài)機(jī),播放場(chǎng)景將直接執(zhí)行該動(dòng)作。
????將從Maya導(dǎo)出的abc文件,導(dǎo)入資源文件夾中。
????在資源文件夾中,右擊點(diǎn)擊Create(創(chuàng)建)>Timeline,新建時(shí)間線,再將其拖入層級(jí)中。

????雙擊Timeline打開(kāi)時(shí)間線窗口,點(diǎn)擊Add按鈕(或者在左側(cè)窗口右擊),再點(diǎn)擊Animation Track,再右擊右側(cè)時(shí)間線選擇Add From Animation Clip,增加一條動(dòng)畫(huà)片段,片段選擇模型的動(dòng)作文件。


????(這里還有一種簡(jiǎn)便的操作,就是將模型直接拖入時(shí)間線左側(cè)窗口選擇動(dòng)畫(huà)軌道,再在右側(cè)添加動(dòng)畫(huà)片段)
????接下來(lái)再在左側(cè)窗口右擊,選擇UTJ.Alembic> Alembic Track,增加一條abc軌道。然后在右側(cè)窗口右擊選擇Add From Alembic Stream Player,選擇之前導(dǎo)入的abc文件。


????將abc軌道的時(shí)間線,調(diào)整為與模型的動(dòng)畫(huà)軌道相同的長(zhǎng)度(幀數(shù)),在Inspector中可以進(jìn)行精確的調(diào)節(jié)。
????點(diǎn)擊Game視窗,在選中時(shí)間線時(shí),拖動(dòng)時(shí)間線窗口中的游標(biāo),可以察看攝像機(jī)的鏡頭動(dòng)作。
????在場(chǎng)景中再對(duì)模型的位置進(jìn)行調(diào)整,確保模型在鏡頭的合適位置。調(diào)節(jié)完成后播放場(chǎng)景,查看效果如何。這樣MMD的基本元素已經(jīng)大致都已經(jīng)導(dǎo)入到Unity中了。