見出し画像

【Vnyan導入2024年版】表情を検出してVの表情をウェブカメラだけで細かく検出しよう!【設定DL有】

誰でも設定できるように詳しい説明を交えながら執筆しているので、文字数や手順が多くなっています。
わからない場合はその都度該当箇所に移動して、わかる場合は読み飛ばしながら読んでもらって構いません。
できる範囲でゆっくり進めましょう。


📔はじめに

初めましての方は初めまして、うにのれむです。
1ヶ月ぶりのNoteを書いていきたいと思います。
先日Vnyanの最序盤の導入方法を説明しましたが、それだけでは導入できただけで、全然Vnyanを使う必要性ないじゃん!!!!!
ってなってしまいかねないので、Vnyanでできることの1つ、ホットキーなどを設定しないで表情の細かい変化を読み取って表情を変える方法を紹介していきます。 
この方法を使うことで、配信を見てくれている視聴者さんと話している時に笑った時に笑った顔になったり、驚いたときに驚いた顔になるので、表情筋を鍛えることができます。

この記事では実際に僕が使っているVnyanにインポートすることができるファイルを実際に置いておきたいと思います。まず手始めにインポートをしてどういうように設定されているのかを確認してから自分用に設定するのもおすすめです。

まだVnyanを導入していない方はコチラの記事を参考にしてください


📥Vnyan用の表情ファイル配布

僕の配信では配信中に5種類の表情を使い分けています
配信でゲームパッドやキーボードマウスでゲームをしていて手がふさがっていても表情を変えることができるのは表情を設定してます。
かなり表情筋を鍛えられるのでおすすめです

こちらのファイルに現在僕が使っている5種類の表情ファイルが入っています。Vnyanに読み取って実際にみなさんが使うことができます。
ここでは上の.zipを保存してから自分の環境で使う方法、そして自分のキャラ用にカスタマイズして使う方法を紹介していきます。

📂.zipを保存してから自分の環境で使う

それでは先ほど配布したVnyanExpressionFiles.zipをダウンロードして使ってみましょう。
まずダウンロードしてzipファイルを展開する必要があります。
展開すると以下のファイルが含まれていることを確認してください。
・1VnyanExpressionFun.vnexp
・2VnyanExpressionAngry.vnexp
・3VnyanExpressionJoy.vnexp
・4VnyanExpressionSuprised.vnexp
・5VnyanExpressionSorrow.vnexp

各ファイルにナンバリングしてあります。

それぞれVRMファイルのAngry, Fun, Joy, Sorrow, Suprisedの表情に対応したファイルです。VRMの表情に対応しているので、VRMの表情をVroidStudioやUnityなどを用いてしっかり使っている方であればその通りに動作するはずです。もし、VRMの表情通りに作っていない方はVnyan内で設定を少し変える必要があるかもしれません。(後述します)

📁ダウンロードしたファイルをVnyanで読み込もう

それでは早速ダウンロードしたファイルをVnyanで読み込んで、自分のアバターに適用します。

①Vnyanを開いたらまず⦅Menu⦆を押して上部メニューを開きます。
②上部メニューの中から ((Expressions)) を選択します。
Expressionは日本語で表情という意味です。
初めてExpressionを設定する場合はウィンドウが開きますが
何も表示されていない画面が出てきます。
③DLしたファイルをインポートします。
ファイルに数字を振っているので数字の順番にインポートしてください。

インポートが済むと何もない画面に読み込んだ設定が出てきます!

④ダウンロードしたファイルをすべて読み込むとこのように1~5が順番に表示されます。
各Expressionの設定には日本語でなんとなくわかるように名前を付けておきました。
①から順番に練習すると簡単に理解できるようにしてみました。
ここから詳しい説明をしていきます。

ひとまず導入するだけならここで終了です。
他の人が作った設定をダウンロードして、インポートするだけ。

