【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ぐらいで調整
