【MMEの作り方】オブジェクトエフェクト編03/MMD内でのパラメータ調整を可能にする
▼今回の記事ページで使うサンプルファイル
今回の記事ぺージの解説で使うサンプルとなるfxファイルは以下のリンクからダウンロードできます。
ただし、ファイルをDL・使用した際にトラブル・不利益が生じたとしても筆者は責任を負わないものとします。自己責任で御利用ください。
▼逐一fxファイルを開かずパラメータを調整する方法が欲しい
これまでの記事に添付したサンプルのfxファイルは、プログラムの最初の方に書いてあるパラメータ宣言を編集してエフェクトの挙動を調整できるようにしてありました。
しかし、実際にエフェクトファイルをMMDで使うときこれは不便な仕様です。
まず、逐一fxファイルを開いてエフェクトを調整するのはまあまあな手間です。
また、プログラムの一部を書き換えるというのは素人からすると「これ本当にいじっても大丈夫?」と不安になるものです。
加えて、動画制作に使うエフェクトであるならばフレームの変化によってパラメータが推移して欲しい場合もあるでしょう。
フレームの移動でエフェクトを変化させたい場合、プログラム内のパラメータの値を書き換える方法では困難です。
そのため、特に不特定多数の人が使うエフェクトファイルとして頒布する場合などはMMD内でエフェクトのパラメータ調整が可能な方がベターです。
今回の記事ではMMD内でXファイルに割り当てたfxファイルのパラメータを調整する手法を解説していきます。
▼実際に作ってみたファイル
前回のパーティクルエフェクトを改良して、MMD内でパラメータを調整できるようにしたものを既に用意してあります。
サンプルファイル『2-3-1_ParticleRe.x』をMMDに呼び出してみてください。
今回はあとの方でRGBの値を加算するパラメータを追加するので、呼び出した段階では粒子が黒くなっています。
▼アクセサリからのパラメータ調整
まず、このファイルはMMD内の『アクセサリ』で色々なパラメータを調整できるようになっています。

◎X、Y ⇒ パーティクルが発生するエリアの広さをxy軸でそれぞれ指定(Zは使用せず)
◎Rx、Ry、Rz ⇒ 今回は使わず
◎si ⇒ 粒子の大きさ
◎Tr ⇒ 粒子の不透明度(1で不透明で値を下げていくと透明が増す)

▼コントロール用オブジェクトでパラメータ調整
パラメータの調整はコントロール用のpmd/pmxファイルにモーフを予め用意してその値を操作しても変えられます。
サンプルファイル『Controller.pmx』をMMDに入れて、モーフ操作してみましょう。


今回はデフォルトで真っ黒の粒子をモーフ内から色味(RGB)を加算できるようにしました。
・R ⇒ 赤を足す
・G ⇒ 緑を足す
・B ⇒ 青を足す
それぞれの値を1に近づけるとその色の値が増加し、RGBに関する全ての値を1にするとRGBが1(つまり白)になります。
また、pmxファイル内のモーフの値だけでなく、ボーンの値(xyz軸の位置)も取ることができます。
ここでは、例えば『DropVector』というボーンを、
・X軸方向(つまり左右)に動かすと粒子が斜めに降る挙動になり、
・Y軸方向の下に動かすと降る速度が上がり、上に動かすと一定の値を越えたところで粒子が上昇しだし、
・Z軸方向に動かすと粒子のちらつきが強くなる
というパラメータになるようにしてあります。


ところでパラメータがモーフやボーンの値であるということは、モーションデータ(vmdファイル)を作っておけばそのファイルをモデルに割り当ててパラメータを変更可能なことを意味します。
では、サンプルファイル『DropVecX.vmd』をコントロール用のオブジェクトに割り当ててみてください。
割り当てた上でMMD内の『再生』ボタンを押してみると粒子が左右に振れて落ちてきます。つまり、そのvmdファイルにはボーンのX軸の値を往復させているデータが入っているのです。

ここでは粒子の降る方向を変化させるのにvmdファイルを使いましたが、0フレーム目だけモーフの値を変えたデータを作りそれを見本(プリセット)の値として配布するということも可能です。
【目次ぺージに戻る】
