まあ、なんでも、いいですけれど。
瞳(特定の材質のみ)の光らせ方~AL調整モーフの作り方~ の覚書
2016-03-13 15:55:35
光らせたい部分の材質を指定して、材質モーフによって光らせたいときに光らせる。
それをさらにダミー表情モーフによりパワーアップして光らせることができる。
そぼろさんのAutoLuminous Ver.4.2のレドメから。
やり方は次の通り。
1.PMXEにモデルを読み込んで、材質タブを選び、光らせたい部分の材質、今回は左目を選ぶ。

2.材質色の反射光のRGBを、すべて0 にし、反射強度を100にする。

3.光らせたい材質を選んで、右クリック。「Indexコピー(X)」を選ぶ。
4.モーフタブに移って、モーフが並んでいるところで、右クリック。「新規モーフ作成(N)」→「材質(M)」の順に選ぶ。
5.「新規モーフ1」という新しいモーフができるので、「左目AL」と名称を替える。

6.真ん中の白いところで、右クリック。「Indexコピーから追加(V)」を選ぶ。
7.先ほど選択した材質がコピーされので、それを選んで、編集をクリック。

8.材質モーフの設定画面がでてくるので、「加算」を選んで、「全て0」を押して、「反射強度」の値を10にして、OKを押す。

こうすると、反射光の値が、モーフを最大にしたときに、「100+10」で「110」になるようです。
「全て0」を押すのを忘れると、モーフ動かしても変わらなくなるので注意。
9.材質モーフを表示枠に追加。
ここまでで、いちおう、選んだ材質は、AutoLuminousをいれれば、光るはず。
光が足りないなぁってときは、「加算」のときの反射強度の値をもっと大きくするか、
もしくは「乗算」にするといいかもしれない。
あと、材質をいじってないし、材質の反射強度も100とかではないのに、なぜか指定以外の材質が光る場合があるので、そういうときは、
さらに変化つけたいよってときは、AutoLuminousのダミーモーフで強化します。
AutoLuminous の Options の中の AutoLuminousSetter を解凍して、
その中の ALMorphMaker.dll を PMXE の "_pluginSER"フォルダ にいれて、プラグインを実行すると、追加されます。
こんな感じで、夜戦モードの古鷹さんができます。

あと便利な機能として、
AL_MASKRTで、光らせたくない材質を選んで、OPTIONS の中の、AL_BLACKMASK.FXSUB を適用させると光らなくなるはず。
なぜかうちではできませんでした。
AL_EMITTERRT で AL_BLACKMASK.FXSUB を適用させると、多少はいい感じになりますが。
とりあえず、以上です。
参考にさせてもらったブロマガ
おめだべ屋。さん
[エフェクト考察]AUTOLUMINOUS対応モデルについて。http://ch.nicovideo.jp/t-ebiing/blomaga/ar353852
智沙都さん
静画めいきんぐ http://ch.nicovideo.jp/chisachummd/blomaga/ar791810
稜(りょう)さん
【MMD】細かすぎて伝わらない自分用備忘録 http://ch.nicovideo.jp/yumerutasos/blomaga/ar439197
あわりさん
試合用体育館V1.01に使うとちょっと幸せになれるオレトクメモ。 http://ch.nicovideo.jp/a_wariy/blomaga/ar419195
それをさらにダミー表情モーフによりパワーアップして光らせることができる。
そぼろさんのAutoLuminous Ver.4.2のレドメから。
□ 発光部分の指定 ----------------------------
このエフェクトではモデルまたはアクセサリ改造によって
発光部分を指定します。
指定方法として、光らせたい素材のスペキュラ色(反射色)を黒(0,0,0)に、
スペキュラ強度(反射強度)を100以上に設定します。
この組み合わせは通常使用されることはないので
意図しない発光が起こる可能性は低いです。
スペキュラ強度の標準値は110です。
とりあえず光らせたい場合はこの値を使ってください。
これより上下すると、スペキュラ強度から100をマイナスした値に比例して
発光強度も上下します。
発光色は、ディフューズ色とアンビエント色から自動的に決定されます。
■ 表情による個別発光制御
PMDまたはPMXモデルの場合、以下のような名前のダミー表情を
モデルに組み込むことで、モデル個別に発光を制御できます。
必要なものだけ選んでもかまいません。
・LightUp
・LightOff
・LightBlink
・LightBS
・LightUpE
・LightDuty
・LightMin
・LClockUp ←New!
・LClockDown ←New!
"LightUp"および"LightOff"では光量を調整できます。
LightUpでは最大3倍まで明るくなります。
LightOffではMAXで完全に発光が消えます。
"LightBlink"および"LightBS"というダミー表情を使うと、
発光の点滅をモデル個別制御できます。
"LightBlink"はサイン波点滅、LightBSは矩形波点滅をします。
最大で10秒間隔になります。
"LightUpE"では、明るさが指数関数的に上昇します。
最大で400倍まで上昇します。
"LightDuty"は点滅のオンとオフの比率を変えることができます。
"LightMin"は点滅時の最小明るさを設定できます。
"LClockUp"は、後述の頂点発光機能による点滅、
および発光シーケンス制御の周期を早めます。
最大で6倍速です。
"LClockDown"は逆に点滅の周期を遅くします。最大で1/6倍速です。
これらダミー表情が使えるのはAL_Object.fxsubにより
スペキュラ強度または頂点発光機能を利用して発光指定した場合だけです。
Ver.4.0より、付属のALMorphMakerで
簡単にこれらモーフを追加できるようになりました。
OptionsのAutoLuminousSetterに同梱されています。
やり方は次の通り。
1.PMXEにモデルを読み込んで、材質タブを選び、光らせたい部分の材質、今回は左目を選ぶ。

