2022/2/15 加筆・修正しました。
この記事はAFKモーションが作動すると同時に、
- 小物(枕・布団)が自動的に現れ、
- AFKから復帰すると自動的に小物が消える
という特徴を持つAFKモーションの取扱説明書です。
通常のAFKモーション(アニメーション)に加えて
- 3Dモデル
- パーティクル
を組み込むことで、様々な表現を可能にします。
記事は以下の商品に対応しています。
※仮眠セットで解説しますが、基本的な仕組みは同じです。
動作確認用として【AFK】お茶を無料配布しております。
購入を検討されていて、設定できるか不安な方はこちらの商品でお試しください。
一部のアバターにて、
- 布団と枕がVRChatで表示されない
- (布団と枕がUnityでは表示されるけど、VRChatにアップロードしたら、表示されなくなった)
- 挙動が不安定
という不具合の報告がありましたので、この不具合の解決策についてもお伝えします。
目次から『VRChat上で小物(3Dモデル)が出てこない不具合について』をお読みください。
記事はUnity 2018,4,20f1 にて解説しますが、Unity 2019.4.31f1 でも同じ手順で設定できます。
※記事で使用させていただくアバター
オリジナル3Dモデル「狐雪」Ver.1.04 – キュビクローゼット – BOOTH
目次
【Unity】AFKモーションの間だけ自動的に小物を出し入れする方法
という設定を行います。
初心者目線で解説しますので、すでに理解している部分は飛ばしてください。
1.アバターのアップロードに必要なファイルをインポートする
- アバターのデータ、
- 「仮眠セット」をUnityにインポート
- アバターのprefabをHierarchyに入れる
ところまで進めます。
- Unityをそもそも触ったことがない方、
- アバターを一度もアップロードしたことがない方
はこちらの記事をご覧ください。
アバターのアップロードから、普通のアニメーションの設定まで解説しています。
2.Animator Controllerを追加する
- Assetsの中で右クリック
- Create → 『Animator Controller』を選択
します。
3.アバターを選択して、アバターのAnimatorを設定する
- アバターを選択
- アバターのAnimatorの、Controllerの中に、
- 追加した『Animator Controller』を入れる
- 『New Animator Controller』をダブルクリックする
ところまで進めます。
写真のように、マウスでドラッグ&ドロップするだけです。
アバターに設定した『New Animator Controller』をダブルクリックして、Animator画面に移ります。
4.使いたいアニメーションを設定する
- アニメーションファイルをドラッグ&ドロップする
- 『Scene』から最初の画面へ
戻ります。
※アニメーションのポーズの確認は、BOOTHの商品ページをご覧ください。
5.アニメーションのタブを開く
- 『Window』から、
- 『Animation』を選択してタブを開く
- 『Preview』をクリックすると、設定したアニメーションが再生される
ので試してみてください。
これでアニメーションに小物を合わせる下準備ができました。
アニメーションファイルを変更したい場合は?
という方は前の項目のように、
- アバターを選択して『New Animator Controller』をダブルクリック
- ドラッグ&ドロップしたアニメーションファイルを選択して、
- 右クリックから『Delete』を選択して消す
- 別のアニメーションファイルを入れる
- 『Scene』から別のポーズに戻って、Previewで確認する
ことで、アニメーションファイルを入れ替えられます。
6.小物(枕・布団)をHierarchyに入れて位置を合わせる
- 『Preview』を押した状態のまま、
- 小物のprefabをHierarchyに入れて位置を合わせる
- 小物のprefabを『unpack』する
ところまで進めます。
Animationタブの『preview』を押した状態のまま、AFKに合わせたい小物のprefab(枕・布団)をHierarchyに入れて位置を合わせます。
小物の位置が決まったら、
- Hierarchyに入っている小物を右クリック
- 『Unpack prefab』を選択
します。
Unpackすることで、水色の箱が白くなります。
アバターがTポーズに戻ってしまう場合は?
という場合は、アニメーションタブの右端にある
- 南京錠マークをクリックする
- ▼から『Lock』を選択する
- (※どちらのやり方でもOKです)
ことで再生中のアニメーション(ポーズ)を固定したまま、布団の位置を合わせることができます。
※南京錠のマークが無い場合があります。その際は▼から『Lock』を選択してください。
7.小物をアバターの中に入れる
- アバターの▼をクリックする
- 小物をアバターの中に入れる
ところまで進めます。
小物をHierarchy上で掴み、アバターの名前の上に重ねる(ドラッグ&ドロップ)とアバターに小物が組み込まれた状態になります。
この作業がとても重要です。
という違いがあります。
初心者の方が躓きがちなポイントなので、違いを確認して覚えておいてください。
『Armature』等と同じ列に入っているかを確認してください。
8.アニメーションを止めて、小物のチェックを外す
- 『Preview』をクリックし、T字ポーズに戻す
- アバターに入れた小物(枕・布団)のチェックを外す
ところまで進めます。
チェックを入れたままだと、AFK状態ではない(通常時)にも、枕・布団が見えてしまいます。
普段は見えないようにしておき、「AFKモーション」が作動した時だけ、小物が見えるようになる…というカラクリです。
ちなみに小物のチェックを外してから、もう一度『Preview』を押すことで動作確認ができます。
アニメーションの再生と同時に「パッ」と小物が出てきます!
アニメーションを止めると同時に小物が「パッ」と消えますよ。
※「AFKモーションの時に小物が見えるように」アニメーションファイルを加工しています。
9.アバターのAnimatorを『None』に変更
- アバターを選択する
- Animatorの〇をクリックして、
- 『None』を選択
します。
この工程を忘れると、VRChatにアップロードした際、アバターのポーズがバグる可能性があります。
最初に設定した『New Animator Controller』の中に入れたアニメーションファイルが常時再生されてしまう様です。
10.vrc_AvatarV3ActionLayerをダブルクリック
- 『VRC Avatar Descriptor(Script)』の中の、
- 『Playable Layers』の『Action』から、
- 『vrc_AvatarV3ActionLayer』を選択してダブルクリック
します。
アバターを選択した状態で、『VRC Avatar Descriptor(Script)』を探します。
(※最初からアバターに設定済みの場合もあれば、追加する必要がある場合もあり、アバターごと設定が異なります。)
『Action』の欄の小さな〇をクリックして、『vrc_AvatarV3ActionLayer』を選択します。
『Action』の欄に『vrc_AvatarV3ActionLayer』が設定されたら、ダブルクリックしてAnimator画面に移ります。
『VRC Avatar Descriptor(Script)』がみつからない時は?
みつからない場合は、『Add Component』をクリックし、虫眼鏡のところに、『avatar』と入力すると出てきます。
『VRC Avatar Descriptor』を選択して追加します。
11.AFKモーションを設定する
- 『AFK Init』
- 『AFK』
- 『Blend Out』
- ↑それぞれのMotionの欄に、アニメーションファイルを入れる
ところまで進めます。
難しそうに見えますが、めっちゃ簡単なのでご安心くださいね。
まず『AFK Init』を選択してみてください。
Motionの欄に、設定したいアニメーションファイルを入れるだけです。(ドラッグ&ドロップ)
- 『AFK Init』
- 『AFK』
- 『Blend Out』
3か所すべてのMotion欄に、設定したいアニメーションファイルを入れたらAFKの設定は完了です。
12.VRChatへアバターをアップロードする(完了!)
- 『Scene』をクリックして最初の画面に戻る
- 『VRChat SDK』から『Show Controller Panel』を選択
- 『Build & Publish for Windows』からアバターをアップロード
して完了です。
VRChatへアップロードしたら、AFKと同時に小物(枕・布団)が出てくるか?確認してください。
- 通常時、小物(枕・布団)が見えていなくて、
- AFK状態にすると、小物が現れて、
- 復帰すると小物が消える
様であれば成功です。
という方は次の項目に進んでください。
VRChat上で動作に問題が無ければ、ここで解説は終了です。
また、
- アバターのポーズが最初からバグっている
- 小物が変なところに飛んでしまう
- そもそもVRChatにアップロードする方法がよくわからない
という方はこちらの記事をご覧ください。
バグや不具合の解決策、VRChatのアップロード方法も詳しく書いてあります。
ちなみにアバター3.0のアクションメニューから、ON・OFF切り替えでアニメーションを再生することもできます。
上記の記事に導入方法を載せておりますので、合わせて参考にしてください。
【Unity】AFKモーションに3Dモデルやパーティクルを合わせられます!
自動で小物を出し入れできる機能には、自由に別の3Dモデルを付け足すことができます。
「こたつセット」では写真のように「おまんじゅう」を食べている様子を表現できます。
こたつセットに限らず、
- 【AFK】たばこ:灰皿
- 【AFK】ラブレター:ハートパーティクル
というように自由にカスタマイズできます。
別のお店でアクセサリーやワールド制作用に買った3Dモデルを、AFKモーションに組み込むことができるのです。
写真を参考にして、3Dモデルの位置を合わせてみてください。
※この項目では「こたつセット」「たばこ」で解説します。
1.3Dモデルの位置を合わせる
- 組み込みたい3DモデルをHierarchyに入れる
- 位置とサイズを合わせる
ところまで進めます。
すでに解説した通り、3DモデルをAssetsからHierarchyに入れて位置を合わせます。
アニメーションを再生させながら「おまんじゅう」の3Dモデルを合わせていきます。
3Dモデルを合わせる方法にはコツがあります。
- 移動(十字のやつ)
- 回転(矢印が回っているやつ)
- 真上・真横から見る(XYZをクリック)
という方法で簡単に設定できます。
上の写真を見ながら参考にしてください。
1.移動(十字)
『移動』はアバターにアクセサリーを合わせる時などによく使います。
XYZ方向に、選択しているオブジェクトを移動させられます。
2.回転(矢印が回っている)
写真のように、選択しているオブジェクトを中心に円が表示されます。
それぞれの円を掴むことで回転させることができます。
細かな微調整をしたい時に重宝します。
3.『真上・真横から見る』
XYZをクリックすると視点の切り替えが行えます。
「正面から見た時に位置が合っていたけど、真横から見たらズレていた…」ということがあります。確認のために使います。
※パーティクルを組み込む方法
3Dモデルだけでなく、パーティクルを組み込むこともできます。
煙や湯気など、色の薄いパーティクルを合わせる時は、
- 『Gizmos』をクリック
- 『Selection Outline』にチェックを入れる
ことでパーティクルがオレンジ色の枠で囲われて見やすくなります。
パーティクルが発生している部分を3Dモデルに合わせて設定できます。
2.3Dモデルを「Unpack Prefab」する
Hierarchyの小物を右クリックして『Unpack Prefab』を選択します。
3Dモデルの文字が水色から白色に変わります。
3.3Dモデルをアバターに設定した『こたつ』に組み込む
小物をアバターの中に設定された『こたつ』の中に入れます。
写真のように、『こたつABC』の下に配置されている状態にします。
商品別でまとめると、
- 【AFK】仮眠セット:『枕・布団』
- 【AFK】こたつ:『こたつABC』
- 【AFK】捨て猫:『ダンボール箱』
- 【AFK】たばこ:『たばこ(3D)』
- 【AFK】乗馬:『馬A・馬B』
- 【AFK】ラブレター:『ラブレター』
- 【AFK】お茶:『おぼん』
となっております。
この項目で設定した小物(VRCまんじゅう)のチェックは入れたままにしておきます。
アニメーションが止まると、こたつと一緒に小物(VRCまんじゅう)も消えます。
アニメーションが止まっても『こたつ』が出たままになっている人は、アニメーションを止めた状態で、『こたつ』のチェックを外してください。
動作確認をした時に、
- こたつ
- 追加した小物(VRCまんじゅう)
が同時に出し入れされていれば完了です。
VRChat上で小物(3Dモデル)が出てこない不具合について
ワンコインマーケットで買ったいーぐるさんの【AFK】仮眠セット、早速SDK3のアバターで説明通りちゃんと設定してみた・・はずなんだけど
オフトゥンとまくらが出てこない・・なぜ??悲しみ pic.twitter.com/tIkwoiQL14— ほにます (@honimasu) September 28, 2021
ここからは仮眠セットver1.05の追記になります。
冒頭でもお伝えしたように、一部のアバターにて
- 3Dモデル(布団と枕)がVRChat上で表示されない
- (Unityでは表示される)
といった不具合が発生しておりました。
という症状の対策をお伝えします。
同様に、
- 他の人から布団や枕が見えていない
- 「挙動が不安定に感じる」
といった方にもおすすめです。
この項目でお伝えする方法で、動作を安定させることができます。
1.FXレイヤーをダブルクリックする
- Hierarchyのアバターを選択する
- 『VRC Avatar Descriptor』の中の、
- 『Playable Layers』の『FX』から、
- 『AvatarV3FXLayer』を選択してダブルクリックする※
ところまで進めます。
AFKの設定をする際に設定した『Action』の下に『FX』の項目があります。
※名称はアバターによって異なる場合があります。
狐雪ちゃんの場合は、『KoyukiFX』となっています。
最初から何も設定されていない場合は、『AvatarV3FXLayer』を選択します。
FXレイヤーが1つも無い場合は?
アバターによっては、FXレイヤーが未設定の場合があります。
その際は『Animator Controller』を出して代用します。
『Animator Controller』を出したら、名前を『FXLayer』に変更します。(名前は適当でOKです)
※名前はAssetsに出した『Animator Controller』を右クリックして『Rename』を選択すると変更できます。
名前が設定できたら前の項目に戻って、設定した『FXLayer』を探してみましょう。
2.FXレイヤー(Parameters)の設定を行う
- 『Parameters』を選択する
- +をクリックして『Bool』を追加する
- 名前を『AFK』に変更する
というところまで進めます。
『Bool』を追加すると、『New Bool』という名前の項目が追加されます。
この『New Bool』をダブルクリックすると名前を変更できます。
3.FXレイヤー(Layers)の設定を行う
- 『Layers』を選択する
- +をクリックして項目を追加する
- 名前を『AFK』に変更する※
- 歯車マークをクリックして、『Weight』を0→1にする
ところまで進めます。
『Weight』はキチンと1になっていることを確認してください。
※『Parameters』で入力した時と同じように、『AFK』と入力してください。(両方同じ文字でないと、正しく動作しません)
4.FXレイヤー(布団・枕の出し入れ)を設定する
- 画像のピンク色の枠の中で右クリックする
- 『Create State』から『Empty』を選択
- ②をもう一度繰り返す
- オレンジ色の『New State』を『布団を消す』
- 灰色の『New State』を『布団を出す』
にそれぞれ名前を変更します。
わかりやすく日本語で入力しておりますが、「日本語入力はバグるんじゃない?」と心配な方は、アルファベットでもOKです。
自分が理解しやすい名前に変更してください。
5.FXレイヤー(矢印を繋ぐ)
- 水色の『Any State』の上で右クリック
- 『Make Transition』を選択して、矢印を『布団を消す』に繋ぐ
- 同じように『Any State』から、矢印を『布団を出す』に繋ぐ
ところまで進めます。
Any State等の項目はマウスで掴んで、自由に場所を動かすことができます。
6.FXレイヤー(矢印の設定)を行う
- 『Any State』と『布団を消す』に繋いだ矢印をクリックする
- 『Conditions』の中の+をクリックする
- ▼をクリックして『AFK』『false』へ変更する
ところまで進めます。
続いて『布団を出す』方の矢印も設定します。
- 『Any State』と『布団を出す』に繋いだ矢印をクリックする
- 『Conditions』の中の+をクリックする
- ▼をクリックして『AFK』『true』へ変更する
ところまで進めます。
『false』『true』がそれぞれ間違っていないか、再度確認してください。
これで設定は完了です。
『Scene』をクリックすると最初の画面に戻れます。
VRChatにアップロードして、AFKモーションを確認してみてください。
仮眠セット:オリジナル掛け布団を作る方法
最後に「仮眠セット」のオリジナル掛け布団を作る方法をお伝えします。
以前の方法よりもシンプルになりました!
- Assetsの中に設定したい写真を入れる
- 写真を布団へドラッグ&ドロップ
- マテリアルの『Smoothness』の値を0にする
だけです。
『Smoothness』というのは、表面の滑らかさです。
1にするとツルツルに光ります。
0にすることで、よりお布団らしい質感になります。
まとめ:自動で小物を出し入れできるAFKモーションでVRChatを楽しもう!
AFKモーションと同時に、小物が出てくるAFKモーションの設定方法をお伝えしました。
今後この機能を活かした商品を販売予定です。
VRChatの中に新しい楽しみ方を増やしていけるよう、今後も情報を発信していきます。
おしまい。
Actionlayerだとオブジェクトの出し入れってできなくないですか?
自分はFXlayerでAFK設定しました。
UNITY勉強し始めたばかりで時間がかかってしまいましたが、無事AFKに煙草Dを入れることができました!
僕も小物が出てこないという問題にぶちあたってしまったのですが、このページで紹介して頂いた情報だけでは解決できなかったで、試しにやってみて成功した方法があったので共有させてください。
「4.FXレイヤー(布団・枕の出し入れ)を設定する」
の部分で作った灰色の方(TRUE設定にする方)のMOTIONの部分に使おうとしているアニメーションを入れてみたらAFKの時に小物(僕の場合タバコ)が現れるようになりました。
FALSE設定の方のMOTIONには入れなくて大丈夫です。
入れちゃうと常時小物が現れてる状態になってしまうので・・
サポートが終わってしまっている商品ですが、困ってる人の助けになればと思い、共有させていただきました。
この方法で小物を表示させることができました!
ありがとうございます!