こんにちは。A-PxL所属で学部2年の山田大生です。
最近UniVRMのMToonシェーダーで動くテクスチャが設定できることを知りまして。ちょうどVRM化できそうな人型モデルを持っていたのでやってみることにしました。
そもそもUniVRMのMToonシェーダーとは何なのか。それはVRMモデルに対して使うことができる共通のシェーダーの1つです。元から完成されていて様々なパラメータも持っているのでシェーダーをかけない私にはとてもありがたいものです。
早速そのMToonシェーダーを使ったものを紹介していこうと思います。
まずはUniVRMパッケージを持ってきて、モデルにMToonシェーダーを割り当てていきます。とりあえず全部Mtoonにしてみました。
Mtoonシェーダーは特に何も設定しなくても見栄えがよく、しかも簡単にアウトラインや光源を設定できるのでとても良いです。ほんとに。
そして本題の動くテクスチャですが、Mtoonシェーダーの"UVCoordinates"枠で設定できます。要はメッシュのUVだけを動かしてアニメーションっぽくするUVスクロールというものですね。
まずは左腕のリングと服のマント部分のマテリアルから設定しました。 そのテクスチャはこんな感じです。
透過したかったのでpng画像で。右側部分がリング、左側部分が服の表面のエフェクト用です。ずいぶん贅沢に使いました。
そしてこのマテリアルのUVCoordinates枠の”Auto Animation”の"Scroll Y"の値を設定しました。ここではそのメッシュのUVをY軸方向にどれだけ動かすかを設定できます。"Scroll X"ではX軸方向ですね。"Rotation"はそのままどれだけUVを回転させるかですね。そして設定した結果がこちら。
無事うまくいきました。こんな簡単に動くテクスチャが作れるなんてすごい...。
さらにもう1つ作りました。
今度は服の襟字を動かしてみようと思いました。先ほどと同じように設定していきますが、この襟の文字のテクスチャは服のテクスチャと一緒になっているのでこのままだと服の模様も動いてしまいます。
そこでマスクを使って動かしたい部分を指定することにしました。動かしたい場所を白、動かしたくない場所を黒にしたマスクテクスチャを別に用意します。
上が服のテクスチャ。下がそのマスクテクスチャです。(余談ですけどSubstancePainterでテクスチャ出力するとメッシュ部分以外のところがぐっちゃぐちゃになるのは何なんですかね...?誰か教えてほし...)
マスクテクスチャを先ほどのUVCoordinates枠のAuto Animationの"Mask"に適応させるとこんな感じに。↓
メッシュが悪いせいでガタガタですが、しっかり襟字だけ動きました。
そんなところで今回はここで終了です。VRMモデルならほかのVRM対応ソフトでも使えるので良いですね。かっこいい動くテクスチャ付きのモデルで遊びたいものです。もっと工夫すれば複雑なものも作れるんじゃないかと。体を這う紋様とか作れたらかっこいいなぁ...。それはまた時間があったら...。
それでは。