がとーしょこらの技術録(旧)

記録や技術的な記事を書いていきます

Avatars3.0のAFKのポーズを変更する

はじめに

VRChatのAvatars3.0でAFKモードが追加されました。
HMDを外すかEndキーを押すことでAFKモードになって、
デフォルトだとアバターが座禅を組んで浮いている状態になります。(なぜ...)

本記事ではこのAFKモードでアバターがとるポーズを変更する方法を書きます。

手順を概要的にまとめて、その後詳細に書いています。
自分に合ったほうを見ていただけると良いかと思います。

ねここやさんが配布されているポーズアニメーションを例に説明していきます。
オススメの商品です。 necocoya.booth.pm

動作確認環境

  • Unity 2018.4.20f1
  • VRCSDK3-AVATAR-2020.08.06.16.30_Public.unitypackage

変更する手順

  1. vrc_AvatarV3ActionLayer.controllerを複製する。
  2. 1で複製したAnimatorControllerのAfk Init, AFK, BlendOutのStateのMotionに以下のようなAFKアニメーションのAnimationClipを設定する.
    • LoopTimeがtrue
    • 0フレーム目にのみAFKのポーズをしたHumanoidのアニメーションキーを持つ
  3. VRCAvatarDescriptorのPlayable LayersのActionに1で複製したAnimatorControllerを設定する

変更する手順(詳細版)

1. AnimatorControllerの複製と設定

Assets/VRCSDK/Examples3/Animation/Controllersのvrc_AvatarV3ActionLayerを複製します。
選択した状態でCtrl+Dで複製できます。

f:id:gatosyocora:20200807160755p:plain

そのアバター用であることがわかる名前に変更して、別のフォルダに移動しておきましょう。

f:id:gatosyocora:20200807160938p:plain

次に複製したものをVRCAvatarDescriptorのPlayable LayersのActionに設定します。

f:id:gatosyocora:20200807124936p:plain

次に設定したAnimatorControllerをダブルクリックして選択状態にします。
そして、Animatorタブを開きます。
AnimatorタブはWindow>Animation>Animatorで開けます。

f:id:gatosyocora:20200807161328p:plain

Animatorタブには選択したAnimatorControllerの内容が表示されていると思います。

f:id:gatosyocora:20200807161213p:plain

2. AFKアニメーションの選択と設定

AnimatorControllerにあるAfk Init, AFK, BlendOutというStateに設定したいAFKアニメーションを設定します。
どのAFKアニメーションを使うか決めるときにプレビューを見ると良いです(詳細)。

f:id:gatosyocora:20200807161623p:plain

それぞれクリックするとInspectorがそのStateの詳細が表示されます。
Motionに設定したいAFKアニメーションのAnimationClipを設定します。 Afk Init, AFK, BlendOutすべてのMotionに同じAnimationClipを設定してください。

f:id:gatosyocora:20200807161756p:plain

設定したMotionをダブルクリックして設定したAnimationClipを選択状態にします。
すると, InspectorにAnimationClipの詳細が表示されます。
Loop Timeにチェックがない場合、チェックを入れます。

f:id:gatosyocora:20200807162106p:plain

AnimationClipが選択された状態でAnimationタブを開きます。
Window>Animation>Animationで開けます。

f:id:gatosyocora:20200807162449p:plain

f:id:gatosyocora:20200807162509p:plain

60:00のほうにある一番上のひし形を選択して、60:00のひし形すべてを選択します。
Deleteキーを押して選択したひし形をすべて削除してください。

f:id:gatosyocora:20200807162428p:plain

0:00のみにAnimationキー(ひし形)がある状態にします。

f:id:gatosyocora:20200807162651p:plain

これで変更が完了しました。
実際にアップロードしてAFKを試してみましょう。

番外:AFKアニメーションを選ぶ

Humanoidボーンを変更するAnimationClipを選択すると,
Inspectorの下部に実際のモーションが表示されます。

f:id:gatosyocora:20200807205442p:plain

こうなっている場合は灰色部分にカーソルを合わせて上に持ち上げると,
実際のモーションのプレビューが表示されます。

f:id:gatosyocora:20200807205705p:plain

ここにHierarchyにあるアバターのモデルをドラッグ&ドロップすると
プレビューされている3Dモデルがそのアバターになるので選ぶときにいい感じになります。

f:id:gatosyocora:20200807205949p:plain