yupaがエンジニアになるまでを記録するブログ

FjordBootCamp (フィヨルドブートキャンプ ) で学んだことや、趣味のVRに関するメモを記録していきます

VRChatで使用するVRoidに表情をつける方法

mayorum.hatenablog.com

先人様の記事を参考にVRoidをVRChatにアップロードできたはいいけどこのままだとキーに表情が割り当てられてない。

shiasakura.hatenablog.com

この記事(今回の参考記事)を参考にやっていったところ、なんとか表情を付けることができた。しかしUnityに読み込んだVRoidはこの記事で説明されているモデルの構成との違いが多くあり、そこで躓いた点をまとめていく。

(アドバイスしてくださったi175sさん、ありがとうございます・・・!)

Unityで読み込んだVRoid(FBXの方)の表情を変えるには

Hierarchyから表情作成用にコピーしたモデルのUMARendererを選択し、右側Inspector -> Skind Mesh Renderer内のBlendShapesを展開

f:id:yu8as:20180826194143p:plain

すると表情設定用の項目がずらーーーっとでてくる。ここの値を変更することでで表情が変わる。値はおそらく0〜100の範囲で調整。

f:id:yu8as:20180826194810p:plain

アニメーション(BlendShape)の登録

参考記事の通り手順を進めていく。

  1. Assets内にAnimationフォルダを作る
  2. Animationフォルダ内で右クリック -> Create -> Animation で空のアニメーションを作る
  3. 空のアニメーションをHierarchy内の表情作成用モデルにD & D
  4. メニューのWindow -> Animationをクリック。Animation編集用のウィンドウが開く。

この状態で、

  1. Hierarchyからアニメーション作成用モデルのUMARendererを選択
  2. Animationウィンドウの赤い●ボタンを押す
  3. 先程のBlendShapesの値を変える

すると、 Animationウインドウに値を変更した項目が登録される。

f:id:yu8as:20180826202311p:plain

このようにして、必要な項目を追加していく。 (AnimationウインドウのAdd Propertyからも登録できる)

試しに、Animationウインドウの赤●ボタンを解除し再生▶ボタンを押すと、値を変えたBlendShapeがモデルに反映されていることがわかる。

f:id:yu8as:20180826203438p:plain

ハンドサインの登録

上記手順で作ったAnimationはこの後すでにあるハンドサインのキーに上書きする形ことになるので、既存のハンドサインができなくなってしまう。表情と一緒にハンドサインもやりたい場合の作業手順が以下。

  1. Assets/VRCSDK/Examples/Sample Assets/Animation を開く
  2. Male_Standing_Pose Import Settingsを展開
  3. どれか一つAnimationを選択
  4. Animationウインドウの一番上の♢(ダイヤ)マークをクリックしてCtrl + C
  5. 先程自分で作ったAnimationに戻り、Animationウインドウをアクティブにした状態でCtrl + V

f:id:yu8as:20180826223946p:plain

f:id:yu8as:20180826224317p:plain

これで指の形の編集ができるようになる。
あとはAnimationウインドウ上で Left(Right) Hand. ....という名前の値を-1 ~ 1の範囲で設定して指を好きな形にすればOK。Left(Right) Arm Down-Upの値を変えると腕が上がって手の形が見やすくなる。

f:id:yu8as:20180826225233p:plain

複数の表情(Animation)を作る場合、今作ったAnimationファイルを選択 -> Ctrl + Dで複製して、ファイル名と値を変える。 (もしかしたら、この複製したAnimationファイルもアニメーション作成用モデルにD&Dして紐付ける必要があるかもしれない・・・)

あと、アニメーションを2フレーム目に複製するのも忘れずに!

結果

あとは参考記事の通り、

  1. VRCSDKからCustomOverrideEmptyを複製
  2. 作ったAnimationをCustomOverrideEmptyに登録
  3. CustomOverrideEmptyを元の(Animation作成用ではない)モデルのVRC_Avatar Descriptor -> Custom Standing Animsに登録
  4. アップロード!

結果・・・

f:id:yu8as:20180826231311p:plain

VRoidに表情が宿った!!!

お疲れ様でした!
(次は前回の記事で紹介したちくわを持たせたい)