//ここからGoogleタグのコード //以上でGoogleタグのコード終了

VRChatアバター改変AFKモーションの変更

 

概要

AFKモーションを用意する

アクションレイヤーを確認する
既にあるなら改変する
無いならデフォルトのアクションレイヤーを複製して設定

アクションレイヤーのステートのアニメーションを設定、変更する
遷移条件の調整

完了

 

AFKモーション(アニメーション)を用意する

アニメーションについて
①AFKモーションに移行するためのアニメーション(例としてイスに座る)
②AFKモーション本体(イスに座り続けるアニメーション)
③AFKモーションの終わりのアニメーション(イスから立ち上がる)

ポーズなら1種類で良い
※この場合アバターポーズライブラリを使用する方が楽

 

アクションレイヤーを確認して設定する

hierarchyにアバターのPrefabを配置して一番の親をクリック、
inspectorの中のVRC Avatar Descriptor(Script)の中のPlayable LayersのActionのレイヤーを見る

専用アクションレイヤーがある場合

inspectorのアクションレイヤーをクリックするとProjectタブでデータが入ってる場所が表示されるので
それをクリック、Ctrl+Dで複製、複製したアクションレイヤーを割り当てる

専用アクションレイヤーが無い場合

Projactタブ→Package→VRChat SDK-Avatars→Samples→AV3 Demo Assets→Animation→Controllersの中の
vrc_AvatarV3ActionLayerを選択、Cntrl+Dで複製
複製したアクションレイヤーを割り当てる

アクションレイヤーのステートのアニメーションを設定、変更する

アニメーターウィンドウを表示させる
Window→Animation→Animator

Projactタブで複製したアニメーターをクリック、アニメーターウィンドウを見て

 

下部のAfk Int、AFK、Blend Outの3つにアニメーションを割り当てます

割り当て方
Window→Animation→Animatorでアニメーターウィンドウを出す
アニメーターウィンドウで例としてAfk Int(ステート)をクリックする
inspectorを見てMotionの所に変更するアニメーションクリップ(アニメーション)を割り当てる

 

Afk Int

AFKモーションに入るためのアニメーション
例 立ち状態からイスに座るアニメーション

アニメーターでAFKのステートを選択し、inspectorでアニメーションを割り当てる

AFK

AFKモーション本体=何もしない時に再生し続けるアニメーション
例 イスに座っているアニメーション

 

BlendOut

AFKモーションの終わりのアニメーション
例 座っている状態から立ち上がるアニメーション

アニメーターでBlendOutのステートを選択し、inspectorでアニメーションを割り当てる

Global Weightが0なら1へ

 

 

 

 

トラブルシューティング

アニメーションクリップの設定

アニメーションは再生されるがガクっとなるときはここが原因かも

Projectタブでアニメーションクリップをクリックしてinspectorを見て
①Loop Time
AFK用のモーション以外はチェック無し、AFKモーションのみチェック有り

②Bake Into Pose にチェック有

Based Upon ③全部Orignalに

 

一部アニメーションが再生されない

アニメーターでステート(AFKなど)をクリック、inspectorを見て
Global Weightが1になっていないかチェック(0なら動かない)

 

Blend Outのモーションが一部しか再生されない

アニメーターBlendOutからの矢印をクリック
Has Exit TimeのSettingsのExit Timeを1へ(1.1でもいいかも?)

 

 

 

アバターの改変した場合

何が原因かは判断できないためここでは説明できません