From 03c350d3da7848f3c2d6ede289f0ba1f60602a55 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 7 Nov 2024 19:06:17 +0900 Subject: [PATCH 01/20] docs: fix missing link for Asset Description Fix #1321 --- .../make-your-components-compatible-with-aao/index.ja.md | 1 + .../make-your-components-compatible-with-aao/index.md | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md index 8a2660ed8..1b82caf70 100644 --- a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md +++ b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md @@ -143,3 +143,4 @@ Avatar Optimizerは他の非破壊改変ツールとの互換性を確保する [NDMF]: https://ndmf.nadena.dev/ [modular-avatar]: https://modular-avatar.nadena.dev/ [Version Defines]: https://docs.unity3d.com/2019.4/Documentation/Manual/ScriptCompilationAssemblyDefinitionFiles.html#define-symbols +[Asset Description]: ../asset-description diff --git a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md index bfcbb6c5e..74b22e13f 100644 --- a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md +++ b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md @@ -74,8 +74,6 @@ To improve the compatibility, you may implement one of the following methods. Avatar Optimizer internally uses this method to keep compatibility with well-known edit-mode tools. -[Asset Description]: ../asset-description - ### Removing your components {#remove-component} There are several ways to process and remove your components from avatar before Avatar Optimizer processes on build. You can use [`DestroyImmediate`][DestroyImmediate] method for removing your components. @@ -154,3 +152,4 @@ with many non-destructive tools based on NDMF. [NDMF]: https://ndmf.nadena.dev/ [modular-avatar]: https://modular-avatar.nadena.dev/ [Version Defines]: https://docs.unity3d.com/2019.4/Documentation/Manual/ScriptCompilationAssemblyDefinitionFiles.html#define-symbols +[Asset Description]: ../asset-description From 466cd667329a23ade55ba0b44fe83de2a16ee225 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 7 Nov 2024 19:10:32 +0900 Subject: [PATCH 02/20] docs: remove merge skinned mesh with blendShapes from bug example --- .docs/content/docs/basic-concept/index.ja.md | 6 ------ .docs/content/docs/basic-concept/index.md | 6 ------ 2 files changed, 12 deletions(-) diff --git a/.docs/content/docs/basic-concept/index.ja.md b/.docs/content/docs/basic-concept/index.ja.md index 50fb8127a..d3ebcc0ca 100644 --- a/.docs/content/docs/basic-concept/index.ja.md +++ b/.docs/content/docs/basic-concept/index.ja.md @@ -27,12 +27,6 @@ Avatar Optimizerは、アバターを非破壊的に最適化するためのツ 意図していない動作によるアバターの振る舞いの変更は、一部のユースケースで有用かもしれませんが、バグとして扱われます。\ そのバグが殆どのユースケースに影響を与えない場合、バグの修正を一時的に見合わせることがありますが、バグによる振る舞いは他のコンポーネントで考慮されないかもしれません。 -例えば、1.7.x以前の`AAO Merge Skinned Mesh`コンポーネントは同名のBlendShapeを統合します。\ -BlendShapeを統合すると、そのBlendShapeに対するアニメーションによる動作が変わってしまうため、これはバグとして扱われます。\ -このバグを使用して、あるSkinned Mesh RendererのBlendShapeに対するアニメーションを、別のSkinned Mesh RendererのBlendShapeに対しても同時に作用させることができます。\ -しかし、これはサポートされていない動作であり、他のコンポーネントが動作を壊すかもしれません。\ -例えば、`AAO Trace and Optimize`コンポーネントの`BlendShapeを最適化する`は、このバグによって`AAO Merge Skinned Mesh`コンポーネントで統合されて動くようになる可能性があるBlendShapeであっても、固定・除去します。 - ## Avatar Optimizerの振る舞いは将来のバージョンでも安定していますか? {#behavior-stability} Avatar Optimizerはバージョン管理に[セマンティックバージョニング]を使用しており、コンポーネントの振る舞いには主にセマンティックバージョニングのルールを適用しています。 diff --git a/.docs/content/docs/basic-concept/index.md b/.docs/content/docs/basic-concept/index.md index e6c0d3ce3..212ceea3a 100644 --- a/.docs/content/docs/basic-concept/index.md +++ b/.docs/content/docs/basic-concept/index.md @@ -29,12 +29,6 @@ All non-configured changes in the avatar behavior is treated as a bug, even if i In some cases, we may put off the bug since it does not affect so much for most use cases.\ However, the buggy behavior may not be considered in other components. -For example, `AAO Merge Skinned Mesh` component in 1.7.x or older merges BlendShapes which have the same name.\ -This behavior is treated as a bug since this makes impossible to animate them separately.\ -You may use this bug to sync the BlendShape animation of an Skinned Mesh Renderer with one of another Skinned Mesh Renderer.\ -However, this is not supported behavior and some other components may break the behavior.\ -For example, `Optimize BlendShape` in `AAO Trace and Optimize` component will freezes the BlendShapes which might be animated with this buggy behavior by being merged by `AAO Merge Skinned Mesh` component. - ## How is the behavior of Avatar Optimizer stable for future versions? {#behavior-stability} Avatar Optimizer uses the [Semantic Versioning] for versioning and mostly applies the rules of Semantic Versioning to the behavior of the components. From 65813f2e251120cb598f3b3dab11f7c1cbfe766a Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 7 Nov 2024 19:23:14 +0900 Subject: [PATCH 03/20] docs: explicitly state modifying existing component is unsupported --- .docs/content/docs/developers/component-api/index.ja.md | 6 ++++++ .docs/content/docs/developers/component-api/index.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/.docs/content/docs/developers/component-api/index.ja.md b/.docs/content/docs/developers/component-api/index.ja.md index b52cebcc9..4bce44fad 100644 --- a/.docs/content/docs/developers/component-api/index.ja.md +++ b/.docs/content/docs/developers/component-api/index.ja.md @@ -19,6 +19,12 @@ Component APIが利用可能なコンポーネントの一覧は以下の通り 将来のバージョンで追加されるデフォルトで有効な機能との互換性を保つために、コンポーネントの設定変更を行う場合には注意が必要です。 詳細については以下のドキュメントを参照してください。 +コンポーネントの設定は、コンポーネントを追加した直後にのみサポートされます。 +すでにGameObjectに追加されているコンポーネントの設定はサポートされていません。 +これは、将来の機能が既存のコンポーネントの設定と互換性がない可能性があるためです。 + +実際、1.8.0で追加されたRemove Mesh in Box invertオプションは、boxの意味を変更するため、1.7以前のみを想定したツールとは互換性がありません。 + ## はじめに {#getting-started} Component APIを使用するには、assembly definitionファイルで`com.anatawa12.avatar-optimizer.runtime`を参照する必要があります。 diff --git a/.docs/content/docs/developers/component-api/index.md b/.docs/content/docs/developers/component-api/index.md index e7b3f0a10..80994dc13 100644 --- a/.docs/content/docs/developers/component-api/index.md +++ b/.docs/content/docs/developers/component-api/index.md @@ -19,6 +19,12 @@ Here is the list of components that are supported by Component API. For components that supports configuring, to keep compatibility with future features that enabled by default, you need extra attention for the configuration. See document below for more details. +Configuring component is only supported just after adding component. +It's unsupported to configure component that is already added to the GameObject. +This is because some future functionality might be incompatible with the existing component configuration. + +In fact, the Remove Mesh in Box invert option added in 1.8.0 changes the meaning of box, therefore it's incompatible with tools intended only for 1.7 and earlier. + ## Getting Started To use Component API, you have to reference `com.anatawa12.avatar-optimizer.runtime` assembly in your assembly definition file. From c51ec12993ed2290a5656688b71855d7f193fe48 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 7 Nov 2024 20:06:45 +0900 Subject: [PATCH 04/20] docs: add link to NDMF Discord --- .docs/content/_index.md | 5 +++++ .../make-your-components-compatible-with-aao/index.ja.md | 3 ++- .../make-your-components-compatible-with-aao/index.md | 3 ++- .docs/content/docs/faq/index.ja.md | 3 ++- .docs/content/docs/faq/index.md | 3 ++- README.md | 3 +++ 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.docs/content/_index.md b/.docs/content/_index.md index 04c832a68..48f22e14a 100644 --- a/.docs/content/_index.md +++ b/.docs/content/_index.md @@ -10,8 +10,13 @@ Those utilities are applied on entering play mode or building avatars. Avatar Optimizer is a Open Source Software developed on [GitHub] published under the [MIT License]. +[![discord link][shields-discord]][ndmf-discord] + [GitHub]: https://github.com/anatawa12/AvatarOptimizer [MIT License]: https://github.com/anatawa12/AvatarOptimizer/blob/HEAD/LICENSE +[shields-discord]: https://img.shields.io/badge/chat_on-NDMF_Discord-5865F2?logo=discord&logoColor=white + +[ndmf-discord]: https://discord.gg/dV4cVpewmM ## Installation {#installation} diff --git a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md index 1b82caf70..08240e332 100644 --- a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md +++ b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md @@ -9,7 +9,7 @@ title: コンポーネントにAvatar Optimizerとの互換性をもたせる - コンポーネントはどのような場合にAvatar Optimizerと非互換になるか - どのように互換性を改善するか -もし質問があれば、お気軽に[fediverseで`@anatawa12@misskey.niri.la`][fediverse]にご連絡ください。 +もし質問があれば、お気軽に[fediverseで`@anatawa12@misskey.niri.la`][fediverse]や[NDMF Discord]でご連絡ください。 ## コンポーネントはどのような場合にAvatar Optimizerと非互換になるか {#when-incompatible} @@ -144,3 +144,4 @@ Avatar Optimizerは他の非破壊改変ツールとの互換性を確保する [modular-avatar]: https://modular-avatar.nadena.dev/ [Version Defines]: https://docs.unity3d.com/2019.4/Documentation/Manual/ScriptCompilationAssemblyDefinitionFiles.html#define-symbols [Asset Description]: ../asset-description +[NDMF Discord]: https://discord.gg/dV4cVpewmM diff --git a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md index 74b22e13f..7c64093f2 100644 --- a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md +++ b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md @@ -9,7 +9,7 @@ This page describes the following two things. - When can components be incompatible with Avatar Optimizer? - How to improve the compatibility? -If you have some question, please feel free to ask [`@anatawa12@misskey.niri.la` on fediverse][fediverse]. +If you have some question, please feel free to ask [`@anatawa12@misskey.niri.la` on fediverse][fediverse] or on [NDMF Discord]. ## When can components be incompatible with Avatar Optimizer? {#when-incompatible} @@ -153,3 +153,4 @@ with many non-destructive tools based on NDMF. [modular-avatar]: https://modular-avatar.nadena.dev/ [Version Defines]: https://docs.unity3d.com/2019.4/Documentation/Manual/ScriptCompilationAssemblyDefinitionFiles.html#define-symbols [Asset Description]: ../asset-description +[NDMF Discord]: https://discord.gg/dV4cVpewmM diff --git a/.docs/content/docs/faq/index.ja.md b/.docs/content/docs/faq/index.ja.md index 9535d94e0..53977c83a 100644 --- a/.docs/content/docs/faq/index.ja.md +++ b/.docs/content/docs/faq/index.ja.md @@ -6,7 +6,7 @@ weight: 2 # よくある質問 {#faq} Avatar Optimizerに関するよくある質問のリストです。 -他に質問がある場合は、[GitHub Discussions]または[Fediverse (Misskey / Mastodon)][Fediverse]でお気軽にお尋ねください。 +他に質問がある場合は、[GitHub Discussions]、[NDMF Discord]、または[Fediverse (Misskey / Mastodon)][Fediverse]でお気軽にお尋ねください。 ## `AAO Trace and Optimize`コンポーネントを使用すると、アバターの振る舞いや見た目が変わる {#avatar-behavior-or-appearance-changed-when-using-aao-trace-and-optimize-component} @@ -114,5 +114,6 @@ Avatar Optimizerの開発を支援したい場合、[GitHub Discussions]での [Booth]: https://anatawa12.booth.pm/items/4885109 [good first issue]: https://github.com/anatawa12/AvatarOptimizer/labels/good%20first%20issue [help wanted]: https://github.com/anatawa12/AvatarOptimizer/labels/help%20wanted +[NDMF Discord]: https://discord.gg/dV4cVpewmM [^merged-mesh]: 統合先のメッシュとは、`AAO Merge Skinned Mesh`コンポーネントと一緒に付いているSkinned Mesh Rendererのことです。 diff --git a/.docs/content/docs/faq/index.md b/.docs/content/docs/faq/index.md index 1d55760d0..5e8fccdfb 100644 --- a/.docs/content/docs/faq/index.md +++ b/.docs/content/docs/faq/index.md @@ -6,7 +6,7 @@ weight: 2 # Frequently Asked Questions {#faq} Here is the list of frequently asked questions about Avatar Optimizer. -If you have some other questions, please feel free to ask on the [GitHub Discussions] or on [Fediverse (Misskey / Mastodon)][Fediverse]. +If you have some other questions, please feel free to ask on the [GitHub Discussions], [NDMF Discord] or [Fediverse (Misskey / Mastodon)][Fediverse]. I'm usually use Japanese, but you can ask me with English. ## The behavior or appearance of the avatar is changed when using `AAO Trace and Optimize` component {#avatar-behavior-or-appearance-changed-when-using-aao-trace-and-optimize-component} @@ -119,5 +119,6 @@ I also accept financial support on [GitHub Sponsors] and [Booth]. [Booth]: https://anatawa12.booth.pm/items/4885109 [good first issue]: https://github.com/anatawa12/AvatarOptimizer/labels/good%20first%20issue [help wanted]: https://github.com/anatawa12/AvatarOptimizer/labels/help%20wanted +[NDMF Discord]: https://discord.gg/dV4cVpewmM [^merged-mesh]: Merged Mesh is a Skinned Mesh Renderer which is attached along with `AAO Merge Skinned Mesh` component. diff --git a/README.md b/README.md index 173e6c4b1..98d268a81 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,14 @@ Avatar Optimizer [![GitHub deployments][shields-deployment-master]][github-latest] [![GitHub deployments][shields-deployment-vpm]][vpm-repository] [![VPM release][shields-vpm]][vpm-repository] +[![discord link][shields-discord]][ndmf-discord] [shields-latest-release]: https://img.shields.io/github/v/release/anatawa12/AvatarOptimizer?display_name=tag&sort=semver [shields-deployment-vpm]: https://img.shields.io/github/deployments/anatawa12/AvatarOptimizer/vpm.anatawa12.com?label=VPM%20Deployment [shields-deployment-master]: https://img.shields.io/github/deployments/anatawa12/AvatarOptimizer/master%20branch?label=Deployment [shields-vpm]: https://img.shields.io/vpm/v/com.anatawa12.avatar-optimizer?repository_url=https%3A%2F%2Fvpm.anatawa12.com%2Fvpm.json +[shields-discord]: https://img.shields.io/badge/chat_on-NDMF_Discord-5865F2?logo=discord&logoColor=white +[ndmf-discord]: https://discord.gg/dV4cVpewmM Set of Anatawa12's Non-Destructive Small Avatar Optimization Utilities. Those utilies are applied on entering play mode or building VRC Avatars. From 16326af24a59b9fa69d61fd44ecd1bbe35046cc7 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Fri, 8 Nov 2024 15:11:19 +0900 Subject: [PATCH 05/20] docs(trace-and-optimize): document Optimize Texture --- .docs/content/docs/reference/trace-and-optimize/index.ja.md | 3 +++ .docs/content/docs/reference/trace-and-optimize/index.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.docs/content/docs/reference/trace-and-optimize/index.ja.md b/.docs/content/docs/reference/trace-and-optimize/index.ja.md index 42c51047a..5333d96b6 100644 --- a/.docs/content/docs/reference/trace-and-optimize/index.ja.md +++ b/.docs/content/docs/reference/trace-and-optimize/index.ja.md @@ -43,6 +43,9 @@ Trace and Optimizeは「**見た目に絶対に影響させてはならない** - `マテリアルスロットの前後関係を変えることを許可する`\ マテリアルスロットの前後関係を変えることで、アバターの描画負荷を減らせる場合があります。\ 多くの場合、マテリアルスロットの前後関係は特に意味を持ちませんが、描画順に影響を与える場合もあるようです。 +- `Optimize Texture`\ + 見た目に影響を与えずにテクスチャを最適化します。\ + 現在、対応するシェーダーを持つマテリアルに対して、UVパッキングやテクスチャサイズの縮小を行います。 また、以下の設定で自動設定を調節できます。 - `MMDワールドとの互換性`\ diff --git a/.docs/content/docs/reference/trace-and-optimize/index.md b/.docs/content/docs/reference/trace-and-optimize/index.md index 46fd06abc..e60855e6a 100644 --- a/.docs/content/docs/reference/trace-and-optimize/index.md +++ b/.docs/content/docs/reference/trace-and-optimize/index.md @@ -44,6 +44,9 @@ Currently the following optimizations are applied automatically. - `Allow Shuffling Material Slots`\ By shuffling material slots, you may reduce draw calls of the avatar. The order of material slots usually doesn't matter, but it may affect the drawing order in rare cases. +- `Optimize Texture`\ + Optimizes textures without affecting the appearance.\ + Currently, UV Packing and reducing texture size is performed for materials with supported shaders. Also, You can adjust optimization with the following settings - `MMD World Compatibility`\ From ea275f1ad008c363390f0a88e143235827f5ee89 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Wed, 13 Nov 2024 16:22:48 +0900 Subject: [PATCH 06/20] docs: Apply suggestions from code review Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> --- .../make-your-components-compatible-with-aao/index.ja.md | 2 +- .../make-your-components-compatible-with-aao/index.md | 2 +- .docs/content/docs/reference/trace-and-optimize/index.ja.md | 4 ++-- .docs/content/docs/reference/trace-and-optimize/index.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md index 08240e332..a744abbe4 100644 --- a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md +++ b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.ja.md @@ -9,7 +9,7 @@ title: コンポーネントにAvatar Optimizerとの互換性をもたせる - コンポーネントはどのような場合にAvatar Optimizerと非互換になるか - どのように互換性を改善するか -もし質問があれば、お気軽に[fediverseで`@anatawa12@misskey.niri.la`][fediverse]や[NDMF Discord]でご連絡ください。 +もし質問があれば、お気軽に[Fediverse (Misskey / Mastodon)][fediverse]や[NDMF Discord]でご連絡ください。 ## コンポーネントはどのような場合にAvatar Optimizerと非互換になるか {#when-incompatible} diff --git a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md index 7c64093f2..1dad5593f 100644 --- a/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md +++ b/.docs/content/docs/developers/make-your-components-compatible-with-aao/index.md @@ -9,7 +9,7 @@ This page describes the following two things. - When can components be incompatible with Avatar Optimizer? - How to improve the compatibility? -If you have some question, please feel free to ask [`@anatawa12@misskey.niri.la` on fediverse][fediverse] or on [NDMF Discord]. +If you have some question, please feel free to ask on [Fediverse (Misskey / Mastodon)][fediverse] or [NDMF Discord]. ## When can components be incompatible with Avatar Optimizer? {#when-incompatible} diff --git a/.docs/content/docs/reference/trace-and-optimize/index.ja.md b/.docs/content/docs/reference/trace-and-optimize/index.ja.md index 5333d96b6..66248f9e9 100644 --- a/.docs/content/docs/reference/trace-and-optimize/index.ja.md +++ b/.docs/content/docs/reference/trace-and-optimize/index.ja.md @@ -43,9 +43,9 @@ Trace and Optimizeは「**見た目に絶対に影響させてはならない** - `マテリアルスロットの前後関係を変えることを許可する`\ マテリアルスロットの前後関係を変えることで、アバターの描画負荷を減らせる場合があります。\ 多くの場合、マテリアルスロットの前後関係は特に意味を持ちませんが、描画順に影響を与える場合もあるようです。 -- `Optimize Texture`\ +- `テクスチャを最適化する`\ 見た目に影響を与えずにテクスチャを最適化します。\ - 現在、対応するシェーダーを持つマテリアルに対して、UVパッキングやテクスチャサイズの縮小を行います。 + 現在は、AvatarOptimizerが対応しているシェーダーが使用されているマテリアルに対してのみ、UVパッキングやテクスチャサイズの縮小を行います。 また、以下の設定で自動設定を調節できます。 - `MMDワールドとの互換性`\ diff --git a/.docs/content/docs/reference/trace-and-optimize/index.md b/.docs/content/docs/reference/trace-and-optimize/index.md index e60855e6a..df1c20510 100644 --- a/.docs/content/docs/reference/trace-and-optimize/index.md +++ b/.docs/content/docs/reference/trace-and-optimize/index.md @@ -46,7 +46,7 @@ Currently the following optimizations are applied automatically. The order of material slots usually doesn't matter, but it may affect the drawing order in rare cases. - `Optimize Texture`\ Optimizes textures without affecting the appearance.\ - Currently, UV Packing and reducing texture size is performed for materials with supported shaders. + Currently, UV Packing and reducing texture size is performed only for materials with supported shaders. Also, You can adjust optimization with the following settings - `MMD World Compatibility`\ From c7c6f0b78245aeee14bc9bc40d35ad42e7703707 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 14 Nov 2024 11:23:44 +0900 Subject: [PATCH 07/20] docs: explictly say `IVRCSDKPreprocessAvatarCallback` or NDMF Pass In previous version, I don't stated NDMF Pass since it's a special version of `IVRCSDKPreprocessAvatarCallback` but Sayamame told me it's not explict enough so I did. --- .docs/content/docs/developers/asset-description/index.en.md | 2 +- .docs/content/docs/developers/asset-description/index.ja.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.docs/content/docs/developers/asset-description/index.en.md b/.docs/content/docs/developers/asset-description/index.en.md index 65f647056..67e9804cb 100644 --- a/.docs/content/docs/developers/asset-description/index.en.md +++ b/.docs/content/docs/developers/asset-description/index.en.md @@ -29,7 +29,7 @@ for in-place modification tools that do not process on build, it's a little bit complicated to remove components by `IVRCSDKPreprocessAvatarCallback` instead of Avatar Optimizer. Therefore, Asset Description was added in v1.7.0 as a simple mechanism to specify components that should be ignored by Avatar Optimizer at build time. -For non-destructive tools, we still recommend you to continue to remove components in `IVRCSDKPreprocessAvatarCallback` to prevent Avatar Optimizer from accidentally removing components when the execution order is incorrect. +For non-destructive tools, we still recommend you to continue to remove components in `IVRCSDKPreprocessAvatarCallback` or your NDMF Pass to prevent Avatar Optimizer from accidentally removing components when the execution order is incorrect. [make-component-compatible]: ../make-your-components-compatible-with-aao diff --git a/.docs/content/docs/developers/asset-description/index.ja.md b/.docs/content/docs/developers/asset-description/index.ja.md index 205cb9bbf..46df3b1ec 100644 --- a/.docs/content/docs/developers/asset-description/index.ja.md +++ b/.docs/content/docs/developers/asset-description/index.ja.md @@ -28,7 +28,7 @@ Avatar Optimizer v1.6.0で[コンポーネントにAAOとの互換性をもた 非破壊ツールでなく、ビルド時に処理を行わないようなツールでは、`IVRCSDKPreprocessAvatarCallback`でコンポーネントを削除するのは少し面倒だろうと考えました。\ そのため、Avatar Optimizerに無視してほしい、ビルド時やランタイムで処理を行わないコンポーネントを指定するためのシンプルな仕組みとして、Asset Descriptionがv1.7.0で追加されました。 -なお、非破壊ツールの場合については、正しくない実行順で処理が行われた場合に、Avatar Optimizerがコンポーネントを誤って削除してしまわないように、従来通り`IVRCSDKPreprocessAvatarCallback`でコンポーネントを削除することを推奨します。 +なお、非破壊ツールの場合については、正しくない実行順で処理が行われた場合に、Avatar Optimizerがコンポーネントを誤って削除してしまわないように、従来通り`IVRCSDKPreprocessAvatarCallback`やNDMFの実行パスでコンポーネントを削除することを推奨します。 [make-component-compatible]: ../make-your-components-compatible-with-aao From 21a49a6a9df2c1b3f7e04e62074e9e30f479060b Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Sat, 23 Nov 2024 00:10:45 +0900 Subject: [PATCH 08/20] docs: use warning / info for component api page --- .../docs/developers/component-api/index.ja.md | 23 +++++++++++++------ .../docs/developers/component-api/index.md | 21 +++++++++++++---- 2 files changed, 33 insertions(+), 11 deletions(-) diff --git a/.docs/content/docs/developers/component-api/index.ja.md b/.docs/content/docs/developers/component-api/index.ja.md index 4bce44fad..a8bfe8161 100644 --- a/.docs/content/docs/developers/component-api/index.ja.md +++ b/.docs/content/docs/developers/component-api/index.ja.md @@ -19,12 +19,6 @@ Component APIが利用可能なコンポーネントの一覧は以下の通り 将来のバージョンで追加されるデフォルトで有効な機能との互換性を保つために、コンポーネントの設定変更を行う場合には注意が必要です。 詳細については以下のドキュメントを参照してください。 -コンポーネントの設定は、コンポーネントを追加した直後にのみサポートされます。 -すでにGameObjectに追加されているコンポーネントの設定はサポートされていません。 -これは、将来の機能が既存のコンポーネントの設定と互換性がない可能性があるためです。 - -実際、1.8.0で追加されたRemove Mesh in Box invertオプションは、boxの意味を変更するため、1.7以前のみを想定したツールとは互換性がありません。 - ## はじめに {#getting-started} Component APIを使用するには、assembly definitionファイルで`com.anatawa12.avatar-optimizer.runtime`を参照する必要があります。 @@ -36,5 +30,20 @@ Avatar Optimizerはランタイムで動作しないため、ランタイムビ ([動作の安定性](../../basic-concept/#behavior-stability)で説明されているように、)デフォルト設定は変更される可能性があります。\ デフォルト設定は、`GameObject.AddComponent()`メソッドで追加されるコンポーネントに影響します。 従って、Avatar Optimizerの将来のバージョンとの互換性を保つためには、使用するデフォルト設定のバージョンを指定して`Initialize`メソッドを呼び出す必要があります。 -デフォルト設定のバージョンは、`Initialize`メソッドのドキュメントに記載されているはずです。\ +デフォルト設定のバージョンは、`Initialize`メソッドのドキュメントに記載されているはずです。 + +{{< hint warning >}} + `Initialize`メソッドを呼び出さなかった場合、コンポーネントが予期しない動作をしたり、将来的にエラーが発生したりする可能性があります。 + +{{< /hint >}} + +{{< hint info >}} + +コンポーネントの設定は、コンポーネントを追加した直後にのみサポートされます。 +すでにGameObjectに追加されているコンポーネントの設定はサポートされていません。 +これは、将来追加される機能が既存のコンポーネントの設定と互換性がない可能性があるためです。 + +実際、1.8.0で追加されたRemove Mesh in Box invertオプションは、指定されたboxの意味を変更するため、1.7以前のみを想定したツールとは互換性がありません。 + +{{< /hint >}} diff --git a/.docs/content/docs/developers/component-api/index.md b/.docs/content/docs/developers/component-api/index.md index 80994dc13..cf1955fe8 100644 --- a/.docs/content/docs/developers/component-api/index.md +++ b/.docs/content/docs/developers/component-api/index.md @@ -23,8 +23,6 @@ Configuring component is only supported just after adding component. It's unsupported to configure component that is already added to the GameObject. This is because some future functionality might be incompatible with the existing component configuration. -In fact, the Remove Mesh in Box invert option added in 1.8.0 changes the meaning of box, therefore it's incompatible with tools intended only for 1.7 and earlier. - ## Getting Started To use Component API, you have to reference `com.anatawa12.avatar-optimizer.runtime` assembly in your assembly definition file. @@ -36,5 +34,20 @@ Second, If you want to configure components, you have to call `void Initialize(i The default setting of Avatar Optimizer can be changed in the future (as described in [Behavior Stability](../../basic-concept/#behavior-stability)).\ The default setting of Components will be affected to the components added with `GameObject.AddComponent()` method. Therefore, to keep behavior compability with future versions, you have to call `Initialize` method with the version of default configuration you want to use. -The default configuration version should be described in the document of the `Initialize` method.\ -Without calling `Initialize` method, component will behave unexpectedly or you may get error in the future. +The default configuration version should be described in the document of the `Initialize` method. + +{{< hint warning >}} + +Without calling `Initialize` method, component will behave unexpectedly, or you may get error with future versions. + +{{< /hint >}} + +{{< hint info >}} + +Configuring component is only supported just after adding component. +It's unsupported to configure component that is already added to the GameObject. +This is because some future functionality might be incompatible with the existing component configuration. + +In fact, the Remove Mesh in Box invert option added in 1.8.0 changes the meaning of box, therefore it's incompatible with tools intended only for 1.7 and earlier. + +{{< /hint >}} From 8085052f04a666874904df96f0ac4ead6a80dbd9 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Sat, 23 Nov 2024 22:05:07 +0900 Subject: [PATCH 09/20] docs: Apply suggestions from code review Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> --- .../content/docs/developers/asset-description/index.ja.md | 2 +- .docs/content/docs/developers/component-api/index.ja.md | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.docs/content/docs/developers/asset-description/index.ja.md b/.docs/content/docs/developers/asset-description/index.ja.md index 46df3b1ec..5cf842232 100644 --- a/.docs/content/docs/developers/asset-description/index.ja.md +++ b/.docs/content/docs/developers/asset-description/index.ja.md @@ -28,7 +28,7 @@ Avatar Optimizer v1.6.0で[コンポーネントにAAOとの互換性をもた 非破壊ツールでなく、ビルド時に処理を行わないようなツールでは、`IVRCSDKPreprocessAvatarCallback`でコンポーネントを削除するのは少し面倒だろうと考えました。\ そのため、Avatar Optimizerに無視してほしい、ビルド時やランタイムで処理を行わないコンポーネントを指定するためのシンプルな仕組みとして、Asset Descriptionがv1.7.0で追加されました。 -なお、非破壊ツールの場合については、正しくない実行順で処理が行われた場合に、Avatar Optimizerがコンポーネントを誤って削除してしまわないように、従来通り`IVRCSDKPreprocessAvatarCallback`やNDMFの実行パスでコンポーネントを削除することを推奨します。 +なお、非破壊ツールの場合については、正しくない実行順で処理が行われた場合にAvatar Optimizerがコンポーネントを誤って削除してしまわないように、従来通り`IVRCSDKPreprocessAvatarCallback`やNDMFを使用してAvatar Optimizerの処理よりも先にコンポーネントを削除することを推奨します。 [make-component-compatible]: ../make-your-components-compatible-with-aao diff --git a/.docs/content/docs/developers/component-api/index.ja.md b/.docs/content/docs/developers/component-api/index.ja.md index a8bfe8161..d8ae0eecc 100644 --- a/.docs/content/docs/developers/component-api/index.ja.md +++ b/.docs/content/docs/developers/component-api/index.ja.md @@ -40,10 +40,9 @@ Avatar Optimizerはランタイムで動作しないため、ランタイムビ {{< hint info >}} -コンポーネントの設定は、コンポーネントを追加した直後にのみサポートされます。 -すでにGameObjectに追加されているコンポーネントの設定はサポートされていません。 -これは、将来追加される機能が既存のコンポーネントの設定と互換性がない可能性があるためです。 +コンポーネントの設定変更はコンポーネントを追加した直後に行う場合のみサポートされており、既にGameObject上に存在しているコンポーネントに対する設定変更はサポートされていません。 +これは、将来のバージョンで追加された機能が、既存のコンポーネントの設定内容と互換性がない可能性があるためです。 -実際、1.8.0で追加されたRemove Mesh in Box invertオプションは、指定されたboxの意味を変更するため、1.7以前のみを想定したツールとは互換性がありません。 +例えば、v1.8.0で追加された`AAO Remove Mesh in Box`コンポーネントの反転オプションを有効にすると、設定される箱による効果が変わってしまい、v1.7以前のみを想定して作成されているツールと互換性がなくなってしまいます。 {{< /hint >}} From 001b0c231c4ec1471bd42cf6260bc490d6f20243 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:10:13 +0900 Subject: [PATCH 10/20] docs(ja): refine description --- .docs/content/docs/developers/component-api/index.ja.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.docs/content/docs/developers/component-api/index.ja.md b/.docs/content/docs/developers/component-api/index.ja.md index d8ae0eecc..e81ca3826 100644 --- a/.docs/content/docs/developers/component-api/index.ja.md +++ b/.docs/content/docs/developers/component-api/index.ja.md @@ -12,8 +12,8 @@ Avatar Optimizer v1.7.0以降、アバターにAvatar Optimizerのコンポー 現時点では、すべてのコンポーネントがComponent APIで利用出来るわけではありません。 Component APIが利用可能なコンポーネントの一覧は以下の通りです。 -- `RemoveMeshInBox` - コンポーネントの追加と設定変更がサポートされています -- `RemoveMeshByBlendShape` - コンポーネントの追加と設定変更がサポートされています +- `RemoveMeshInBox` - コンポーネントの追加と追加時の設定変更がサポートされています +- `RemoveMeshByBlendShape` - コンポーネントの追加と追加時の設定変更がサポートされています - `TraceAndOptimize` - デフォルト設定での追加はサポートされていますが、設定変更はサポートされていません 将来のバージョンで追加されるデフォルトで有効な機能との互換性を保つために、コンポーネントの設定変更を行う場合には注意が必要です。 @@ -43,6 +43,6 @@ Avatar Optimizerはランタイムで動作しないため、ランタイムビ コンポーネントの設定変更はコンポーネントを追加した直後に行う場合のみサポートされており、既にGameObject上に存在しているコンポーネントに対する設定変更はサポートされていません。 これは、将来のバージョンで追加された機能が、既存のコンポーネントの設定内容と互換性がない可能性があるためです。 -例えば、v1.8.0で追加された`AAO Remove Mesh in Box`コンポーネントの反転オプションを有効にすると、設定される箱による効果が変わってしまい、v1.7以前のみを想定して作成されているツールと互換性がなくなってしまいます。 +例えば、v1.8.0で追加された`AAO Remove Mesh By Box`コンポーネントの反転オプションを有効にすると、設定される箱による効果が変わってしまい、v1.7以前のみを想定して作成されているツールと互換性がなくなってしまいます。 {{< /hint >}} From 3d971582078826ccc0a2a032e3e2eccdfaf157a5 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:11:15 +0900 Subject: [PATCH 11/20] docs(en): refine description and follow ja version --- .../content/docs/developers/component-api/index.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.docs/content/docs/developers/component-api/index.md b/.docs/content/docs/developers/component-api/index.md index cf1955fe8..9260d0ca4 100644 --- a/.docs/content/docs/developers/component-api/index.md +++ b/.docs/content/docs/developers/component-api/index.md @@ -12,17 +12,13 @@ By using this API, you can create tools or components that add Avatar Optimizer Currently, not all components are supported by Component API. Here is the list of components that are supported by Component API. -- `RemoveMeshInBox` - Adding and configuring component is supported -- `RemoveMeshByBlendShape` - Adding and configuring component is supported +- `RemoveMeshInBox` - Adding component and configuring for that is supported +- `RemoveMeshByBlendShape` - Adding component and configuring for that is supported - `TraceAndOptimize` - Adding with default configuration is supported but configuring is not supported For components that supports configuring, to keep compatibility with future features that enabled by default, you need extra attention for the configuration. See document below for more details. -Configuring component is only supported just after adding component. -It's unsupported to configure component that is already added to the GameObject. -This is because some future functionality might be incompatible with the existing component configuration. - ## Getting Started To use Component API, you have to reference `com.anatawa12.avatar-optimizer.runtime` assembly in your assembly definition file. @@ -44,10 +40,9 @@ Without calling `Initialize` method, component will behave unexpectedly, or you {{< hint info >}} -Configuring component is only supported just after adding component. -It's unsupported to configure component that is already added to the GameObject. +Configuring component is only supported just after adding component, and configuring already existing component on the GameObject is unsupported. This is because some future functionality might be incompatible with the existing component configuration. -In fact, the Remove Mesh in Box invert option added in 1.8.0 changes the meaning of box, therefore it's incompatible with tools intended only for 1.7 and earlier. +For example, enabling the inversion option of `AAO Remove Mesh By Box` component, added in v1.8.0, changes the meaning of box, which makes it incompatible with tools intended only for v1.7 and earlier. {{< /hint >}} From afbb384c9b42c7d803ec4c3ae24d17bbd721d961 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:13:19 +0900 Subject: [PATCH 12/20] docs(ja): remove unnecessary backslash --- .docs/content/docs/faq/index.ja.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.docs/content/docs/faq/index.ja.md b/.docs/content/docs/faq/index.ja.md index 53977c83a..d59b4cd10 100644 --- a/.docs/content/docs/faq/index.ja.md +++ b/.docs/content/docs/faq/index.ja.md @@ -78,7 +78,7 @@ Avatar Optimizerなどの非破壊的なアバター改変ツールを使うと そのような場合でも、以下のような方法を使って、ビルド前のハードリミットチェックを飛ばしてアップロードすることができます。 (ビルド後のハードリミットチェックも存在するため、ビルド後にハードリミットを超える場合は以下の方法でもアップロードに失敗します。) -- `Manual bake avatar`で生成したアバターをアップロードする。\ +- `Manual bake avatar`で生成したアバターをアップロードする。 アバターのGameObjectを右クリックして出てくるメニューの`NDM Framework`から`Manual bake avatar`をクリックすると、非破壊ツールによる処理を手動で適用することができます。 `Manual bake avatar`は初めにアバターを複製し、その複製に対して非破壊ツールの処理を適用させるため、元のアバターは変更されないままになります。 From 7a82c9f52d6eb04e05a15e27f86057f2481464a5 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Sun, 24 Nov 2024 22:30:56 +0900 Subject: [PATCH 13/20] docs(ja/en): chore docs --- .docs/content/_index.ja.md | 8 ++++---- .docs/content/docs/reference/freeze-blendshape/index.md | 2 +- .../docs/reference/remove-mesh-by-blendshape/index.md | 2 +- .docs/content/docs/reference/rename-blendshape/index.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.docs/content/_index.ja.md b/.docs/content/_index.ja.md index 42f32614d..e177580d5 100644 --- a/.docs/content/_index.ja.md +++ b/.docs/content/_index.ja.md @@ -15,20 +15,20 @@ Avatar Optimizerは[GitHub]上で開発され、[MIT License]で公開されて ## インストール {#installation} -Avatar Optimizerは[VPM][vpm]レポジトリを使用して公開されているため、任意のvpmクライアントを使用してインストールできます。 +Avatar Optimizerは[VPM][vpm]リポジトリを使用して公開されているため、任意のvpmクライアントを使用してインストールできます。 {{< beta-only color="success" >}} {{< hint info >}} -プレリリース版のAvatar Optimizerでは、anatawa12のvpmレポジトリで提供されていないNDMFのプレリリース版が使用されている場合があります。 -その場合、VCCにbd_ prereleasesレポジトリ()を追加する必要があります。 +プレリリース版のAvatar Optimizerでは、anatawa12のVPMリポジトリで提供されていないNDMFのプレリリース版が使用されている場合があります。 +その場合、VCCにbd_ prereleasesリポジトリ()を追加する必要があります。 {{< /hint >}} {{< /beta-only >}} ### VCC を使用する (推奨) {#installation-vcc} -1. [このリンク][VCC-add-repo-link]をクリックしてanatawa12のレポジトリを追加する。 +1. [このリンク][VCC-add-repo-link]をクリックしてanatawa12のリポジトリを追加する。 2. VCCでAvatar Optimizerを追加する。 ### UnityPackageを使用する {#installation-vpai} diff --git a/.docs/content/docs/reference/freeze-blendshape/index.md b/.docs/content/docs/reference/freeze-blendshape/index.md index 0a8fcd7f5..5769b591d 100644 --- a/.docs/content/docs/reference/freeze-blendshape/index.md +++ b/.docs/content/docs/reference/freeze-blendshape/index.md @@ -31,4 +31,4 @@ By freezing BlendShape, the weights cannot be changed on Animation. ![component.png](component.png) -You'll see list of BlendShapes and check to freeze BlendShape. +You'll see the list of BlendShapes and check to freeze BlendShape. diff --git a/.docs/content/docs/reference/remove-mesh-by-blendshape/index.md b/.docs/content/docs/reference/remove-mesh-by-blendshape/index.md index 8537e5321..f402a86c1 100644 --- a/.docs/content/docs/reference/remove-mesh-by-blendshape/index.md +++ b/.docs/content/docs/reference/remove-mesh-by-blendshape/index.md @@ -19,7 +19,7 @@ You can use this component to easily remove polygons with BlendShapes for shrink ![component.png](component.png) -You'll see list of BlendShapes and check to select blendShapes. +You'll see the list of BlendShapes and check to select blendShapes. If some vertices in your mesh is moved more than `Tolerance` by selected BlendShape, this component will remove the vertices. In case polygons you want to remove are not removed, increase the `Tolerance` value. diff --git a/.docs/content/docs/reference/rename-blendshape/index.md b/.docs/content/docs/reference/rename-blendshape/index.md index 7c27d7eab..5111a72ea 100644 --- a/.docs/content/docs/reference/rename-blendshape/index.md +++ b/.docs/content/docs/reference/rename-blendshape/index.md @@ -14,7 +14,7 @@ This component should be added to a GameObject which has a SkinnedMeshRenderer c ![component.png](component.png) -You'll see list of BlendShape mapping. +You'll see the list of BlendShape mapping. Click upper right '+' button to add new mapping. From 61f7c94f143d81669d3ee820c42e46cb179e72c4 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Wed, 27 Nov 2024 20:11:25 +0900 Subject: [PATCH 14/20] docs(ja/en): chore top page --- .docs/content/_index.ja.md | 16 ++++++++-------- .docs/content/_index.md | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.docs/content/_index.ja.md b/.docs/content/_index.ja.md index e177580d5..4828792d6 100644 --- a/.docs/content/_index.ja.md +++ b/.docs/content/_index.ja.md @@ -15,7 +15,7 @@ Avatar Optimizerは[GitHub]上で開発され、[MIT License]で公開されて ## インストール {#installation} -Avatar Optimizerは[VPM][vpm]リポジトリを使用して公開されているため、任意のvpmクライアントを使用してインストールできます。 +Avatar Optimizerは[VPM][vpm]リポジトリを使用して公開されているため、任意のVPMクライアントを使用してインストールできます。 {{< beta-only color="success" >}} {{< hint info >}} @@ -26,17 +26,17 @@ Avatar Optimizerは[VPM][vpm]リポジトリを使用して公開されている {{< /hint >}} {{< /beta-only >}} -### VCC を使用する (推奨) {#installation-vcc} +### VCCやALCOM を使用する (推奨) {#installation-vcc} -1. [このリンク][VCC-add-repo-link]をクリックしてanatawa12のリポジトリを追加する。 -2. VCCでAvatar Optimizerを追加する。 +1. [このリンク][VCC-add-repo-link]をクリックして、anatawa12のVPMリポジトリを追加します。 +2. AAO: Avatar Optimizerをプロジェクトに追加! ### UnityPackageを使用する {#installation-vpai} unitypackageをインポートするだけでもこのツールをインストールできます。(VCCから追加する方法と全く同じようになります) -1. [ここ][installer unitypackage 1.x.x]からインストーラunitypackageをダウンロードする。 -2. unitypackageをプロジェクトにインポートする。 +1. [ここ][installer unitypackage 1.x.x]からインストーラunitypackageをダウンロードします。 +2. unitypackageをプロジェクトにインポート!
他のバージョン用のインストーラ @@ -53,7 +53,7 @@ unitypackageをインポートするだけでもこのツールをインスト ### vrc-getを使用する {#installation-vrc-get} -もしコマンドラインに精通しているのであれば、[vrc-get][vrc-get]を使用してインストールできます。 +もしコマンドラインに精通しているのであれば、[vrc-get][vrc-get]を使用してインストールすることもできます。 ```bash # add our vpm repository @@ -65,7 +65,7 @@ vrc-get install com.anatawa12.avatar-optimizer ### VPMコマンドラインインターフェースを使用する {#installation-vpm-cli} -もしコマンドラインに精通しているのであれば、[VPM/VCC CLI][vcc-cli]を使用してインストールできます。 +もしコマンドラインに精通しているのであれば、[VPM/VCC CLI][vcc-cli]を使用してインストールすることもできます。 ```bash # add our vpm repository diff --git a/.docs/content/_index.md b/.docs/content/_index.md index 48f22e14a..312acd5ac 100644 --- a/.docs/content/_index.md +++ b/.docs/content/_index.md @@ -20,7 +20,7 @@ Avatar Optimizer is a Open Source Software developed on [GitHub] published under ## Installation {#installation} -Avatar Optimizer is published with [VPM][vpm] repository so you can install this package using any vpm clients. +Avatar Optimizer is published with [VPM][vpm] repository so you can install this package using any VPM clients. {{< beta-only color="success" >}} {{< hint info >}} @@ -31,10 +31,10 @@ You may have to add , bd_ prerelease {{< /hint >}} {{< /beta-only >}} -### With VCC (Recommended) {#installation-vcc} +### With VCC/ALCOM (Recommended) {#installation-vcc} -1. Click [this link][VCC-add-repo-link] to add anatawa12's repository. -2. Add Avatar Optimizer from VCC. +1. Click [this link][VCC-add-repo-link] to add anatawa12's VPM repository. +2. Add Avatar Optimizer to your project from VCC/ALCOM. ### Using UnityPackage {#installation-vpai} From d563f7c6ef0b5da62f74494941419da6b16fefe4 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Wed, 27 Nov 2024 21:03:46 +0900 Subject: [PATCH 15/20] docs(ja/en): add manual bake description in tutorial --- .docs/content/docs/tutorial/basic-usage/index.ja.md | 12 ++++++++++++ .docs/content/docs/tutorial/basic-usage/index.md | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/.docs/content/docs/tutorial/basic-usage/index.ja.md b/.docs/content/docs/tutorial/basic-usage/index.ja.md index 0b77ad2e7..90d8267c2 100644 --- a/.docs/content/docs/tutorial/basic-usage/index.ja.md +++ b/.docs/content/docs/tutorial/basic-usage/index.ja.md @@ -54,6 +54,18 @@ AAO: Avatar Optimizerは非破壊改変ツールであり、Playモードに入 {{< /hint >}} +{{< hint info >}} + +### 非破壊改変ツールを手動で適用する方法 {#how-to-manual-bake} + +アバターのGameObjectを右クリックして出てくるメニューの`NDM Framework`から`Manual bake avatar`をクリックすると、非破壊ツールによる処理が適用されたアバターを手動で生成することができます。 + +`Manual bake avatar`は初めにアバターを複製し、その複製に対して非破壊ツールの処理を適用させるため、元のアバターは変更されないままになります。 + +VRChat向けアバターをVRM形式で出力したい場合などにご活用ください。 + +{{< /hint >}} + 貫通防止用BlendShapeを利用してポリゴンを減らす {#remove-mesh-by-blendshape} --- diff --git a/.docs/content/docs/tutorial/basic-usage/index.md b/.docs/content/docs/tutorial/basic-usage/index.md index 3752e2d12..d68b12702 100644 --- a/.docs/content/docs/tutorial/basic-usage/index.md +++ b/.docs/content/docs/tutorial/basic-usage/index.md @@ -57,6 +57,18 @@ Please check [basic usages of anatawa12's Gist Pack][gists-basic-usage] and [doc {{< /hint >}} +{{< hint info >}} + +### Applying non-destructive tools manually {#how-to-manual-bake} + +You can use `NDM Framework/Manual bake avatar` on the context menu of the Avatar GameObject to manually generate the avatar with applied non-destructive tools. + +This will clone your avatar and apply non-destructive tools to the cloned avatar, so your original avatar will not be modified. + +This can be useful in some cases (e.g. when exporting a VRChat avatar in VRM format). + +{{< /hint >}} + Reduce polygons with BlendShapes which shrink parts of the body {#remove-mesh-by-blendshape} --- From c0f613ba9d26dc72c1001e87ef2892a52335d996 Mon Sep 17 00:00:00 2001 From: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> Date: Wed, 27 Nov 2024 21:15:36 +0900 Subject: [PATCH 16/20] docs(ja/en): add description for "Create" button on Remove Mesh By Mask --- .../content/docs/reference/remove-mesh-by-mask/index.ja.md | 6 ++++-- .docs/content/docs/reference/remove-mesh-by-mask/index.md | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.docs/content/docs/reference/remove-mesh-by-mask/index.ja.md b/.docs/content/docs/reference/remove-mesh-by-mask/index.ja.md index 31165d8f1..a9dab191a 100644 --- a/.docs/content/docs/reference/remove-mesh-by-mask/index.ja.md +++ b/.docs/content/docs/reference/remove-mesh-by-mask/index.ja.md @@ -21,12 +21,14 @@ weight: 25 ![component.png](component.png) -メッシュのマテリアルスロットの一覧が表示されます。 +メッシュのマテリアルスロットの一覧が表示されます。\ マスクテクスチャによるポリゴンの削除を行う対象のマテリアルスロットを選択してください。 ### マスクテクスチャ {#mask-texture} -ポリゴンの削除に利用するマスクテクスチャです。 +ポリゴンの削除に利用するマスクテクスチャです。\ +何もセットされていない場合は、「作成」ボタンをクリックしてテクスチャを新規作成することができます。 + 「編集」ボタンをクリックすると、マスクテクスチャエディターが開きます。 ### 削除モード {#remove-mode} diff --git a/.docs/content/docs/reference/remove-mesh-by-mask/index.md b/.docs/content/docs/reference/remove-mesh-by-mask/index.md index 637d6c3ea..1c2e2444e 100644 --- a/.docs/content/docs/reference/remove-mesh-by-mask/index.md +++ b/.docs/content/docs/reference/remove-mesh-by-mask/index.md @@ -21,12 +21,14 @@ You can use this component to easily remove polygons with alpha mask texture or ![component.png](component.png) -You'll see the list of material slots of the mesh. +You'll see the list of material slots of the mesh.\ Select the material slots you want to remove polygons with mask texture. ### Mask Texture -The mask texture to remove polygons. +The mask texture to remove polygons.\ +If nothing is set, click "Create" button to create a new texture. + Click "Edit" button to open the Mask Texture Editor. ### Remove Mode From ba38f68585e18e77d9469f4a697dfef06cc5414f Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Wed, 27 Nov 2024 21:54:39 +0900 Subject: [PATCH 17/20] docs: Apply suggestions from code review Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> --- .docs/content/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.docs/content/_index.md b/.docs/content/_index.md index 312acd5ac..226f33064 100644 --- a/.docs/content/_index.md +++ b/.docs/content/_index.md @@ -31,10 +31,10 @@ You may have to add , bd_ prerelease {{< /hint >}} {{< /beta-only >}} -### With VCC/ALCOM (Recommended) {#installation-vcc} +### With VCC / ALCOM (Recommended) {#installation-vcc} 1. Click [this link][VCC-add-repo-link] to add anatawa12's VPM repository. -2. Add Avatar Optimizer to your project from VCC/ALCOM. +2. Add Avatar Optimizer to your project from VCC / ALCOM. ### Using UnityPackage {#installation-vpai} From 6e888cae01c836f6959af0f4bbd979ebf4a8f526 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Wed, 27 Nov 2024 22:18:11 +0900 Subject: [PATCH 18/20] docs: update note for OSC Gimmicks --- .docs/content/docs/faq/index.ja.md | 15 +++++++-------- .docs/content/docs/faq/index.md | 18 +++++++----------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/.docs/content/docs/faq/index.ja.md b/.docs/content/docs/faq/index.ja.md index d59b4cd10..442b2fead 100644 --- a/.docs/content/docs/faq/index.ja.md +++ b/.docs/content/docs/faq/index.ja.md @@ -61,15 +61,11 @@ BlendShapeに対してアニメーションされるメッシュを統合する 最近のアバターは、PhysBone / Contact Receiverコンポーネントを使用した独自のギミックを持っていることがあるため、これらのコンポーネントを削除し忘れることがよくあります。 そのため、`AAO Trace and Optimize`は、そのようなコンポーネントがOSCギミックで使用されていないと仮定して、それらが他の用途で使われていなければ削除します。 -もちろん、仮定が正しいとは限らないため、PhysBone / Contact ReceiverコンポーネントをOSCギミックに使用している場合には、それらが使用されていると分かるようにアバターを調整してもらわなければならないかもしれません。\ -`AAO Trace and Optimize`は、アバター内のAnimatorにあるパラメーターと同じパラメーターが使用されているPhysBone / Contact Receiverコンポーネントを削除しないようになっています。 -そのため、OSCギミックで使用されるパラメーターを、Animator Controllerのパラメーター一覧やExpression Parameterに追加することで、これらのコンポーネントが削除されないようになります。 +仮定が正しいとは限らないため、PhysBone / Contact ReceiverコンポーネントをOSCギミックに使用している場合には、[Asset Description]ファイルを作成し、[Parameters Read By External Tools]を設定してください。 -また、改善のための議論の材料として、OSCギミックで使われているPhysBoneやContact Receiverが削除された場合には、それらに設定されているパラメータ名を教えていただけると助かります。 -将来的に、有名なOSCギミックによって使用されるパラメーターの一覧を実装して、それらのパラメータが使用されている場合はコンポーネントを保持するような形を取るかもしれませんし、他の方法で対処するかもしれません。\ -以下のissueや[Fediverse (Misskey / Mastodon)][Fediverse]、[Twitter]などでお気軽にお知らせください。 - -この問題のissue: [#1090](https://github.com/anatawa12/AvatarOptimizer/issues/1090) +もしそのギミックが公開されていたり売られていたりする場合は、そのギミックと AAO の互換性を改善するために、作成した Asset Description ファイルを共有していただけると助かります。 +Asset Description を将来の Avatar Optimizer に組み込むことで、そのギミックが正しく動作するようになるかもしれません。 +もしよろしければ、[GitHub]、[NDMF Discord]、[Fediverse (Misskey / Mastodon)][Fediverse]、[Twitter]などでお知らせください。 ## ビルド前のハードリミットチェックのせいでアバターをアップロードできない {#i-cannot-upload-the-avatar-because-of-pre-build-hard-limit-check} @@ -115,5 +111,8 @@ Avatar Optimizerの開発を支援したい場合、[GitHub Discussions]での [good first issue]: https://github.com/anatawa12/AvatarOptimizer/labels/good%20first%20issue [help wanted]: https://github.com/anatawa12/AvatarOptimizer/labels/help%20wanted [NDMF Discord]: https://discord.gg/dV4cVpewmM +[GitHub]: https://github.com/anatawa12/AvatarOptimizer/ +[Asset Description]: ../developers/asset-description/ +[Parameters Read By External Tools]: ../developers/asset-description/#parameters-read-by-external-tools [^merged-mesh]: 統合先のメッシュとは、`AAO Merge Skinned Mesh`コンポーネントと一緒に付いているSkinned Mesh Rendererのことです。 diff --git a/.docs/content/docs/faq/index.md b/.docs/content/docs/faq/index.md index 5e8fccdfb..0f655c0b0 100644 --- a/.docs/content/docs/faq/index.md +++ b/.docs/content/docs/faq/index.md @@ -63,18 +63,11 @@ However, for technical reasons, the `AAO Trace and Optimize` component cannot de Some modern avatars have their own gimmicks based on PhysBone / Contact Receiver components, so those components will be forgotten to remove in most cases. Therefore, `AAO Trace and Optimize` will assume that such components are not for OSC-based gimmick, and remove them if they are not used for other ways. -Of course, this assumption is not always the case, so if you are using PhysBone / Contact Receiver components for the OSC-based gimmick without Animator or Expressions, -please configure your avatar to detect them as used in the avatar.\ -`AAO Trace and Optimize` will not remove them if they are used in the Animator in the avatar. -So, by adding parameters used in the OSC-based gimmick to the parameter list of Animator Controller or Expression Parameters, -such components will not be removed. +This assumption is not always the case, so if you are using PhysBone / Contact Receiver components for the OSC-based gimmick without Animator or Expressions, +please create [Asset Description] and please configure [Parameters Read By External Tools] for your OSC-based gimmick. -In addition, for future discussion, if your OSC-based gimmick is removed by `AAO Trace and Optimize`, -could you let us know the name of parameter used in the OSC-based gimmicks? -I may implement list of parameters likely to be used by OSC and keeping components for those parameters, or other ways to prevent removing them in the future. -Please feel free to contact on the GitHub issue below, [Fediverse (Misskey / Mastodon)][Fediverse] or [Twitter]. - -Issue of this problem: [#1090](https://github.com/anatawa12/AvatarOptimizer/issues/1090) +If the gimmick is published or selling, I would like to bundle your Asset Description with AAO to improve compatibility with the gimmick. +If you like, please contact us on [GitHub], [NDMF Discord], [Fediverse (Misskey / Mastodon)][Fediverse], or [Twitter]. ## I cannot upload the avatar because of pre-build hard limit check {#i-cannot-upload-the-avatar-because-of-pre-build-hard-limit-check} @@ -120,5 +113,8 @@ I also accept financial support on [GitHub Sponsors] and [Booth]. [good first issue]: https://github.com/anatawa12/AvatarOptimizer/labels/good%20first%20issue [help wanted]: https://github.com/anatawa12/AvatarOptimizer/labels/help%20wanted [NDMF Discord]: https://discord.gg/dV4cVpewmM +[GitHub]: https://github.com/anatawa12/AvatarOptimizer/ +[Asset Description]: ../developers/asset-description/ +[Parameters Read By External Tools]: ../developers/asset-description/#parameters-read-by-external-tools [^merged-mesh]: Merged Mesh is a Skinned Mesh Renderer which is attached along with `AAO Merge Skinned Mesh` component. From f5230a3dc0dc66f71caecef90177c13a8d452e78 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 28 Nov 2024 09:43:49 +0900 Subject: [PATCH 19/20] docs: Apply suggestions from code review Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> --- .docs/content/docs/faq/index.ja.md | 6 +++--- .docs/content/docs/tutorial/basic-usage/index.ja.md | 2 +- .docs/content/docs/tutorial/basic-usage/index.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.docs/content/docs/faq/index.ja.md b/.docs/content/docs/faq/index.ja.md index 442b2fead..3856dac52 100644 --- a/.docs/content/docs/faq/index.ja.md +++ b/.docs/content/docs/faq/index.ja.md @@ -61,11 +61,11 @@ BlendShapeに対してアニメーションされるメッシュを統合する 最近のアバターは、PhysBone / Contact Receiverコンポーネントを使用した独自のギミックを持っていることがあるため、これらのコンポーネントを削除し忘れることがよくあります。 そのため、`AAO Trace and Optimize`は、そのようなコンポーネントがOSCギミックで使用されていないと仮定して、それらが他の用途で使われていなければ削除します。 -仮定が正しいとは限らないため、PhysBone / Contact ReceiverコンポーネントをOSCギミックに使用している場合には、[Asset Description]ファイルを作成し、[Parameters Read By External Tools]を設定してください。 +この仮定は正しいとは限らないため、PhysBone / Contact Receiverコンポーネントが(AnimatorやExpression Menuを使用せずに)OSCギミックで使用されている場合には、[Asset Description]ファイルを作成し、[Parameters Read By External Tools]を設定してください。 -もしそのギミックが公開されていたり売られていたりする場合は、そのギミックと AAO の互換性を改善するために、作成した Asset Description ファイルを共有していただけると助かります。 +そのギミックが公開・販売されているような場合には、そのギミックとAAOの互換性を改善するために、作成した Asset Descriptionファイルを共有していただけると助かります。 Asset Description を将来の Avatar Optimizer に組み込むことで、そのギミックが正しく動作するようになるかもしれません。 -もしよろしければ、[GitHub]、[NDMF Discord]、[Fediverse (Misskey / Mastodon)][Fediverse]、[Twitter]などでお知らせください。 +共有していただける場合は、[GitHub]、[NDMF Discord]、[Fediverse (Misskey / Mastodon)][Fediverse]、[Twitter]などからご連絡ください。 ## ビルド前のハードリミットチェックのせいでアバターをアップロードできない {#i-cannot-upload-the-avatar-because-of-pre-build-hard-limit-check} diff --git a/.docs/content/docs/tutorial/basic-usage/index.ja.md b/.docs/content/docs/tutorial/basic-usage/index.ja.md index 90d8267c2..a19145f38 100644 --- a/.docs/content/docs/tutorial/basic-usage/index.ja.md +++ b/.docs/content/docs/tutorial/basic-usage/index.ja.md @@ -58,7 +58,7 @@ AAO: Avatar Optimizerは非破壊改変ツールであり、Playモードに入 ### 非破壊改変ツールを手動で適用する方法 {#how-to-manual-bake} -アバターのGameObjectを右クリックして出てくるメニューの`NDM Framework`から`Manual bake avatar`をクリックすると、非破壊ツールによる処理が適用されたアバターを手動で生成することができます。 +アバターのGameObjectを右クリックして出てくるメニューの`NDM Framework`から`Manual bake avatar`をクリックすると、非破壊ツールによる処理を手動で適用することができます。 `Manual bake avatar`は初めにアバターを複製し、その複製に対して非破壊ツールの処理を適用させるため、元のアバターは変更されないままになります。 diff --git a/.docs/content/docs/tutorial/basic-usage/index.md b/.docs/content/docs/tutorial/basic-usage/index.md index d68b12702..e01d5924d 100644 --- a/.docs/content/docs/tutorial/basic-usage/index.md +++ b/.docs/content/docs/tutorial/basic-usage/index.md @@ -61,7 +61,7 @@ Please check [basic usages of anatawa12's Gist Pack][gists-basic-usage] and [doc ### Applying non-destructive tools manually {#how-to-manual-bake} -You can use `NDM Framework/Manual bake avatar` on the context menu of the Avatar GameObject to manually generate the avatar with applied non-destructive tools. +You can use `NDM Framework/Manual bake avatar` on the context menu of the Avatar GameObject to apply non-destructive tools manually. This will clone your avatar and apply non-destructive tools to the cloned avatar, so your original avatar will not be modified. From 23d93c157c525fe9b779b0bc5d7f59f7ae8bcf52 Mon Sep 17 00:00:00 2001 From: anatawa12 Date: Thu, 28 Nov 2024 12:08:15 +0900 Subject: [PATCH 20/20] docs: Apply suggestions from code review Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com> --- .docs/content/docs/faq/index.ja.md | 2 +- .docs/content/docs/faq/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.docs/content/docs/faq/index.ja.md b/.docs/content/docs/faq/index.ja.md index 3856dac52..c1c9d72fa 100644 --- a/.docs/content/docs/faq/index.ja.md +++ b/.docs/content/docs/faq/index.ja.md @@ -64,7 +64,7 @@ BlendShapeに対してアニメーションされるメッシュを統合する この仮定は正しいとは限らないため、PhysBone / Contact Receiverコンポーネントが(AnimatorやExpression Menuを使用せずに)OSCギミックで使用されている場合には、[Asset Description]ファイルを作成し、[Parameters Read By External Tools]を設定してください。 そのギミックが公開・販売されているような場合には、そのギミックとAAOの互換性を改善するために、作成した Asset Descriptionファイルを共有していただけると助かります。 -Asset Description を将来の Avatar Optimizer に組み込むことで、そのギミックが正しく動作するようになるかもしれません。 +そのAsset Descriptionを将来のAvatar Optimizerに組み込むことにより、そのギミックが正しく動作するようになるかもしれません。 共有していただける場合は、[GitHub]、[NDMF Discord]、[Fediverse (Misskey / Mastodon)][Fediverse]、[Twitter]などからご連絡ください。 ## ビルド前のハードリミットチェックのせいでアバターをアップロードできない {#i-cannot-upload-the-avatar-because-of-pre-build-hard-limit-check} diff --git a/.docs/content/docs/faq/index.md b/.docs/content/docs/faq/index.md index 0f655c0b0..59b0490d7 100644 --- a/.docs/content/docs/faq/index.md +++ b/.docs/content/docs/faq/index.md @@ -67,7 +67,7 @@ This assumption is not always the case, so if you are using PhysBone / Contact R please create [Asset Description] and please configure [Parameters Read By External Tools] for your OSC-based gimmick. If the gimmick is published or selling, I would like to bundle your Asset Description with AAO to improve compatibility with the gimmick. -If you like, please contact us on [GitHub], [NDMF Discord], [Fediverse (Misskey / Mastodon)][Fediverse], or [Twitter]. +If you would like to, please contact us on [GitHub], [NDMF Discord], [Fediverse (Misskey / Mastodon)][Fediverse], or [Twitter]. ## I cannot upload the avatar because of pre-build hard limit check {#i-cannot-upload-the-avatar-because-of-pre-build-hard-limit-check}