このような設定ファイルはVnyanのコミュニティDiscordサーバーで探すこともできますが、英語で探すことになるのでなかなか難しいかもしれません。
僕の記事では面白い設定や役に立つ設定を積極的に日本語で共有してより良く、面白い環境構築ができるようにしていきたいなと思います。


📃表情設定の詳しい説明

導入するだけだとどんな表情をしたら動くのかよくわからなかったり、なんで表情が変わるのかわけわからないと思うので、ここからは詳しい説明をしていきたいと思います。

⚙️表情設定の詳しい設定方法ーなんか誤発動しちゃうとか

表情設定の基本 ①笑い顔ー口角をあげる の場合
ここではウェブカメラなどのトラッキングから配信者の口角がどのくらい上がっているかを検出して一定の値を超えたらアバターの表情の種類が変わるようになってます。

〇Expression Name ここで自分の分かりやすい名前に変更することができます。僕が作った表情設定では、どんな顔になるかと、必要な顔が入力されています。

Ⅰ. Blendshape Conditions
このセクションではウェブカメラなどのトラッキングから入力されたBlendshapeの情報の値がどのくらいになったらONになるのかを設定できます。
BlendshapeNameには検出するBlendshapeの種類を入力します。
①では「mouthsmilerright」つまり、「右の口角がどのくらい上がったか」がトリガーになっており、最小値(MIN)68~最大値(MAX)100の数値になるとONになるように設定しました。

また、この数値はVnyan内から確認することができます。


🔎Vnyanで検出されたBlendshapeの値を確認してみよう

☆右側のメニュー一覧から(🔍Monitor)という項目があるので選択します。
(🔍Monitor)を選択すると、次のようなウィンドウが出てきます。
左側がBlendshapeの名前一覧です。そして右側がそれぞれの数値です。
この画面を開いてカメラの前で動くと各数値がぴこぴこ変化します。
また、緑の文字の部分はアバターに出力されているBlendshapeとその値になります。
そして、白い文字の部分は実際にカメラの前のあなたのBlendshapeとその値になります。
それでは笑顔検出のための値がどのように変動しているのか確認してみましょう。
このようにVnyanではカメラが検出している情報をすべて数値で管理されています。
画像では赤〇の値が最小値(MIN)68を上回る77になっているので右の
うにのれむアバターの顔のBlendshapeが[fun]の><な顔
になってます。

VRトラッカーなどから手に入れた情報も(🔍Monitor)に記録されているので、
例えばVRトラッカーがどのくらい地上から上にいったかとか
右手がどのくらい上がったかとか
眉がどのくらい上がったかとかを検出できます。
別件ですが、Vnyanではこの値をアクショントリガーに利用することもできます。
右手が上がったらタライが落ちてくるとか。そんな感じです。

Ⅱ. ではⅠでONになった時に3Dアバターに適用するBlendshapeの値を決定します。

[Type]では「Set Value」か「Multiply」を選択できます。
「Set Value」では指定した値に。「Multiply」ではかけ算をして値を決定します。

[Blendshape]の欄には3Dアバターの変更したいBlendshapeの名前を入力します。今回は笑顔になったときに笑顔にするようにしたいので「fun」を指定しています。
 
[Type]で「Set Value」を選択している場合は[Value]の欄に指定したい値を入力します。
また、徐々にBlendshapeを変えたい場合は下の[Min Value]と[Max Value]に数値を入れて、[Smooth Seconds]に秒数をいれることで、ONになったときに徐々にBlendshapeを変えることもできます。

[Type]で「Multiply」を選択している場合は[Multiplier]に何倍にしたいかを入力することができます。


最後に、削除ボタンとエクスポートのボタンです。
必要のないExpressionの設定を消したり、自分でカスタムした設定をエクスポート(ファイルとして保存)することができます。

このように1つひとつのBlendshapeの設定ができています。
自分の表情筋の柔らかさに合わせた設定にして、表情が誤発動しないようないい感じの値を探ってみてください。

