MRが楽しい

MRやVRについて学習したことを書き残す

MMDでライティング(Lighting)の設定を行う その3

本日は MMD の技術調査枠です。
前回記事の続きになります。
bluebirdofoz.hatenablog.com

MMD のプロジェクトにライティング用のエフェクトを追加するところまで進めました。
さて次は MMD にモデルを読み込み、シェーダの適用を行っていきます。

前回作成したプロジェクトにモデルを読み込みます。
f:id:bluebirdofoz:20171015022206j:plain

表示 -> エッジ太さ を選択し、エッジの太さを 0 に設定しておきます。
f:id:bluebirdofoz:20171015022217j:plain

次にシェーダを割り当てていきます。
その1でダウンロードした N2+CShader には割り当て用の基本セットが用意されています。
f:id:bluebirdofoz:20171015022232j:plain

まずはこれらの基本セットを割り当てて調整を行うのが良いでしょう。今回はAセットを割り当てます。
f:id:bluebirdofoz:20171015022246j:plain

右上の MMEffect をから「エフェクト割当」をクリックします。
f:id:bluebirdofoz:20171015022257j:plain

エフェクトファイル割り当てダイアログが開きます。
シェーダの割り当てを行うオブジェクト(ここでは山風モデル)を選択し「ファイル選択」をクリックします。
f:id:bluebirdofoz:20171015022306j:plain

先ほどのAセットフォルダを開き、N2+C(A-01).fx ファイルを割り当てます。
f:id:bluebirdofoz:20171015022321j:plain

モデルにシェーダが割り当てられ、モデルにライティングの効果が現れました。
f:id:bluebirdofoz:20171015022330j:plain

今回はモデル全体に一つのシェーダを割り当てましたが。
実際には肌と服などで光の反射具合を変更したいという事があると思います。

そういった材質毎にシェーダを割り当てたい場合は以下の操作を行います。
材質毎にシェーダを割り当てたいオブジェクトを右クリックして「サブセット展開」をクリックします。
f:id:bluebirdofoz:20171015022340j:plain

すると以下のように材質毎の設定項目が展開されます。
f:id:bluebirdofoz:20171015022352j:plain

材質毎に「ファイル選択」を行い、別々のシェーダを割り当てると個別にライティングを調整できるようになります。
以下のシェーダを材質毎に設定しました。
・N2+C(A-01)
・N2+C(A-瞳)
・N2+C(A-肌1)
・N2+C(A-髪の毛)
「OK」をクリックして反映します。
f:id:bluebirdofoz:20171015022403j:plain

さてシェーダを割り当てましたが、このままではシェーダ毎の調整はできません。
モデルに割り当てたシェーダと同じ名前の PMX ファイルを読み込むことでシェーダのコントローラとなります。
モデル操作の「読込」をクリックします。
f:id:bluebirdofoz:20171015022417j:plain

今回、私が割り当てたシェーダだと以下のファイルを読み込みます。
f:id:bluebirdofoz:20171015022431j:plain
因みに 全体 と名のついたコントローラは読み込むとAセットのシェーダ全ての操作が同時に行えます。

コントローラを読み込みました。
モデル操作でコントローラを選択すると「表情操作」のパネルでシェーダの設定が可能になります。
f:id:bluebirdofoz:20171015022444j:plain

因みにコントローラを操作する際「ボーン操作」のパネルで「選択」を選んでいるとシェーダが適用されません。
「回転」または「移動」を選択すると、シェーダが適用された状態が表示されます。
f:id:bluebirdofoz:20171015022505j:plain

試しに「N2+C【A-髪の毛】」のコントローラを選択して「強制発光」のステータスを調整してみると……。
f:id:bluebirdofoz:20171015022524j:plain
発光しました。成功です。

「N2+C【A 全体】」のコントローラも試してみました。
f:id:bluebirdofoz:20171015022535j:plain
こちらは変更がモデル全体に反映されることが分かります。
個別のシェーダの変更に加算される形で色味が変わるようです。
基本的には「全体」で操作を行い、気になるところのみ、個別シェーダで調整するという形が良さそうです。

MMD でのシェーダの設定が行えました。ここまででも十分色々な表現が行えそうです。
以降は次回です。次は追加レイヤを読み込んで更にスフィアマップを追加します。
bluebirdofoz.hatenablog.com