MRが楽しい

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

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

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

MMD にモデルを読み込み、シェーダの適用を行うところまで進めました。
さて次は更に追加レイヤを読み込んでスフィアマップによる質感を追加します。

まず、前回作成したプロジェクトについてライティングを調整しました。
f:id:bluebirdofoz:20171015040232j:plain
肌は光が自然拡散している感じでセルフ影を薄めに、服は反射を強めにしています。

さてダウンロードしたM4レイヤーのフォルダを開きます。
事前に M4Layer.fx をテキストエディタで編集する必要があります。
f:id:bluebirdofoz:20171015040247j:plain

テキストを開くと、レイヤーモードに関する設定項目があります。
LAYER_MODE の値を 3 にして「乗算モード」に変更します。
・M4Layer.fx

// レイヤーモード
// 0: 通常
// 1: 加算
// 2: 減算
// 3: 乗算
// 4: スクリーン
// 5: オーバーレイ
// 6: ハードライト
// 7: ソフトライト
// 8: ビビッドライト
// 9: リニアライト
// 10: ピンライト
// 11: 覆い焼き
// 12: 焼き込み
// 13: 比較 (暗)
// 14: 比較 (明)
// 15: 差の絶対値
// 16: 除外
// 17: 色相
// 18: 彩度
// 19: カラー
// 20: 輝度
//#define LAYER_MODE 0
//↓以下に修正
#define LAYER_MODE 3

念のため、M4Layer_03.fx という別名で保存しました。
この場合は x ファイルについても同名のファイルを複製して作成する必要があります。
f:id:bluebirdofoz:20171015040301j:plain

作成したM4レイヤーをアクセサリとして読み込みます。
MMD をカメラ編モードで「アクセサリ操作」パネルの「読込」をクリックして読み込みます。
f:id:bluebirdofoz:20171015040316j:plain

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

エフェクトファイル割り当てダイアログが開きます。
すると新たに「LayerRT」タブというものが表示されています。
これを開くと前回設定したシェーダとは別にエフェクトファイルの割り当てができます。
f:id:bluebirdofoz:20171015040520j:plain

肌の質感を変えてみます。
オブジェクトの中から肌の材質を選択して「ファイル選択」をクリックします。
f:id:bluebirdofoz:20171015040530j:plain

fx ファイルを設定できますので、ダウンロードした dAdultsShader から好みの質感を選択します。
f:id:bluebirdofoz:20171015040621j:plain
肌に赤みが増しました。

因みにレイヤーモードを乗算にしているため、エフェクトファイルを割り当てていない場合でもオブジェクトは有効にします。
ExcellentShadow他の追加アクセサリが無効化されていたのでチェックを入れておきます。
設定が完了したら「OK」で作業を確定します。
f:id:bluebirdofoz:20171015040629j:plain

後は再びコントローラで微調整していきます。
前回記事では調整しませんでしたが「証明操作」パネルで照明自体の調整も可能です。
ライティングは照明の影響を受けるので RGB 各値は 200 以上の高めの値にしておくのが良いです。
f:id:bluebirdofoz:20171015040640j:plain

ついでに hololens も追加して、改めてシェーダを割り当てます。
画像出力すると、こんな感じに。
f:id:bluebirdofoz:20171015040650j:plain
f:id:bluebirdofoz:20171015040700j:plain
それっぽくなりました。しかし、綺麗な絵作りを目指すにはまだまだ調整が必要そうです。

因みに今更ですがこれらのライティング処理を使うと処理がかなり重くなります。
作業にはそれなりのハイスペックPCが必要です。


記事のまとめは以上です。