①笑い顔ー口角をあげる

ここでは口角の右側が上がっている度合いの数値を参照します。
口角の右側があがっている値が…最小値68~最大値100
で参照します。
つまり単純に笑っていればトリガーされます。
どのくらい笑っているのかを調整したい場合は…最小値68の値を大きくしたり小さくしたりして調整してください。

この顔をするとVRMに保存されている[fun]がトリガーされます。

②キス顔ー口をすぼめる

ここでは唇をすぼめる値と眉が上がる値を参照しています。
唇をすぼめる値は…最小値80~最大値100
眉が上がる値は…最小値0~最大値80
で参照します。
つまり、口を強くすぼめていて、眉が上がっていないと発動します。

この顔をするとVRMに保存されている[Angry]がトリガーされます。

③楽しい顔ー眉あげて口をすぼめる

②の口をすぼめる操作にさらに眉をあげるとトリガーされるようになってます。
唇をすぼめる値は…最小値80~最大値100 
眉あげる値は…最小値80~最大値100
で参照します。
つまり、唇をすぼめて、眉を思い切り上にあげると発動します。

このような顔をするとBlendshapeの「joy」がトリガーされます。

④びっくりした顔ー眉あげて口の右側を下げる

④では③同様に眉をあげる操作に加えて、口の右側を下げる動作で表情を分けています。
眉をあげる値は…最小値80~最大値100 
口の右側を下げる値は…最小値20~最大値100
で参照します。
つまり、口の右側を下げてから、眉を思い切り上にあげると発動します。
びっくりしたときにあんぐり口を開けると思うのですが、あの顔に対応しています。すこし大げさにびっくりするとこの顔が発動します。

このような顔をするとBlendshapeの「Surprised」がトリガーされます。

⑤悲しい顔ー眉をしかめて笑わずに口をすぼめない

さいごに悲しい顔を発動するための設定になります。
いままでの最低値より下の数値だと発動するように設定しています。

このように設定しないと複数の表情が同時に発動してしまい、二つの表情がブレンドされたり変なことになるのでそれを防ぎつつ、疲れた顔を出すようにします。
眉を上にあげる値は…最小値0~最大値2
口の右側が笑っている値は…最小値0~最大値10
くちびるをすぼる値は…最小値0~最大値80
で参照します。
つまり、眉が下がっていて口が笑っていなくて唇が通常状態だと発動します。
通常眉の位置は25~50くらいにあるので、いつもより眉を下げると発動されます。

このような顔をするとBlendshapeの「sorrow」がトリガーされます。

📔さいごに

Vnyanでは実際の表情の数値をモニタリングして、それをVアバターに適用することができるという紹介記事でした!!!
VroidやVRMでできることを助長することができる最高の方法の1つです!

このようにVnyanでは自分がエクスポートした設定を他の方に共有することも推奨されています。中には自分の設定に低額の値段をつけて販売されている方や、設定とセットで3Dのアセットをストア販売する方も海外のクリエイターの中にはいらっしゃるのでアイデアとしてこちらに置いておきますね。
これから他の記事ではVnyanでVアバターに3Dアイテムを付けるトリガーを作成したり、3Dライブステージに立ってVで踊ることができるみたいなことができます!
Unityをつかって同じような環境を構築することもできますし、Twitch配信者の面白いことをしている多くの人は自分で環境を作っています。

僕はプログラムを書いたり難しいことはできないので、英語のアプリでもある程度読み取れる能力を使って皆さんに日本語化した説明書のようなものを書き残せたらなと思います。

他にもいろんなことができる!Vnyanの入門記事はコチラ

VnyanのDL先はコチラ※導入する場合は入門記事からがおすすめです


Vnyanと一緒に使っている万能日本語ローカル環境Twitch接続アプリ
たぬえさ3の入門記事はこちら

うにのれむの配信先とX(旧Twitter)はこちら


この記事が気に入ったらサポートをしてみませんか?