Skip to content

Commit

Permalink
docs(ja): update Asset Description docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Sayamame-beans authored Nov 2, 2024
1 parent 514f6b3 commit 4f2a920
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .docs/content/docs/developers/asset-description/index.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,21 @@ Asset DescriptionはAvatar Optimizerにアセットの情報を提供するた

## なぜAsset Descriptionが必要なのか {#why-asset-description-is-needed}

Avatar Optimizerは、Asset Descriptionで提供された情報を用いて最適化の失敗を防ぎます。

Asset Descriptionでは、以下の情報を提供することができます。

- Meaningless Components\
Avatar Optimizerに無視されるべきコンポーネントを指定します。
- Parameters Read By External Tools\
OSCツールなどの外部ツールから読み取られるパラメーターを指定します。
- Parameters Changed By External Tools\
OSCツールなどの外部ツールから変更されるパラメーターを指定します。

各項目が必要な理由については以下の説明を参照してください。

### Meaningless Components {#why-meaningless-components}

アバター上の不要な要素を削除するために、Avatar Optimizerはアバターに存在するすべてのコンポーネントのことを知る必要があります。\
Avatar Optimizer v1.6.0で[コンポーネントにAAOとの互換性をもたせるためのドキュメント][make-component-compatible]とAPIが追加されましたが、
非破壊ツールでなく、ビルド時に処理を行わないようなツールでは、`IVRCSDKPreprocessAvatarCallback`でコンポーネントを削除するのは少し面倒だろうと考えました。\
Expand All @@ -17,6 +32,24 @@ Avatar Optimizer v1.6.0で[コンポーネントにAAOとの互換性をもた

[make-component-compatible]: ../make-your-components-compatible-with-aao

### Parameters Read By Extenral Tools {#why-parameters-read-by-external-tools}

PhysBoneやContact Receiverのようなコンポーネントは、OSCツールで読み取り可能なパラメーターを生成します。
そのようなパラメーターは、Animator ControllerやExpression Parameterに登録しなくても、OSCツールから読み取り可能であることが知られています。\
しかし、Avatar Optimizerはそれらのパラメーターが単に使用されていないものなのか、OSCツールで読み取るためのものなのかを判別することができません。
そのため、そのようなパラメーターを生成するコンポーネントは、アバター上のどこからも使われていないものであるとして削除されてしまいます。

これを防ぐために、OSCツールから読み取られる目的のパラメーターをAsset Descriptionで指定することができます。

### Parameters Changed By External Tools {#why-parameters-written-by-external-tools}

この情報は現在のAvatar Optimizerでは使用されていませんが、将来的に使用することが計画されています。

Avatar Optimizerは、一度も変更されないパラメーターを検知してアニメーターを最適化することを計画しています。
しかしながら、OSCツールのような外部ツールでパラメーターが変更される場合、この最適化はアバターの振る舞いを変えてしまうでしょう。

これを防ぐために、OSCツールから変更されるパラメーターをAsset Descriptionで指定することができます。

## Asset Descriptionの作成 {#create-asset-description}

Asset Descriptionを作成するには、Projectウィンドウの右クリックメニューから`Create/Avatar Optimizer/Asset Description`を選択してください。\
Expand All @@ -39,3 +72,15 @@ Meaningless ComponentsはAvatar Optimizerに無視してほしいコンポーネ

Asset Descriptionでは実際のScene上のコンポーネントと同様に、Script AssetがguidとfileIDの形で保持されています。
そのため、クラス名を変更したとしても、シーン上のコンポーネントが壊れていない限り、Asset Descriptionでの指定も問題なく機能します。

### Parameters Read By External Tools {#parameters-read-by-external-tools}

OSCツールなどの外部ツールから読み取られるパラメーターを指定します。

詳細は[上のセクション](#why-parameters-read-by-external-tools)を参照してください。

### Parameters Changed By External Tools {#parameters-changed-by-external-tools}

OSCツールなどの外部ツールから変更されるパラメーターを指定します。

詳細は[上のセクション](#why-parameters-written-by-external-tools)を参照してください。

0 comments on commit 4f2a920

Please sign in to comment.