Unreal Engine4でMMDモデルを使ってみた(後編)
本記事はUnreal Engine4でMMDモデルを使ってみた(前編)の続きとなります。
本記事でできること
・キャラクターに好きなモーションをさせられる
・マテリアルの修正
4.モーションを追加する
やり方は3章の方法とほぼ同じです。
待機モーションを追加したいのでコマンドを下記のように打ちます!
fbxファイルが出来上がったらドラッグアンドドロップでインポートします。この時、既存アセットを上書きしますか?と表示されますが、全てはいで問題ありません。
次に、インポートオプションが表示されます。ここで指定するスケルトンを先ほどインポートしたfbxファイルのスケルトンにします。pmxファイルでインポートしたスケルトンを指定しないように注意して下さい。
インポートできました!
マテリアル情報も変更されてない!!
5.マテリアルを修正する
マテリアルの情報は他にも落ちているらしく、透過すべきマテリアルが透過されていなかったり、肌の色がおかしかったり気になるところは修正します。
5.1 透過する
例えば、M_17_材質18は見た目がおかしいことがすぐに分かると思います。そこで、M_17_材質18マテリアルを開き修正します。
ブレンドモードをTranslucentに変更します。
オパシティにTexture Sampleノードのアルファチャンネル出力を繋げます。
保存後、再びクロエ・ルメールを見てみると!
いい感じになってます!
5.2 肌の色を調整する
肌の色も白すぎるので下図のようにしました。
M_2_材質3で顔の色を弄れるようです。ドキュメントを見るとシェーディングモデルは色々あるみたいですが、今回はSubsurface、Preintegrated Skinの2つの計算手法でサブサーフェイス・スキャッタリングを実現してみた。
5.2.1 Subsurface
詳細パネルのシェーディングモデルをSubsurfaceに変更します。ベースカラーに繋がれていた出力をサブサーフェスカラーに変更。あとはオパシティを調整します。このオパシティの値が低いほど明るくなり、高いほど暗くなりました。エネルギーの吸収率の影響でこのような結果となるようです。
オパシティが高い場合
5.2.2 Preintegrated Skin
結論から言うと満足のいく見た目になりませんでした。人間のキャラクターの皮膚を低いパフォーマンス負荷でレンダリングできるとのことで良さそうだなぁと思い使ってみると、
なんか惜しい
使用用途が人間のキャラクターの皮膚ということなので、2次元のキャラクターの皮膚にはうまく適用されないということなのでしょうか。カウチナイトのデモに使われているキャラクターもリアルな人間でしたね。
6.まとめ
手順を間違えなければ簡単に好きなモデルに好きなモーションを付けることができました。マテリアルの設定部分を自動化できればかなり楽になりそうです。調べるとマテリアルの設定をしなくてもMMDモデルをインポートできる方法もあるみたいですが、私の環境ではエラーが吐かれ実現できませんでした。
その他細かい事
※クロエ・ルメール_Anim_Nullというファイルは削除しても問題ありませんでした
※pmxファイルから読み込んだスケルタルメッシュを開く時にスケルトンを作成するかとメッセージが表示されますが、新たに作成して問題ありませんでした