補助ツール
通常の導入はSetupだけで完了します。このページのツールは、特定の衣装や高度な改変で追加作業が必要な場合に使用してください。
どちらのメニューも Sweat Base Module を導入している場合に使用できます。
RealSweatSystem Clothing Fix
立体機能(テッセレーション)を使用した時に、水滴が衣装を貫通して見える場合のRender Queue調整ツールです。Real Sweat SystemのSetup完了後に使用します。
Unity上部メニューの CookiTools > RealSweatSystem Clothing Fix から開きます。
通常のSetupは元のBody Materialを変更せず、Poiyomi Lockも解除しません。Lock済みの衣装Materialは、Clothing Fixの処理中だけ自動でUnlockされ、処理完了後に自動で再Lockされます。
No Tessだけを使用するアバターでは、通常このツールは必要ありません。
基本手順
- 対象アバターを選択します。
- 調整したい衣装Rendererをドラッグするか、一覧へ追加します。
- Queue Previewで変更対象と変更後の値を確認します。
- 原則として マテリアル複製で適用(推奨) を使用します。
- Play Modeとアップロード前のBuildで、表示順と衣装の見た目を確認します。
マテリアル複製で適用(推奨) は調整用Material Copyを作成して適用するため、元のMaterial Assetを保護しやすい方法です。
Direct Modeは元のMaterial Assetを直接変更します。同じMaterialを使う他の衣装、Prefab、Sceneにも変更が反映されるため、影響範囲を理解している場合だけ使用してください。
変更対象
- 汗MaterialのQueue以下にある衣装Materialだけが調整対象です。
- 汗Materialより後に描画されるMaterialは変更されません。
- Transparent、Cutout、Decal、Outline、複数Layerを使用するMaterialは、Render Queue変更によって表示順や見た目が変わる場合があります。
適用前にQueue Previewを確認し、適用後は透明部分、輪郭、Decal、Layer同士の順序を必ず確認してください。
元に戻す
ツールが追跡している変更は 追跡中の衣装変更を復元 で復元できます。元Materialを直接編集した場合に備え、作業前にPrefabまたはUnityプロジェクトのBackupも作成してください。
Rest Vertex Data Baker(上級)
Rest Vertex Data Bakerは、高度なMesh構成や復旧作業に使用する補助ツールです。Rest Position、Rest Normal、Rest TangentのデータはSetupが自動作成するため、通常のユーザーが手動で実行する必要はありません。
使用する場面
- Setup後に最終Body Meshを別のMeshへ置き換えた
- 対応するCustom MaterialへRest Dataを割り当てたい
- Rest Dataの復旧または診断が必要
基本手順
- 対象Rendererと互換性のあるMaterialを選択します。
- 1. メッシュを解析 を実行し、対象と警告を確認します。
- 問題が無ければ 2. ベイクして割り当て を実行します。
- 3. 割り当てデータを検証 で結果を確認します。
- Play ModeとBuildで表示を確認します。
Meshを交換または更新した場合は、交換後の最終Meshに対して再度Bakeしてください。
対象は有効なsharedMeshを持つSkinnedMeshRendererです。Meshを読み取れない場合はFBX Import SettingsのRead/Write Enabledを一時的に有効にし、Bake完了後に戻せます。
以前のベイクを上書き は同じ名前の生成済みRest Assetを置き換えます。以前のデータを残す必要がある場合は、先にBackupを作成してください。
Bakerは元のFBX、RendererのsharedMesh、UV、BlendShape、他のMaterialを変更しません。
互換性のないRendererやMaterialを選択したまま実行しないでください。通常のSetupで問題なく動作している場合は、Bakerを追加実行しないでください。
上級者向け:FaceとBodyへ同時に適用する手動参考手順
お問い合わせが多いため参考手順を掲載していますが、公式機能ではなく推奨していません。環境差が大きいため、導入支援、個別環境の調査、Update後の維持、動作保証はサポート対象外です。必ずアバターまたはUnityプロジェクトをBackupしてから作業してください。
現行版が正式に追跡する汗の表示対象は、Body側の1つの SkinnedMeshRenderer です。FaceとBodyが別Rendererの場合、通常のSetupでは同時適用できません。
Faceへ汗Materialだけを追加すると、生成AnimationはBodyのHierarchy Pathだけを制御するため、Face側の汗が流れ続ける場合があります。また、FaceとBodyにはMeshごとに異なるRest Vertex Dataが必要なので、同じ汗Materialを共有できません。
この手順を使用できる条件
次の操作を自分で戻せる上級者だけを対象とします。
- UnityのRenderer
MaterialsArrayとSubMeshの対応を確認できる - Animation WindowでProperty、Binding Type、Hierarchy Pathを追加・削除できる
- Face専用MaterialとRest Assetの参照関係を管理できる
- SetupまたはOptimizer実行後に、手動変更が消えたか判定できる
手動手順
-
通常どおりBodyへReal Sweat SystemをSetupし、先にBody、Menu、自動モードが正常に動くことを確認します。
-
Bodyに生成されたNo Tessellation版の汗Materialを複製し、Face専用MaterialとしてReal Sweat Systemの生成Folder外へ保存します。BodyとFaceで同じ汗Materialを共有しないでください。
-
Face RendererのInspectorで
Materialsの元の Size を記録し、Sizeを1増やします。新しく作られた最後のElementにFace専用Materialを割り当てます。既存のFace Materialを置き換えないでください。 -
CookiTools > Rest Vertex Data Baker を開き、Target RendererにFace、Target MaterialにFace専用Materialを指定します。1. メッシュを解析、2. ベイクして割り当て、3. 割り当てデータを検証 の順に実行します。
-
Real Sweat Systemの生成Folderにある次のAnimation Clipを開きます。
RealSweat_Off.animRealSweat_LocalOnlyHidden.animRealSweat_Mid.animRealSweat_On.anim
-
各ClipにあるBody Renderer用の次のMaterial Curveを、値を変えずにFace Rendererへも追加します。
material._DropletAmountmaterial._SweatBuildUpmaterial._RuntimeWarmup
Animation Curve Bindingは次の条件にします。
- Type:
SkinnedMeshRenderer - Path: Avatar RootからFace Rendererまでの相対Hierarchy Path
- Property: 上記と同じ3つのMaterial Property
例としてHierarchyが
AvatarRoot/Armature/Body/Faceの場合、Binding PathはArmature/Body/Faceです。Avatar Root自身の名前は含めません。Body CurveのPathをそのまま複製せず、Face Rendererの実際の相対Pathへ変更してください。 -
Manual ModeとAuto Modeの両方で、0%、50%、100%、汗オンOFF、自分にだけ表示を確認します。
手動で元に戻す
- Play Modeを終了します。
- Face Rendererの
Materialsを作業前のSizeへ戻し、最後に追加したFace専用Materialを外します。 - Setup — 自動インストール / 更新 を実行して生成Clipを再作成するか、4つのClipからFace Pathへ追加した各3本のCurveを手動削除します。
- Face専用MaterialがFace RendererやAnimationから参照されていないことを確認し、そのMaterialとFace用Rest Assetが不要なら削除します。
- 元のMaterials Sizeや手動変更箇所が分からない場合は、作業前のBackupへ戻します。
既知の制限
- Face側はNo Tessellation固定です。立体効果(撮影用・高負荷) と 相手側を低負荷 はFaceへ適用されません。ただし、
RealSweat_LocalOnlyHiddenにもFace Curveを追加していれば、自分にだけ表示 の時は相手側に表示されるFaceの汗量も0になります。 - Faceが複数SubMeshの場合、追加した最後のMaterialが目的の肌SubMeshへ描画されない場合があります。
- Setupまたは FX に適用 を実行すると生成Clipが再作成され、手動追加したFace Curveは削除されます。通常設定をすべて完了した最後の段階でFace Curveを追加し、再実行した場合は同じ作業をやり直してください。
- Tuningが追跡するMaterialはBody側だけです。全体の汗量、品質、水滴サイズなどを後から変更しても、Face専用Materialへ自動同期されない場合があります。
- Face RendererのHierarchy Path変更、Mesh交換、Mesh Optimizer、Mesh結合後はAnimation BindingまたはRest Dataが無効になる場合があります。
- Face Tracking、Animator、他の改変ツールとの全組み合わせは検証していません。