您好,登錄后才能下訂單哦!
如何在Unity中實現角色的表情動畫,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
前段時間研究3D智能語音助手的時候,順路研究了Unity中的角色表情,現在把實現方式分享給大家。
本人當時做研究的時候使用的是以下軟件:
FaceGen Modeller:用來制作角色頭部模型的小工具,并且可以捏臉、制作各種表情,使用起來也很簡單。
Maya:這個大家都很熟,就不用介紹了,主要用來制作Blend Shape(下面會講)。
Unity:這個也不用多說了,最后就是在Unity中實現的效果。
上邊說到使用Maya主要用于制作Blend Shape,那么什么是Blend Shape呢?
Blend Shape是通過一個模型驅動另外一個模型,使頂點產生線性插值位移的動畫,在其他游戲引擎中也被稱為Morph Target。比如角色的表情動畫是通過一系列不同表情的模型來驅動一個正常狀態的模型,從而產生了表情動畫,邏輯結構如下圖:
需要注意的是:所有的表情模型一定要基于同一個模型進行的制作。
首先,在FaceGen Modeller中導出一個正常狀態的頭部模型,然后再導出一系列其它表情的頭部模型(注意命好名字,不然會亂)。
模型準備好之后全部導入Maya,下面是我使用到的一部分模型(為了方便查看,特意將模型排開了),大家可以看到各種表情的模型都有。
然后就是制作Blend Shape,先選中所有帶表情的模型,最后選擇正常狀態的模型,點擊菜單變形 > 融合變形 后的設置按鈕彈出菜單。
在彈窗中設置好名稱,其他設置默認就好。
創建完Blend Shape之后,還可以繼續查看這些表情,點擊窗口 > 動畫編輯器 > 形變編輯器,打開彈窗。
在彈出的窗口中可以看到我們設置的所有表情模型,顯示的名稱就是模型在大綱中的名稱,如果名稱很亂,還可以在這個彈窗中繼續修改。
拖動不同表情的權重/驅動者,就可以預覽到模型的表情效果了。
檢查過效果沒有問題之后,就可以導出模型了。模型記住要導出fbx格式,并且導出的時候要確認Blend Shape對勾是選中狀態。
導入Unity之后,如果模型中有Blend Shape信息,模型設置里會自動勾選Import Blend Shape。
把模型拖到場景中,在屬性設置面板會看到多出來一欄Skinned Mesh Rendered,下面Blend Shape中的設置都是我們的表情。
我們可以手動拖動滑動條測試效果,后續就需要寫腳本控制這些表情動畫了。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。