忍者ブログ

きまぐれ猫の散歩道

どこにでもあるただのブログ。主に妄想を書き綴ると思われますよ。

VRCに挑戦・自動まばたきと表情の干渉防止

まいど( ̄ー ̄)ゞ

VRCでの自動まばたきと表情変化が干渉してしまう問題。
メッシュを2枚にして防いでみましょうか。




表情変化のアニメーションをしてる時に、自動まばたきが作動してると、お互いが干渉して表情が崩れるという現象ですね。
これをどうにかしようというお話なんですが・・・

まず、この現象を防ぐのに便利なツールを配布してくださってますよ。

こちら『NoBlinkSetter』

無料です。存分に利用してもらうと良いでしょう。

が、しかし、私は今回こちらを頼らずに違う方法で試してみました。
いくつかあるみたいですが、今回試してみたのが顔のメッシュを2枚にして防ごうという方法です。
何故2枚にするのか。
それは、一つには自動瞬きをするメッシュにして、もう一つを表情変化のメッシュにするという訳ですね。
そして、それを表情変化の時にメッシュを入れ替えることで干渉を防ぐという方法です。
問題がない訳ではないのですけどね。
自動瞬きか表情変化のどちらかになる事ですね。
表情変化の時は瞬きしないって事になります。
それとメッシュが2倍になるのでポリゴン数が増えます。
まぁ、この辺をどうにかしようとすると結構難しいらしいのですよねぇ。。

それで2枚のメッシュを使う方法なのですが、大まかに2通りあるようです。
一つは、透明化するシェーダーをマテリアルに割り当てて切り替えるという方法。
こっちの方法の方が使うメリットとしては大きいようです。
だから、こっちでやってみようと思ったのですけど、なんだか上手くいかずに失敗しちゃったんですよねぇ。
うーん・・・アニメーションを登録する所で間違ってる気がする。。

という事で、今回はもう一つの方法でやってみます。
オブジェクトそのものの表示を切り替える方法です。

では、始めましょう。

まずは自動瞬きとリップシンクをする一つ目のメッシュの用意です。
リップシンクは前の記事通りに設定するとして、自動瞬きを設定してみましょうかね。

方法はアニメーションオーバーライドと同じですね。
モデルを複製して、アニメーションファイルを作り、アニメショーンウィンドウで設定していきます。
違うのは0.00秒~0.01秒だけでなく、12秒までアニメーションを登録していきますよ。

いくつかサイトを巡ってみたのですが、どうやら3秒と7秒にまばたき1回ずつで12秒でまばたき2回すると自然になりやすいっぽいです。
まぁ、この辺は好みの問題で人それぞれで微調整すれば良いかなって感じですかね。

では、作ります。
まずは0秒でまばたきに使用する表情を数値0(目が開いてる状態)で登録します。

次に3秒まで進めて、適当に感覚を開けて0・100・0と登録します。
0が目を開いてる状態で、100が目を閉じてる状態ですね。
これで瞬きを1回するという動作になります。

登録したら【Shift】押しながらクリックすると、範囲選択が出来るので、一連の動作を選択して【Shift】+【C】でコピーします。

7秒まで進めて、【Shift】+【V】で先ほどの瞬きを貼り付けます。

12秒まで進めて、今度は間隔を開けて2回貼り付けます。
連続で2回瞬きをさせる動作になりますね。

これで自動瞬きのベースのアニメーションの完成ですよ。

アニメーションが完成したら、アニメーションファイルをクリックして【Inspector】の【Loop Time】にチェックを入れます。
これで、作ったアニメーションが繰り返しさせる事になります。
自動瞬きの完成です。

出来上がったアニメーションファイルは『元のモデル』のメッシュにドラッグ&ドロップします。
(複製じゃない方ね)

自動瞬きとリップシンクをするメッシュの用意が出来ました。
次に表情変化用のメッシュを用意します。
こっちは前回と同じ要領で作れば良いですね。
気を付けるのは、別々のメッシュなので自動瞬きをするメッシュで表情を作らないようにする事でしょうね。

それで表情変化のアニメーションを作る際に一手間付け加えます。
表情変化の登録とは別にオブジェクトのON/OFFの設定も追加登録しますよ。

アニメーションウィンドウの左上にある【赤い●】をクリックします。
『自動瞬きをするメッシュ』の【Inspecter】のメッシュ名の横のチェックを外します。
さらに『表情変化のメッシュ』の【Inspecter】のメッシュ名の横をチェックします。

これで完成です。
VRCに持って行って表情を変えてみましょう。
表情が変わっている間、まばたきをしなければ成功ですよ。

詳しく知りたい場合は、こちらのサイトを見てみると良いですよ。
最新版(10/02時点)自動まばたきの実装【VRChat技術情報】

ここで結構躓いちゃいましたね。。






拍手[0回]

PR