メインコンテンツまでスキップ

手動Bakeと復元

このページは手動Bakeを初めて使う方のためのものです。 ほとんどの方は読まなくても構いません。5分ほどかかります。

まず: ほとんどの配布では必要ありません​

状況使うもの
VRChatへのアップロード自動最適化。何もしなくて構いません
WARUDOモッドのビルド自動最適化。何もしなくて構いません
一般のPlayerビルド自動最適化。何もしなくて構いません
baked シェーダー・マテリアルアセットをファイルで渡す手動Bake
最適化の結果をシーンで比較しながら承認する手動Bake
自動フックを使えない外部パイプライン手動Bake
2つの違いを一行で

自動最適化はビルドの間だけ変更して元に戻します。手動Bakeは新しいアセットを作り、Rendererのスロットを実際に変更します。

→ ビルド時の自動最適化

顔ノーマルのUV7、アウトラインのUV8、キャラクター高さのUV4はメッシュチャンネルのBakeです。このページのシェーダーBakeとは別物です。 → メッシュUVベイク


実行前の確認​

  1. 元の .mat 、Animator Controller、AnimationClipをバージョン管理に記録します。
  2. はじめに タブの 1. 顔・スキンの対象指定 と 2. ルック選択 → 変換 が終わっているか見ます。
  3. ルック・ベイク タブでプリセットとメッシュチャンネルベイクの結果を確認します。
  4. ランタイムスクリプトが変更する値は、その行の ベイク除外(実行時変更) で印を付けます。

AnimationClipは自動的に分析します。別途印を付ける必要はありません。

現在オフの機能はコードから消えます

ベイク時点でオフになっている機能はコードから取り除かれます。 レイヤー数、Alpha Mask、Emission、Occlusionがこれに該当します。 保存対象として検出されないと、あとでオンにしても動作しません。

Bakeの実行​

ルック・ベイク タブの一番下の 軽量シェーダーベイク(エディター専用) を展開します。その中の 子MingToonを軽量シェーダーへベイク を押します。

밍툰 매니저 룩·베이크 탭에서 경량 셰이더 베이크 버튼과 그 위의 경고 문구가 보이는 화면

  • Assets/StudioRaming/MingToonGenerated の下にシェーダー・マテリアル・テクスチャ・Manifestが作られます。
  • Rendererの現在のスロットがbaked マテリアルに置き換わります。
  • キャンセルしたり途中で失敗したりした場合は、その実行で作られたアセットとスロットの変更を元に戻します。
  • Consoleの MingToon bake: の要約で、処理したマテリアル数を確認します。

Prefabインスタンスで実行すると、変更はインスタンスのoverrideとして残ります。Prefabアセットに反映するには、Unityの Overrides > Apply All を別途使ってください。


復元​

baked マテリアルを1つだけ戻す​

baked マテリアルを選択し、インスペクター上部の 編集用マテリアルへ復元 を押します。

Manifestに記録された元のGUIDとRendererのスロットを使います。

プロジェクトの手動Bakeをすべて整理する​

StudioRaming > MingToon > Advanced > Restore And Clean Bake Output を実行します。

このコマンドは順序を保証します。

  1. Manifestに従ってRendererのスロットを元の編集用マテリアルに戻します。
  2. 復元されたシーン・Prefabの参照を保存します。
  3. すべての記録済みスロットが実際の元を指しているか再確認します。
  4. 復元を確認できたあとにだけ、生成アセットを削除します。

復元や保存に失敗した場合、生成フォルダーは削除しません。失敗した項目をConsoleに残し、確認を求めます。

変換の復元とBakeの復元は異なります

変換を元に戻す(MingToon以前のマテリアルへ) は変換前のシェーダーに戻します。 Restore And Clean Bake Output はbaked マテリアルから編集用のMingToonマテリアルに戻します。

復元ボタンが無効なとき​

  • ベイクのManifestが残っているか確認します。
  • 元の編集用マテリアルのGUIDが生きているか確認します。
  • Bake以降にRendererの階層やマテリアルスロットが変わっていないか確認します。
  • Consoleの古い手動ベイクの警告を確認します。

テクスチャ処理のポリシー​

手動Bakeはアップロードのプレビューです。そのためテクスチャのポリシーもアップロードと同じ値を使います。

基準はMingToonマネージャー 最適化 タブの アップロード時もテクスチャ再書き込み(オプトイン) 1つだけです。

損失なし(LosslessOnly) — 既定値​

オプトインがオフのときの動作です。元のテクスチャのピクセルを書き直しません。

数学的に恒等なマスクの除去と、同じテクスチャ・同じUV式の共有だけを許可します。

レビュー済み高品質(ReviewedHighQuality)​

オプトインをオンにしたときの動作です。サーフェス・ノーマルの平坦化とマスクの再パッキングを許可します。

レビュー済みの静的マテリアルでのみオンにしてください

読み取り、色空間、mipの再生成、プラットフォーム圧縮によってピクセルが変わることがあります。 baked 前後の結果を、目標のプラットフォームで直接比較してください。

マスクの再パッキングは複数のマスクを1つのテクスチャにまとめます。シェーダーのテクスチャサンプル数が必ず減るわけではありません。

ベイク除外(Keep Editable)​

ベイク除外(実行時変更) はマテリアル単位の記録です。

AnimationClipは自動的に分析するため、印を付ける必要はありません。

ランタイムスクリプトが変更する値や、外部システムが名前でアクセスする値に使ってください。

グループ全体をまとめて外すには このグループ全体をベイク除外 を使います。

次へ​

ビルド時の自動最適化 · VRChat · Warudo · トラブルシューティング