情報がめっちゃ散らばってる...
何を作ってどう設定すりゃええねんということでざっくりまとめる
あくまで私的なメモとして書くので詳しいやり方は省く
Avatar 3.0で調べると移行方法がメインでモデル製作側が欲しい情報が少なかった
一部閉鎖コミュニティ内(身内discord)のみで情報のやり取りが完結している可能性?
Avatar 2.0の情報を知っている前提の情報が多く無から始める人向けの情報が虚無
目的
Unity側で何を設定すればいいのか知る
→それの作り方を知る、という工程を踏むと精神的にかなり楽になるため
調べ物をする上である程度狙いが定まるため
Unity(VRC専門orUnity汎用)とBlenderのどちらの方でやるかわからんとめんどいため
作業内容
Blenderでやること
・メッシュ作成
・リギング
・スキニング
・ブレンドシェイプ作成(まばたき/表情/リップシンク)
・モーション作成
Unityでやること
・各種素材のインポート
・モデルとアニメーションのアーマチュア定義(Humanoid)
・アニメーションの分離
・Animation Controllerの作成
・Expression Menuの作成
・Avatar Descriptionの設定
Blender→Unityの方法
キャラクターモデル
Blender側:メッシュ/アーマチュアをFBX出力
Unity側:↑をAssetsにD&D、突っ込んだ物をHumanoidアーマチュアとして定義、法線を無しにしてLegacyBlendshape(みたいなやつ)にチェックを入れる
アニメーション
Blender側:アーマチュアのアニメーションを作成、アーマチュアをFBX出力
Unity側:↑をAssetsにD&D、突っ込んだ物の(>)マークを押してアニメーションを選択し複製
フレームレートは関係ない?(制作物:24FPS、プリセット:60FPSで制作物が問題なく動作)
アバターでできること(3.0)
リップシンク
Blender側:ボーン/ブレンドシェイプいずれかの作成
Unity側(ブレンドシェイプ):LipSync項目でメッシュを選択、対応するブレンドシェイプを設定
ブレンドシェイプでやるのが楽か(やったことない)
まばたき
Blender側:ボーン/ブレンドシェイプいずれかの作成
Unity側:EyLookをEnable、顔のあるメッシュを選択、対応するブレンドシェイプを設定
ブレンドシェイプ一択。
視線(アイトラック)
Blender側:目のボーンを設定する
Unity側:Eye LoockをEnable、Eyesで左右の目のボーンを選択
Blender→Unity出力時にボーン方向を調整する必要ありどうしてZ軸が上なんですか????????
Exメニューの設定
Rキーを押したときのメニューを作成する
Assets右クリック→Create→VRChat→Avatar→Expression Menu
メニューを押したときの引数設定を作成する
Assets右クリック→Create→VRChat→Avatar→Expression Paramaters
Avatar Description内で使用するExpression Paramaterを指定していないとExpression Menuで引数が表示されないので注意
PlayableLayerの設定
エモート関係の動作を突っ込む場合、PlayableLayerにアニメーターを突っ込む
Assets右クリック→Create→Animator、作成したものをPlayableLayers各項目に設定
AnimationControllerに遷移関係を記述
Assets>VRCSDK>Example3>Animation>Controllersにアニメーションコントローラが入っているのでそれを改変する
AnimationControllerを素組みしてもいけるっぽい?
現時点では
・ボーンを動かす場合はPlayable Layers→ActionにAnimationControllerを設定
・表情(ブレンドシェイプ)を動かす場合はPlayable Layers→FXにAnimationControllerを設定
Fxレイヤではボーンは動かない、Actionレイヤで管理すること(n敗)
Fxレイヤでのみ動く物もある?位置大きさ角度は変更可能なのを確認
おそらくデフォルトの立ちポーズ等もここで設定すると思われるがどの項目が対応しているかは不明、VRCSDK→Example3→Animation→Controllersにサンプルがあるのでそこから読み解く
その他雑メモ
マテリアル等はUnity内の設定そのままっぽい?
→マテリアルのいじり方ができればカスタムシェーダいけるのでは?(プリセット機能のみを使用した場合に限る)
DynamicBone周りの知識はおそらくUnity全般から引っ張ってこれる