小菲搖
·之前學習了在Unity中使用動畫狀態機控制人物,以及用Shader去對氛圍圖形進行渲染,然后又刷到一些MMD的視頻,我就想著MMD能做的事情感覺Unity應該也都能做而且更方便的吧,所以就嘗試做了一下。當然這里主要是記錄一下自己是怎么做的,方便以后有需要的時候查看回顧。
主要的學習來自這個視頻:【Unity教程】如何使用Unity制作MMD/如何在Unity里面使用MMD模型
一.準備插件與資源
①準備MMD4Mecanim:去這個博文中的百度云盤下載的【Unity3D】如何用MMD4Mecanim插件將pmx格式模型轉換為fbx格式模型
它用于把MMD的pmx轉化為Unity中的可用模型和動作
②準備PmxEditor:PmxEditor中文版
用于在查看丟失貼圖的材質原本對應的貼圖是什么
③準備動畫渲染的Shader:https://github.com/XiaoYuName/UnityURPToonLitShaderExample
④準備模型與動作:
模型(這里我用的是小菲的模型):https://www.aplaybox.com/details/model/AlyBjBpBrhif
動作(這里我用的是Miku搖的動作):https://www.aplaybox.com/details/motion/0xI6349Do7fe
表情(是來自另一個Miku搖動作里的):https://www.aplaybox.com/details/motion/JlVRymPA8fnd
二.新建Unity工程并導入資源
1.新建工程
我這里版本是2022.3.62f1c1,模板選URP的(不是也行)
2.導入插件
先導入MMDMecanim這個插件(在導入模型動作資源前一定要先導入這個插件)
3.導入資源
3.1.Shader資源
然后把動畫渲染的Shader直接拖到Assets文件夾下即可
3.2.模型動作資源
接著我們把模型文件夾也直接拖入到文件中
把動作文件也拖入到文件中
然后MMDMechanim插件會自動幫助我們生成這樣一個資源,我們需要在右側閱讀使用模型的注意事項后打勾并點擊Agree即可
之后它會變成這樣,我們在下面找到VMD,把對應的動作文件拖入其中,即可。然點擊右下角的Apply再點Process
然后會彈出這個,稍作等待,不用動它,等他把數據裝載后之后會自動消失(這個可能會花上大概兩三分鐘或者更多)
之后我們就可以得到這個裝載了模型和動作資源的文件的小菲啦!
4.修復資源
我們可以把小菲拖到場景中去,可以發現此時小菲全身都是紫色的。這是因為MMD4插件用的材質太老了,不適配比較新版本的Unity,這不好的喵,此時就需要我們手動去給他切換正確的材質的。
一般加載完我們可以看到上面有一個Materials文件夾,里面裝載了這個模型用到的材質球
打開這個文件夾,并且全選里面的材質,把它切換成我們之前導入的卡通渲染的Shader
此時小菲就全身變成白色的了喵,這是因為材質上的貼圖丟失了導致的。有的人可能會問,這不是還有問題嘛?別急喵,我們之前下載的PmxEditor這個時候就有用了。
我們打開PmxEditor(我們電腦現在應該大多都是64位了吧)
把小菲的pmx文件拖入到這里面,選擇OK
然后我們就可以在這里每一個材質中查看對應的貼圖了
之后我們給小菲每個材質貼上對應的材質即可(嗯對的,一個一個貼上去,雖然聽起來很麻煩,但是目前我只會這種解決方案的)
注意逐個材質是發現紋理,需要切換它的紋理類型(不過其實在那個卡通渲染的Shader中似乎并沒有放置法線紋理的位置,之后也是放入Base Color那里的)
全部材質都貼上之后可以看到小菲正常顯示出來了
注意:
①
小菲的裙子這里會有些很奇怪的斑點閃爍,似乎是因為這個裙子是分里外兩層的,然后渲染的時候有沖突。這里我們先無視這個問題
②重新加載項目,導入新插件之類的時候,MMD4那個插件似乎總是會自動把模型又切換回原來的材質,導致模型又變成紫色的。此時我們再按之前的方法手動把材質都切換為卡通渲染Shader即可。(這里只提供治標的方法,治本的方法之后再研究)
三.添加動作與表情
好啦,現在模型和動作都已經準備好了,我們可以通過Unity的動畫狀態機來控制動作
1.添加動作
這里我們演示用動畫狀態機來給小菲住添加動作
我們隨便在一個文件夾里右鍵創建動畫狀態控制器
雙擊這個動畫狀態機打開,并把模型下的子資源中的動作拖入動畫機窗口中
接著我們給小菲創建動畫機組件
并把我們之前制作的動畫控制器拖入到其中
然后點擊上方的運行按鈕,就可以看到小菲動起來啦!
2.添加表情
2.1.表情修復插件
對于表情,我們需要再去下載一個插件
https://www.bilibili.com/opus/908867611583840278
這個插件用于幫助我們制作表情(MMD4沒辦法順利生成表情不知道為什么)
下載完解壓之后,進入這個路徑,找到這個包去把插件裝入Unity中
2.2.表情修復
裝完后在上方點擊打開窗口
這個位置對應的是小菲的臉(似乎還能控制耳朵的)
把對應的控制小菲臉部的位置和表情拖入其中。改名是給生成的動畫起的名字,方便我們查找。
然后點擊生成按鈕我們就可以看到在對應的路徑下生成了我們需要的表情動畫了
2.3.用TimeLine添加表情
我們打開Timeline窗口
選中小菲的臉部
點擊創建TimeLine
在彈出的窗口中選擇保存的位置,保存的文件名并保存
然后我們先按老樣子創建一個控制表情的動畫控制器
然后給小菲臉部加上一個動畫機組件并把這個動畫控制器拖到上面去
之后選中臉部,在這個Timeline下面創建一個動畫軌道
把小菲臉部物體拖入其中
然后再點擊播放,此時我們可以看到小菲已經是有表情的啦
至此小菲的動作和表情就都設置好了
四.簡單布置場景
小菲搖的很可愛,但是場景什么的似乎有些單調。這里我們可以簡單地給他修改下天空盒,加個地板,調整攝像機位置什么的。
4.1.創建地板
在Hierachy視圖中右鍵,給小菲創建一個簡單的平面作為地板
4.2.移動攝像機
在場景視圖移動到一個看起來還算可以的視角
然后選中攝像機,按快捷鍵【ctrl+shift+F】
就可以把攝像頭顯示在我們想要的位置了
4.3.添加天空盒
天空盒我們可以隨便百度搜一個
https://gitcode.com/Premium-Resources/af321/?utm_source=article_gitcode_universal&index=top&type=card&&uuid_tt_dd=10_30857020650-1754276752878-264643&isLogin=1&from_id=147648845
這里我是去這個地方下載的天空盒素材
下載完解壓后按之前的方法導入Unity中(注意可能導入之后小菲的模型會又變紫,不要驚慌,我們只需要把小菲的材質再切換到卡通渲染用的Shader即可)
之后我們打開這個面板
在這里選擇我們覺得合適的天空盒材質即可
五.音樂
這里音樂用的哈基搖我是去網易云下載的,大家也想用去網易云搜索就可以找到并下載的。下載到拖入到Unity的文件夾中即可
我們選中小菲的模型,給她添加這么兩個組件
之后把音樂和組件拖入到各自的位置即可
這里有時候如果模型的物理特性沒有的話,我們可以把這個選項選為Bullet Physics
之后點擊運行就可以看到小菲在載歌載舞啦!
小菲搖
如果想讓它看起來更像那種抖音小視頻,我們可以在這里添加修改分辨率的寬高比(不過這樣的話其實之后用插件內部錄制的時候清晰度有點不好,所以可能還是不調了用后期剪輯比較好)
六.錄制視頻
我們可以去Package Manager中下載這個插件進行錄制(注意下載完之后小菲模型又會變紫,我們再耐心調整一下材質)
然后我們打開錄制窗口并進行錄制。我們這里用1080P的分辨率進行錄制,不要用我們之前修改了的短視頻分辨率,不然會很糊,像上個世紀的老片。
設置完成后點擊左上角的錄制即可,它會變灰然后自動運行場景并開始錄制。當我們再次點擊的時候就結束錄制了
七.其他
缺點與不足:
①每次導入新插件等會讓工程重新編譯的時候,MMD4都會自動又把模型再設置為默認的材質導致模型變成紫色。這個問題之后再研究怎么解決比較好。
②缺少運鏡,因為我還不太熟悉Cinemachine這個插件的使用,也還沒有找到比較方便的插件來控制攝像頭的運動,等后續學習了之后再用到這上面來。