こんにちは、ひぃです。
今回はアバターに小物を持たせる方法について書いていこうと思います。
この記事は2022年2月時点の内容です。また、偉大な先駆者の方々の知恵を参考に実装したものを、備忘録も兼ねて自分なりに書き起こしたものになります。 この方法が最善である保証はありませんので、参考程度にお願いします。
- 1.持たせたい物をインポートする
- 2.持たせる物の位置を決める
- 3.持たせる部位のボーン探す
- 4.Parent Constraintで持たせる
- 5.VRCにログインして確認する
- 発展編
- 今回の記事で使用しているアバター等
1.持たせたい物をインポートする
持たせたい物をインポートし、ヒエラルキーに配置します。アバターの一つ下の階層であればどこに配置してもOKです。(Armatureと同じ階層です)
2.持たせる物の位置を決める
持たせる位置に移動します。自分はヒエラルキーでクリックすると出てくる矢印で大まかに調節した後、インスペクターのトランスフォームで数値を微調節しています。
なお、この位置は後から微調節ができます。VRで入ってみないとわからないこともあるので、ざっくりと調節するのが良いと思います。
3.持たせる部位のボーン探す
持たせる位置を決める時に、「右手に持たせる」「頭に付ける」といった想定をすると思います。その部位のボーンをArmature配下から探しましょう。
今回は「右手」に持たせたいので、「Hand_R」を探してきました。
4.Parent Constraintで持たせる
小物のヒエラルキーにParent Constraintを追加します。 Add Componentボタンをクリックし、「Parent」辺りまで入れると候補に出てくると思います。
追加したら、Constraint SettingsのSourcesに先程探したボーンをドラッグ&ドロップで入れます。(今回の場合はHand_R)
5.VRCにログインして確認する
アバターをアップロードして確認しましょう。小物がきちんと追従していればOKです。
デスクトップモードでも確認可能ですが、握った時の手の位置など微調整したい場合もあると思うので、VRで確認するのが望ましいです。
もし、身体の動きに対して小物の動きが遅れている場合、持たせる先のボーンが間違ってる可能性が高いです。より下位のボーンで適切なボーンがないか確認してみましょう。(例:手に持たせたいのにShoulder_R=肩になっている)
発展編
現状では和傘を常に持っていて邪魔ですよね。エクスプレッションメニューで自由に取り出せるようにしたり、腰に取り付けたりできるようにもできます。
また、この和傘はシェイプキーで開閉が可能なので、その設定もしましょう。
方法は別の記事にて解説予定です。