VRChat向けCustom Animator Controllers
VRChat向けのAnimator Controllerセットです。 FX, Gesture, Base, Action, Sitting layerを含みます。 表情の操作やエモートをトラブルなく扱える他、トラブル発生時のリカバリー機能を備えます。 組み込み設計で飯を食っている人間が作りました。 ※再配布するときの注意事項について要確認(GUID被り回避について記載) ライセンス形態:CC0 改変・再配布OK 特徴 ・表情が混ざらない ・リップシンクが表情に混ざる現象が起こらない ・まばたきが表情に混ざる現象が起こらない ・表情毎にまばたき・アイトラッキング・リップシンク有無を個別に設定可能 ・シェイプキーで顔つきを変更する際に、全ての表情用Animationファイルを編集する必要がない ・表情を指定する方式を、右手優先/左手優先/右手のみ/左手のみから選択可能 ・Contactを使ってシームレスな表情固定が可能 ・Expression Menuから指定した表情に固定することが可能 ・頭を触られたときに表情を変える動作をサンプルとして実装 ・QuestやIndexコントローラの特性に合わせて、HandOpenやFist時の表情をIdleにする事が可能 ・ハンドサインのパターンを切り替えることが可能 ・視点の高さがおかしくなった時や、コントローラでの移動ができなくなった時にリカバリーが可能 ・フルトラ時はVRC_Station(イス)に座ってもフルトラ動作を最優先する ・フルトラ時に頭の位置が下がったときに左つま先が曲がらない ・エモート(ダンスなど)を設定するスロットを合計64スロット搭載 ・立っている時用のAFKと座っている時用のAFKを個別設定可能 ・AFKで表情用のトラッキングを破壊しない ・連続してジャンプしたときに棒立ちジャンプにならない ・エモート中にVRC_Station(イス)に座ったらエモートを解除する ・VRC_Station用エモート中に立ったらエモートを解除する ・ひな形としてアイコン設定済みのExpression Menu同梱 セットアップ例としてHENGE(変化稲荷社)様のHimiko 2022 https://booth.pm/ja/items/4023978 向けにセットアップしたunitypackageを同梱 機能説明・導入マニュアル https://docs.google.com/document/d/e/2PACX-1vTmzk_luzr4Lq7V-AUVUVqqylnempHtSl0oVdRs2-B2YtzwXLxyqM_cMB12GDj3AkXjdbgnJVd1rniX/pub
更新履歴
v1_1:FX layerに表情セット切り替え機能を追加。それに伴ってExpressionMenuを編集。 v1_1:FX layer MOUTH MORPH CANCELLERの遷移を、アバター主とそれ以外でTransition Durationを変えることで、変化の大きな表情で破綻する可能性を削減 v1_2:FX layer INPUT CONVERTER LのINIT→EMOTE(VIVE)の遷移条件がどちらもQUEST指定だったため修正 v1_3:FX layer FACE EMOTE CONTROL Only Right内のIDLE 0へ遷移する条件がEM_EMOTE_SELECT_R_Not Equals 0となっていたため修正 v1_4:FX layerとGesture layerに、動作に影響のないゴミデータが含まれていたためクリーンアップ v1_5:FX layer [ USER EDIT ] FACE EMOTE OVERRIDEのIDLEからACTIVEへ遷移する条件にCN_EMOTE_OVERRIDE == trueを追加することで、Modular Avatarなどで表情を上書きするときの干渉耐性を向上 v1_6:Gesture layer Hand L/Rの全ハンドサインについて、VRC Animator Tracking Controlを追加。NeutralのみTracking指定とし、その他はAnimation指定 v1_7:Action layerのIDLE SitからSitting AFKに遷移する条件に、ダンスギミックが無効であることを追加することで、AFKによるダンスギミック破綻を回避するように変更。 v1_8:v1_7の変更に不足があったため修正。加えてダンス中のAFK遷移によってEye TrackingとLip Syncが有効になる現象を回避するように変更。 20230318:v1_8に対し、アバタージャム向けのExMenu英語版を追加。以降の英語版更新は対応しない予定。 v1_9:SDK更新に伴ってAudioにLoad In Background設定が必要となったため対応。 v2_0:ExpressionParameter読み込みの仕様変更に伴ってCN_EXPRESSION_PARAMETER_LOADING_COMPを削除。 AFKになる直前にしゃべっていると口がリップシンクとの干渉を起こす現象を回避するために、AFK中のMouth & JawのTrackingを有効に変更。 リップシンクとの干渉防止のための、しゃべっている最中の表情変更待ちをON/OFF切り替えできるように機能追加。(SYNC_CN_WAIT_FACE_EMOTE_BY_VOICE) v2_1:表情を指定した状態でAFK遷移を実行すると、表情がAFKに遷移しない問題を修正。 v2_2:Indexコントローラ等ハンドトラッキング対応のコントローラを使用している場合、エモート中及びダンスギミック中に手の形状が上書きされる現象の修正。 v2_3:Modular Avatar等でハンドサインを上書きする際に、ハンドトラッキングによる手の形状上書きを回避するための変数として、CN_HANDSIGN_OVERRIDE_L, CN_HANDSIGN_OVERRIDE_Rを追加。 v2_4:Base layerのジャンプに遷移する条件に、現在の頭の位置が着地モーションに干渉しない位置であることを追加。 20230812:ContactGlove対応版を暫定的に追加。アップデートするかは未定。 20230818:ContactGlove対応版ブラッシュアップ。 v2_4_1:GUID被り回避について記載 v2_4_2:VRChatのリップシンク仕様変更により、表情変更待ち機能が不要になったため、同機能及びパラメータを削除
再配布するときの注意事項
このアセットに限らず、再配布する際にGUID(ファイルの持つID的なもの)を変えていないと、同じアセットを使ったものと競合して意図しない上書きが発生します。 奈良阪配本地様の「アセットを依存関係を保ったまま一括コピーするやつ [Unityエディタ拡張]」( https://booth.pm/ja/items/2181882 )を使用すると、一括コピーによって簡単にGUIDを変更できます。
参考情報
しゃがんだ時のポーズを変えるやり方 https://twitter.com/Pocho36599162/status/1693559544906133844?s=20