06_BlendShape Backuper¶
SkinnedMeshRenderer に設定したブレンドシェイプの値を保存し、あとから復元します。
キー名と値を対応付けて保存するため、メッシュの更新でキーの並びが変わっても、同じ名前のキーへ正しく戻せます。
必要な追加パッケージはありません。
こんなときに使います¶
- アバターをアップデートする前に、表情や体型の調整値を残しておきたい
- 更新後のメッシュへ、以前のブレンドシェイプ値を戻したい
- 改変中の状態をチェックポイントとして保存し、あとから戻せるようにしたい
使い方¶
- 対象のメッシュを指定します。ヒエラルキーからドロップできます。
- 名前を確認して「バックアップを保存」を押します。
- 保存したバックアップが一覧に並びます。戻したいものを選びます。
- バックアップと現在の値の違いが一覧になります。戻したいキーにチェックを付けます。
- 「プレビュー」で見た目を確かめます。
- 「復元」を押します。
比較結果は「値が違う」「値が同じ」「バックアップにのみ」「メッシュにのみ」に分かれます。 既定では「値が違う」項目だけにチェックが入り、「値が同じ」項目は折りたたまれています。
キーの増減は異常ではありません
アップデートでキーが増減すると、「バックアップにのみ」または「メッシュにのみ」の項目が表示されます。 同じ名前のキーが両方にある項目だけを復元できるため、戻す必要のある項目を確認して選んでください。
復元とファイルの削除は別の操作です
復元した値は「元に戻す(Undo)」で取り消せます。 保存したバックアップのファイルは Undo では消えません。不要になったものは Project ウィンドウから削除してください。
保存されるもの¶
バックアップには、ブレンドシェイプのキー名と値、保存日時、元メッシュの名前・パス・識別情報、キー数と頂点数が保存されます。 値は丸めたり範囲を制限したりせず、そのまま記録します。
既定の保存先は Assets/zzz_pytr/CandyBox/BlendShapeBackups です。
フォルダが無ければ保存時に自動で作られます。サブフォルダ名を指定して、用途やアバターごとに分けることもできます。
別のアバターやアップデート後のメッシュへ戻す¶
一覧には、同じメッシュから保存したバックアップだけが既定で並びます。 アップデートでメッシュ自体が差し替わった場合や、別のアバターへ値を移したい場合は、「すべてのバックアップを表示」にチェックを付けてください。
別のメッシュから保存したバックアップには警告が表示されますが、復元はできます。 メッシュ上の並びやインデックスではなくキー名で照らし合わせるため、並びが変わっていても同じ名前のキーへ値が戻ります。
プレビュー¶
チェックした値を一時的に対象へ当て、復元前に見た目を確認できます。 「プレビューを終了」を押すと、すべての値が開始前の状態へ戻ります。
ウィンドウを閉じる、スクリプトが再コンパイルされる、または再生を開始した場合もプレビューは自動で終了し、元の値へ戻ります。 プレビュー中の値は一時表示のため、シーンの変更や Undo 履歴には記録されません。
よくある症状¶
| 症状 | 対処 |
|---|---|
| 一覧にバックアップが出てこない | 既定では同じメッシュから保存したものだけが並びます。アバターのアップデートでメッシュが差し替わると別のメッシュとして扱われるため、「すべてのバックアップを表示」にチェックを付けてください |
| 復元しても一部のキーが戻らない | メッシュ側に同じ名前のキーが無いキーは復元できません。「バックアップにのみ」の欄に一覧が出ます |
| プレビューしたまま Unity を触っていたら値が変わっていた | プレビューはウィンドウを閉じる・再コンパイル・再生開始のいずれでも自動で終了し、値は元へ戻ります |
| 保存したファイルを消したい | Project ウィンドウから削除してください。ツールからは削除できません |