2.材質色の反射光のRGBを、すべて0 にし、反射強度を100にする。

3.光らせたい材質を選んで、右クリック。「Indexコピー(X)」を選ぶ。
4.モーフタブに移って、モーフが並んでいるところで、右クリック。「新規モーフ作成(N)」→「材質(M)」の順に選ぶ。
5.「新規モーフ1」という新しいモーフができるので、「左目AL」と名称を替える。

6.真ん中の白いところで、右クリック。「Indexコピーから追加(V)」を選ぶ。
7.先ほど選択した材質がコピーされので、それを選んで、編集をクリック。

8.材質モーフの設定画面がでてくるので、「加算」を選んで、「全て0」を押して、「反射強度」の値を10にして、OKを押す。

こうすると、反射光の値が、モーフを最大にしたときに、「100+10」で「110」になるようです。
「全て0」を押すのを忘れると、モーフ動かしても変わらなくなるので注意。
9.材質モーフを表示枠に追加。
ここまでで、いちおう、選んだ材質は、AutoLuminousをいれれば、光るはず。
光が足りないなぁってときは、「加算」のときの反射強度の値をもっと大きくするか、
もしくは「乗算」にするといいかもしれない。
あと、材質をいじってないし、材質の反射強度も100とかではないのに、なぜか指定以外の材質が光る場合があるので、そういうときは、
//オプションスイッチとあるので、AutoLuminous.fxを開いて、0にすると、光らなくなると思われる。
(中略)
//MMD上の描画をHDR情報として扱います
//明るさが1を超えた部分が光って見えるようになります
//0がオフ、1がオンです
#define HDR_RENDER 1
さらに変化つけたいよってときは、AutoLuminousのダミーモーフで強化します。
AutoLuminous の Options の中の AutoLuminousSetter を解凍して、
その中の ALMorphMaker.dll を PMXE の "_pluginSER"フォルダ にいれて、プラグインを実行すると、追加されます。
こんな感じで、夜戦モードの古鷹さんができます。

あと便利な機能として、
■ マスク機能特定のモデルや材質を光らせないようにできるのですが、うちの環境では、1にするとMMDが落ちました。ツイッターで、
特定のオブジェクトを発光の影響を受けないように設定できます。
まずは、エフェクトを開いて MASK_ENABLE オプションを1に設定します。
するとMMEの設定タブに"AL_MASKRT"が出現するので、
発光の影響を受けないようにしたいオブジェクトを選んで右クリックし
「解除」をクリックします。
発光しているオブジェクトにマスクを適用すると、
後光やオーラのような表現になります。
@karimas_P 『ポストエフェクト処理中にエラーが発生しました
— kum (@kum_MMDer) 2016年3月13日
DIRECTX ERROR:INVALID CALL 8876086C』 ですか?
と教えていただきました。kum (@kum_MMDer)さんいつもありがとうございます。@karimas_P グラボの問題らしいです(わたしもPC変えたときになりました)。AUTOLUMINOUS.FX 265行目の
— kum (@kum_MMDer) 2016年3月13日
STRING FORMAT = "D3DFMT_A8";
を
STRING FORMAT = "D3DFMT_A8R8G8B8";
にすると治ります。
AL_MASKRTで、光らせたくない材質を選んで、OPTIONS の中の、AL_BLACKMASK.FXSUB を適用させると光らなくなるはず。
なぜかうちではできませんでした。
AL_EMITTERRT で AL_BLACKMASK.FXSUB を適用させると、多少はいい感じになりますが。
とりあえず、以上です。
参考にさせてもらったブロマガ
おめだべ屋。さん
[エフェクト考察]AUTOLUMINOUS対応モデルについて。http://ch.nicovideo.jp/t-ebiing/blomaga/ar353852
智沙都さん
静画めいきんぐ http://ch.nicovideo.jp/chisachummd/blomaga/ar791810
稜(りょう)さん
【MMD】細かすぎて伝わらない自分用備忘録 http://ch.nicovideo.jp/yumerutasos/blomaga/ar439197
あわりさん
試合用体育館V1.01に使うとちょっと幸せになれるオレトクメモ。 http://ch.nicovideo.jp/a_wariy/blomaga/ar419195