MRが楽しい

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

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

本日は MMD の技術調査枠です。
MMD でライティングの調整にチャレンジします。

ライティングは以下の記事で Unity と blender でも触れています。
bluebirdofoz.hatenablog.com
bluebirdofoz.hatenablog.com

今回は以下の解説動画を参考に実施してみます。
www.nicovideo.jp
www.nicovideo.jp

動画を参考に、事前に以下のツール類を取得してください。
・N2+CShader
・M4レイヤー
・dAdultsShader

因みに MMD のデフォルト時のライティングだとこんな感じです。
f:id:bluebirdofoz:20171013032846j:plain

まず事前準備として、MMDモデルのデータファイルである PMX ファイルの編集が必要となります。
利用する PMX ファイルのスフィアは全て無効化されている必要があります。
今回利用する N2+CShader はスフィアマップの登録欄を法線マップの登録欄として使っているためです。

PMX ファイルを編集するため、PMXEditer を起動します。
ファイル -> 開く から編集する PMX ファイルを読み込みます。
f:id:bluebirdofoz:20171013032857j:plain

モデルを読み込んだら「材質」タブを選択します。
材質の一覧が表示されるので任意の項目を選んで Ctrl+A を押します。
以下のように全ての材質が選択されている状態であることを確認します。
f:id:bluebirdofoz:20171013032908j:plain

スフィアの項目を「無効」に設定します。
f:id:bluebirdofoz:20171013032920j:plain

これで全ての材質のスフィアを無効に設定できました。
ファイル -> 名前を付けて保存 で PMX ファイルを保存します。
f:id:bluebirdofoz:20171013032928j:plain


更に今回は自作の hololens モデルも一緒に適用したいので、こちらも編集を行います。
この際、自作モデルは X ファイルで出力していましたが、PMX ファイルに変換する必要があります。
bluebirdofoz.hatenablog.com

X ファイルはPMXEditer で何も読み込んでいない状態で ファイル -> インポート で読み込み可能です。
f:id:bluebirdofoz:20171013032947j:plain

……のはずなのですが、自作のhololensモデルは読み込めませんでした。
どうもチラホラと発生する事象らしく。原因も様々なようで私のところは特定できず。
ch.nicovideo.jp

じゃあ、blender から mmd_tools のアドオンを介して直接出力すればいいかと試みましたが。。
こちらはこちらで以下のエラーが発生しました。
f:id:bluebirdofoz:20171013033003j:plain

調べてみたところ、mmd_toolsアドオンの問題のようなので別のアドオンを試してみることに。
www.nicovideo.jp

新たに追加した PMX_Model アドオンでエクスポートします。
f:id:bluebirdofoz:20171013033047j:plain

すると無事、PMX ファイルが出力され、PMXEditer で読み込めました。
f:id:bluebirdofoz:20171013033056j:plain

元のオブジェクトにボーンを設定していなかったためか、全ての親ボーンが設定されていませんでした。
f:id:bluebirdofoz:20171014174038j:plain

このままだとオブジェクトを移動させる際に不便なので 編集 -> ボーン -> 「全ての親」ボーンを追加 を選択します。
f:id:bluebirdofoz:20171014174046j:plain

全ての親ボーンが設定されました。MMD上で移動する際はこのボーンを移動させればよくなります。
f:id:bluebirdofoz:20171014174057j:plain

材質のスフィアマップを「無効」にして hololens オブジェクトの準備もOKです。
f:id:bluebirdofoz:20171013033104j:plain
この MMD の手探り感……久しい。が、平日の夜にやることじゃなかった。


追記。
hololens モデルのサイズが変わっており、スケールの調整が必要になったので手順を残して置きます。
モデル編集を行うため、「T」ボタンをクリックして TransformView ウィンドウを起動します。
f:id:bluebirdofoz:20171015043333j:plain

「全ての親」ボーンを選択した状態で「スケール」タブを開きます。
f:id:bluebirdofoz:20171015043344j:plain

スケール値を変更して「スケール」ボタンをクリックすると、表示パネルのモデルに変形が反映されます。
f:id:bluebirdofoz:20171015043351j:plain

変形に問題がなければ、ファイル -> 現在の変形状態でモデル形状を更新 をクリックします。
すると、モデルに変形が反映されます。
f:id:bluebirdofoz:20171015043359j:plain
変形したモデルを別名保存または上書き保存すれば修正完了です。


以降は次回です。次は MMD のプロジェクトにライティング用のエフェクトを追加します。
bluebirdofoz.hatenablog.com