ゲーム作りが大好きな人のブログ

ゲームを作るのが大好きな人のブログ。UE4とBlender、MAYA(LT)、3DCoatを使用しています!

表情アニメーション実装中

f:id:toofu0:20151111235917p:plain

今年一番やりたくなかった作業、それが表情アニメーションことフェイシャルアニメーション。しかし、「ある」と「ない」とではクオリティの違いが凄まじかったりで悩ましい。

 

本気でやりたくないフェイシャルアニメーション実装中です

というわけで実装中です。本気でやりたくないです。何故ここまでやりたくないかと言うと昔、自作プログラムを使用して実装した事があるからです。その時はSoftImageでモデルを作り、インポート周りのコード書いて実装しましたが、データを作るのもプログラムで出すのもかなり面倒でした。

逆に言えば、それだけめんどくさい物だとわかっていたからこそ、今回はかなり色々と対策を考えてきたわけです。以前から、今回のゲームは胴体と頭のモデルが分離させていると書いていましたが、それも対策の一つだったりします。

実装方法ですが簡単に説明すると頂点を補間させて希望の顔形状に変形させるといったやり方です。(ボーンでやるやり方もありますが、それは自分のレベル的にキツそうなのでやめました。いずれはやりたいですね。)

 

下の画像は何もいじってない顔モデルです。これを複製し頂点だけを移動させて目を閉じたモデルに改造します。

f:id:toofu0:20151111235910p:plain

f:id:toofu0:20151111235925p:plain

後は、Mayaのブレンドシェイプという機能を使うと元のモデルから目を閉じたモデルに頂点を補間するデータを作ってくれます。どれくらい補間するかは数値で設定でき、0が元のモデル、1が目を閉じたモデルとなります。最初の画像のデータは補間率0.7くらいのデータです。ちょっとジト目気味が面白いですね。

 

で、データが出来たのでUE4に移してみたのですが……

f:id:toofu0:20151112003918p:plain

今の俺の心を表すかのようなジト目(補間率0.4くらい)。

 

さて、フェイシャルの基礎も出来たのでここからシステムを構築していきますよ。精神が既にヤバイですがやらざるを得ない……