Aizu-Progressive xr Lab blog

会津大学のVR部であるA-PxLの部員が持ち回りで投稿していくブログです。部員がそれぞれVRに関する出来事やVRにちなんだことについて学んだことを書いていきます。

連絡はサークルTwitterのDMへお願いします。
「面白法人カヤックVR分室」としても活動しています。詳細はこちら

UniVRMのMToonシェーダーで簡単テクスチャアニメーション

 f:id:aizu-vr:20191001134758p:plainこんにちは。A-PxL所属で学部2年の山田大生です。

 最近UniVRMのMToonシェーダーで動くテクスチャが設定できることを知りまして。ちょうどVRM化できそうな人型モデルを持っていたのでやってみることにしました。

 そもそもUniVRMのMToonシェーダーとは何なのか。それはVRMモデルに対して使うことができる共通のシェーダーの1つです。元から完成されていて様々なパラメータも持っているのでシェーダーをかけない私にはとてもありがたいものです。

 早速そのMToonシェーダーを使ったものを紹介していこうと思います。

 まずはUniVRMパッケージを持ってきて、モデルにMToonシェーダーを割り当てていきます。とりあえず全部Mtoonにしてみました。

f:id:aizu-vr:20191001120244p:plain

Mtoonシェーダーは特に何も設定しなくても見栄えがよく、しかも簡単にアウトラインや光源を設定できるのでとても良いです。ほんとに。

 そして本題の動くテクスチャですが、Mtoonシェーダーの"UVCoordinates"枠で設定できます。要はメッシュのUVだけを動かしてアニメーションっぽくするUVスクロールというものですね。

 まずは左腕のリングと服のマント部分のマテリアルから設定しました。 そのテクスチャはこんな感じです。 f:id:aizu-vr:20191001122047p:plain

 透過したかったのでpng画像で。右側部分がリング、左側部分が服の表面のエフェクト用です。ずいぶん贅沢に使いました。

 そしてこのマテリアルのUVCoordinates枠の”Auto Animation”の"Scroll Y"の値を設定しました。ここではそのメッシュのUVをY軸方向にどれだけ動かすかを設定できます。"Scroll X"ではX軸方向ですね。"Rotation"はそのままどれだけUVを回転させるかですね。そして設定した結果がこちら。


MToonシェーダーでテクスチャアニメーション1

 無事うまくいきました。こんな簡単に動くテクスチャが作れるなんてすごい...。

 さらにもう1つ作りました。

 今度は服の襟字を動かしてみようと思いました。先ほどと同じように設定していきますが、この襟の文字のテクスチャは服のテクスチャと一緒になっているのでこのままだと服の模様も動いてしまいます。

 そこでマスクを使って動かしたい部分を指定することにしました。動かしたい場所を白、動かしたくない場所を黒にしたマスクテクスチャを別に用意します。 f:id:aizu-vr:20191001130235p:plain

上が服のテクスチャ。下がそのマスクテクスチャです。(余談ですけどSubstancePainterでテクスチャ出力するとメッシュ部分以外のところがぐっちゃぐちゃになるのは何なんですかね...?誰か教えてほし...) f:id:aizu-vr:20191001130238p:plain

マスクテクスチャを先ほどのUVCoordinates枠のAuto Animationの"Mask"に適応させるとこんな感じに。↓


MToonシェーダーでテクスチャアニメーション2

メッシュが悪いせいでガタガタですが、しっかり襟字だけ動きました。

 そんなところで今回はここで終了です。VRMモデルならほかのVRM対応ソフトでも使えるので良いですね。かっこいい動くテクスチャ付きのモデルで遊びたいものです。もっと工夫すれば複雑なものも作れるんじゃないかと。体を這う紋様とか作れたらかっこいいなぁ...。それはまた時間があったら...。

それでは。

会津大学VR部の部員が持ち回りで投稿していくブログです。特にテーマに縛りを設けずに書いていきます!