【Resonite】 アバターセットアップマニュアル by lill(転載)

アバターセットアップ真面目にやるか~って気持ちになってる時に参考にしてるマニュアルをそのままnoteに転載しました。
Devtoolの解説とかコンポーネントの解説とかは一切ありません。
ある程度自分でインスペクターの数値を触ることができたりコンポーネントを自力で探せるくらいの人向け。
2025.07.18現在。

元記事



CC0


blenderで下処理

  • blenderにインポートする

  • 全トランスフォームを適用

  • 編集データをblendファイルとして保存する

  • blendファイルと同じフォルダにtexturesフォルダを作り、使うテクスチャを全て入れる

  • 全マテリアルにPrincipledBSDFを割り当て、BaseColor、Emission、Normal等に適切なテクスチャを割り当てる

  • 元々PricipalBSDFに繋がっていたテクスチャノードは削除して入れ直す

  • 透過マスクがある場合適用したテクスチャを作っておく

  • テクスチャの解像度はほどよく下げておく

  • glTFでエクスポートする

インポート

  • ユーザースケールを1にする(DefultUserScaleを弄っていないアバターを着てスケールリセット)

  • 出力したglbをD&Dでインポートする

  • 3Dモデル->一般的な~->メートル->高度な設定

  • マテリアルをtoonに、アセットをオブジェクト内に入れるをon

  • インポート実行

  • モデルのルートスロットをインスペクターで開き、VRIKのBoneReferencesにおかしなところが無いか確認。おかしかったらblenderで修正

アバタークリエイターを通す

  • アバタークリエイターを出す

  • アバタークリエイターをインスペクターで開き、アバタークリエイターのルートスロットの位置・回転・拡大/縮小をリセット

  • ヘッドセットをモデルの頭にだいたい合わせて、パネルの揃えるボタンを上から5つ押す

  • Avatar Creator/Headset 内の Import と HeadsetPoint のアクティブを切る

  • Avatar Creator/Headset を選択した状態でギズモを使い、モデルの目のメッシュと同じ前後位置、上下位置は中心になるよう位置を合わせる

  • Avatar Creator/RightHand の回転をリセットしたあと、y=-90にする。これで手の向きが合わない場合手動で調整する

    • Tポーズの場合これでだいたい合うが、Aポーズの場合合わない。Aポーズの場合、アバターの手のボーンのスロットにAvatar Creator/RightHandを入れて回転をリセットすれば90度単位で合うようになる(ことが多い)のでスロットを移して調整した後、再びAvatar CreatorにRightHandスロットを戻す。この手法はTポーズでも手首が傾いているときに使える

  • パネルのツールアンカーを表示をon

  • Avatar Creator/RightHand 内の ImportとRightControllerPointのアクティブを切る

  • Grabberの位置をギズモかインスペクターから合わせる。だいたい手のひら側よりで、手全体を覆う形にする

  • Tooltipの位置を合わせる。中指の先端に円錐の底面が触れるぐらいの位置まで動かす。ここでは(上の手順でy=-90にした場合)Z軸のみを動かす

  • RightHandの位置を動かしてTooltipの位置を合わせる。ここではXY軸のみを動かす。中指と同じ直線上になるようにする

  • Shelfの位置をいい感じに合わせる

  • パネルから作成を押す

調整

  • Head/EyeManagerのEyeRotationDriverのMaxSwingをいい感じにする。EyeManagerがなかったらいい感じに作る

  • EyeLinerDriverのOpenCloseTargetが正しいか確認する

  • SkinnedMeshRendererの付いているスロットに間違ったDirectVisemeDriverがついていたり設定されていないか確認する

  • 顔のSkinnedMeshRendererのMeshからStaticMeshを開き、「ブレンドシェイプの法線を取り除く」「ブレンドシェイプの接線を取り除く」を押す

  • アバタールートスロットのVIRKAvatarコンポーネントのMaxFeetVelocityOffsetを0.2ぐらいにする

  • (販売アバター等の場合)Unityでインポートして、スロットのアクティブやBlendShapeのデフォルト状態を一致させる

  • AvatarRenderSettingsを適当なスロットを作り入れる(/Config/RenderSettingsなど)。NearClipをいい感じに設定する。0.075~0.125ぐらいが大抵よいが、着て確認すること。特にDynamicBoneを入れた後に後ろに移動しているとき前髪が邪魔にならないように RenderTransformOverrideを使う

  • (やらなくてもよい): DefaultUserScaleを適当なスロットを作り入れる(/Config/Scaleなど)。DefaultScaleをいい感じに設定する。一度アバターを着てスケールをリセットした時のアバターのルートスロットのスケールの値の逆数を設定するとちょうどオリジナルのサイズになる

マテリアル設定

  • (販売アバター等の場合)Unityで開いてマテリアルを確認できるようにしておく

  • 半透明テクスチャを使っている場合BlendModeをAlphaにする

  • ShadowRampをいい感じのものにする

  • ShadowSharpnessを0にする

  • Outlineを適宜設定する。OutlineWidth=0.1、Outline=Litが無難。UnityPackageがあるならそれを参考にする。OutlineMaskがあるなら読み込んで設定する

  • EmissionColorを調整する。RGBA=1,1,1,1は大抵の場合明るすぎる。UnityPackageがあるならそれを参考にする

  • Matcapはマスクが使われていなければ入れる。マスクが使われているなら諦める。MatcapTintはいい感じにする

  • NormalScaleをいい感じに調整する。UnityPackageがあるならそれを参考にする

  • その他適宜入っているマスクやテクスチャで使えそうなものをいい感じに適用する

DynamicBoneの設定

  • DBはまとめて入れない(アバター最適化ガイドラインを投げ捨てること)

  • ボーンの終端にendと名前のついたボーンがあるならSimulateTerminalBonesのチェックを外す

  • ボーンをつけるときは「子にしたものをセットアップ」

  • Inertiaは髪なら0.4、スカートなら0.7ぐらい

  • InertiaForceはInertiaを10倍にして-1をかけたもの

  • DampingはInertiaの20倍か30倍

  • Elasticityは弄らない

  • Stiffnessは髪を揺らしたときにめり込まない限界の数字まで上げる。前髪なら大抵0.95~0.98ぐらいまであげる。髪にDBColliderは使わない

  • スカートはStiffness0.6~0.8ぐらい。DBColliderは貫通が酷ければ使うが諦めも大事

  • 重力を使うときはGravityをy=-0.98にして、Damping=0、Elasticity=5ぐらいにする。InertiaやInertiaForceは0.1,-1ぐらいでStiffnessは0.1~0.4ぐらいで調整



いいなと思ったら応援しよう!

この記事が参加している募集