MMDモデルに、炎がメラメラしてる感じのテクスチャを足す方法
この記事では、私が作ったトマト式エンデヴァーの炎のテクスチャの作り方を説明します。
こんな感じ。
用意するもの
aviutl (Apngのテクスチャ作成に使用)
APNG 出力プラグイン ver.007 (aviutlのプラグイン)
APNGを使うシェーダー v0.06 (MMDのEffect)
上の動画ではこれの他に目とかの材質が見えるようにPostAlphaEyeを入れてます。
1 炎のテクスチャ作成
私はaviutlで作りました。どんな形の炎にもよると思いますが手書きでかける人はお絵かきソフトで用意したほうが良いと思います。
楕円をさつきさんのスクリプトの各辺を伸縮させるでしずく型にしたものに、上から黒丸が上に行くようにした動画です。全然炎じゃないね……………
全然炎じゃないですね。水中かな
これをRootで呼び出して上からラスター掛けたらこうなります
ま、まあさっきよりはマシかな……
この炎は30fの長さにしておきます。ループするのを確かめたらこのままMP4で書き出します。
お絵かきソフトで用意した人はここで30枚分書き出して1本の動画にします。
2 炎のテクスチャ配置
aviutlで新規プロジェクトの作成で画像サイズを1024x512で作ります。透過のテクスチャを使わない場合は512x512で大丈夫です。 PCが強強の人はもっと高解像でもいいかもしれないです。
逆にPCが不安な人はここは512(256)x256で作ると良いです。
Rootではなくシーンでどんどん炎を配置します。
上の説明で横のサイズを倍にした人は、シーンを右クリックすると出てくるシーンの設定で、サイズを512x512、アルファチャンネルありにチェックを入れます。そしてルミナンスキーで黒いところを抜いておきます。
この記事で炎モノクロって呼ぶことにします。
こんな感じ。左上三本は目の上にある炎、右上は口ひげ、
右真ん中と下は背中用、 左下はスーツ本体とか靴用で四角く用意しています。
このままだと炎の形が全部均一で気持ち悪いので、上の画像右の再生位置を全部ポチポチ変えます。右下みたいなやつは大きさも変えとくと良いです。
そしたら配置は終わりです。シーンを新しいものを用意して
ノイズでいい感じの炎のメラメラテクスチャを作ります。
炎メラメラって呼ぶことにします。
上2つで作った画像をRootで合わせます。x座標に256、-256って打てばきれいに2つ並びます。
この画像の左半分に炎メラメラをクリッピングします
完成です。
ついでにこの辺でモデリングソフトに戻って板ポリに炎テクスチャを貼り付けておきます。
これをpmxに持っていってウェイトとか塗っておいてください
3 書き出し、APNGを使うシェーダーへの適用
プラグイン出力からAPNG出力を選びます。
ビデオ圧縮の設定で繰り返し回数を0、右半分を不透明度として扱うにチェック入れて書き出します。
そしたらAPNGを使うシェーダーのファイルの中にあるfullApng.fx(多分なんでもいい)をリネームして(モデル名).fxにして編集します。
こんな感じ。 これでMMDに読み込んでフレームを進めれば炎のテクスチャが動くはず…です! Effectをかけるときはサブセット展開して炎の材質以外の材質にEffectを掛けてください。それかemdファイルをモデルファイルといっしょに入れておけば勝手になってます。
次は余力があったら他のポストエフェクトを使ったときの注意点、問題の改善方法のnoteを作りたいと思います。
4 おまけ
2の項目のテクスチャ配置で、
右の透過用のテクスチャの方を縁取りで一回り太くして、
左の方の背景を赤くすればエッジみたいになります。
比較
エッジなし
エッジあり
地味すぎ