Releases: anatawa12/AvatarOptimizer
v1.7.1
Version 1.7.1
Installer unitypackage for this version is here.
Added
Changed
- Improved behavior with Read/Write Off
#1045
- Because of Unity limitation, AAO cannot process meshes with R/W off on
Start
so it will be error. - However, on
Awake
, we can read them so AAO should process them. - Since this version, AAO will process meshes with R/W off on
Awake
. - This reduces the number of errors on the apply on play.
- If you're using Av3Emulator, you still see the error.
- In addition, in such case, we'll show
Auto Fix
button on the error message. - If you press the button, AAO will fix the error by changing the mesh to read/write enabled.
- Because of Unity limitation, AAO cannot process meshes with R/W off on
Advanced Options
section has benn renamed toDebug Options
#1052
- This express the purpose of the section more clearly.
- Added
Advanced Optimizations
and movedRemove Zero sized Polygons
to it#1052
- The
Remove Zero sized Polygons
can break some shaders or animations so it's not enabled by default. - To make it more clear, we moved it to
Advanced Optimizations
.
- The
Fixed
- Material Slot animations for multi-material multi-pass rendering are broken
#1042
- Previously we only preserves animations for the number of submeshes instead of material slots.
- Relax Bounds condition for Automatic Merge Skinned Mesh
#1043
- Previously, AAO doesn't merge Skinned Meshes if bounds are different accurately.
- Since this version, AAO will merge meshes if bounds are the same with precision to the last 6 digits of decimal point.
- Entry/Exit to BlendTree broken with None state
1048
- Particle System with bone-rigged Skinned Mesh Renderer will be broken
#1054
v1.7.1-rc.1
Version 1.7.1-rc.1
Installer unitypackage for this version is here.
This is SNAPSHOT, not a stable release. make sure this may have many bugs.
Added
- Implement mask texture editor
#1044
Changed
- Improved behavior with Read/Write Off
#1045
- Because of Unity limitation, AAO cannot process meshes with R/W off on
Start
so it will be error. - However, on
Awake
, we can read them so AAO should process them. - Since this version, AAO will process meshes with R/W off on
Awake
. - This reduces the number of errors on the apply on play.
- If you're using Av3Emulator, you still see the error.
- In addition, in such case, we'll show
Auto Fix
button on the error message. - If you press the button, AAO will fix the error by changing the mesh to read/write enabled.
- Because of Unity limitation, AAO cannot process meshes with R/W off on
Advanced Options
section has benn renamed toDebug Options
#1052
- This express the purpose of the section more clearly.
- Added
Advanced Optimizations
and movedRemove Zero sized Polygons
to it#1052
- The
Remove Zero sized Polygons
can break some shaders or animations so it's not enabled by default. - To make it more clear, we moved it to
Advanced Optimizations
.
- The
Fixed
- Material Slot animations for multi-material multi-pass rendering are broken
#1042
- Previously we only preserves animations for the number of submeshes instead of material slots.
- Relax Bounds condition for Automatic Merge Skinned Mesh
#1043
- Previously, AAO doesn't merge Skinned Meshes if bounds are different accurately.
- Since this version, AAO will merge meshes if bounds are the same with precision to the last 6 digits of decimal point.
- Entry/Exit to BlendTree broken with None state
1048
- Particle System with bone-rigged Skinned Mesh Renderer will be broken
#1054
v1.7.0
Version 1.7.0
Installer unitypackage for this version is here.
Added
- Animator Optimizer
#854
- Most features of Animator Optimizer is not available in Unity 2019.
- Animator Optimizer optimizes your Animator Controller without behaviour Changes
- Current Optimizer includes the following optimization
- Asset Description
#847
- Asset Description is the file to provide information of your assets for Avatar Optimizer.
- Please see documentation for more details.
- Warning for material animation in Merge Skinned Mesh
#769
- Merge Skinned Mesh does not support animating material properties differently. (In other words, it can be broken.)
- Since this version, AAO will warn for such a case.
- If you animated all materials from same animations, your animation will not be warned.
- API for declaring dependency relationship to the name of the component
#943
- You can use this API to not change the name of the GameObject.
- Configuring
Clamp BlendShapes (Deprecated)
#957
- Since VRCSDK 3.5.1, VRCSDK sets
Clamp BlendShapes (Deprecated)
to true on assembly reload. - This is not a good setting for AAO in EditMode since AAO does not support clamping BlendShapes.
- That's why AAO now configures
Clamp BlendShapes (Deprecated)
to false in edit mode and true in play mode. - PlayMode is usually used for testing the avatar behavior so it's better to have the same setting as VRChat client.
- If you want not to change this setting, please disable
Tools/Avatar Optimizer/Configure Clamp BlendShape Weight
.
- Since VRCSDK 3.5.1, VRCSDK sets
- Automatic Merge Skinned Mesh
#952
#972
#1010
#1020
#1021
- Trace and Optimize now automatically merges Skinned Meshes if possible.
- Trace and Optimize will merge your mesh if the material properties or enablement of the mesh is animated similarly and has no BlendShapes.
- Components API for Scripting Usage
#976
- You can now add AAO components from your script.
- Animations animating missing GameObject is removed
#994
- Since this update, animations that targeting GameObjects with post-AAO paths is no longer working.
- Please create animations that targeting GameObjects with pre-AAO paths.
- Remove Mesh by Mask
#998
- With this component, you can remove polygons with mask texture.
- You can use use mask for MeshDeleterWithTexture or alpha mask to remove polygons.
- Remove Empty SubMesh in Trace and Optimize
#1007
- This removes empty SubMeshes including becomes empty by optimization.
Changed
- MergePhysBone now corrects curve settings
#775
- MergePhysBone now warns if chain length are not same
#775
- MergePhysBone with only one source is now error
#775
- It was not working well and not a error by a bug.
- Animator Parser is completely rewritten
#850
#968
#1011
- New Animator Parser allow us to track animating properties animated by components removed by AAO.
- PhysBone that swings no bones are now removed
#864
- I found such a PhysBone on Lime so I added this feature.
- Switched Localization system to NDMF from CL4EE
#873
- Since this release, Avatar Optimizer is no longer depends on CL4EE.
- Because VCC doesn't remove unused packages, CL4EE may still be installed on your project.
- If you want to remove CL4EE, please remove it manually.
- Suppressed animated BlendShape warning of FreezeBlendShape if it's animated to a few constants
#881
- Modern models have tons of BlendShapes to change their face shape but emotion animation of some of them animates such a BlendShapes to constant (default value).
- That's unnecessary (incorrect I think) and force users to remove or change the clip when user wants to face shape.
- I see AAO users use
FreezeBlendShapes
for overriding such a BlendShapes on twitter. - I think using this way is reasonable enough so I suppressed the warning if AAO detected such a usage.
- Changed minimum VRCSDK to 3.3.0
#882
- VRCSDK 3.3.0 is required for stable NDMF-VRCSDK compatibility.
- Endpoint Position settings for newly created MergePhysBone is now Copy instead of Clear
#945
- The Clear settings will increase the number of PhysBone Transforms so it's not better as a default settings.
- Improved activeness animation warning in Merge Skinned Mesh
#948
- Reduced false-positive warnings
- Previously, AAO warns if activeness warning is applied to different GameObjects.
- However, this can be false-positive if animation is applied to different GameObjects with same timing.
- Since this version, AAO will not warn if the activeness is animated in same animation clip with same curve.
- Combined warning per Merge Skinned Mesh component.
- Previously, AAO warns for each source Renderers.
- Since this version, AAO creates one warning for each Merge Skinned Mesh component.
- Reduced false-positive warnings
- Add error for Cloth component in Merge Skinned Mesh component
#949
- The Cloth component is not supported by Merge Skinned Mesh component.
- In previous versions, AAO will keep the source Skinned Mesh Renderer if it's with Cloth component by bug.
- Since this version, AAO will make an error if the source Skinned Mesh Renderer is with Cloth component.
- Remove Unused Objects now removes PhysBones and Contact Receivers with parameters defined but not used by Animator Controllers
#959
- Previously, AAO did not remove PhysBones and Contact Receivers if they are defined in Animator Controllers whether they are used or not.
- I thought such a PhysBones on the base body are rare but my friend told me there is Manuka has such a PhysBone so I added this feature.
- Dropping GameObject to PrefabSafeSet adds the All components on the GameObject to the PrefabSafeSet
#960
- You can add all PhysBones on the GameObject by dropping the GameObject to the MergePhysBone component.
- MergeSkinnedMesh now warns if Root Bone or Anchor Override are not set
#963
- It will be error if read/write mesh is off in play mode again
#1018
- I found that we may not possible to read mesh with r/w mesh off mode in play mode with the Av3Emulator.
- Disabled AutoFreezeBlendShape for Skinned Mesh Renderers with Cloth component
#1029
- According to the report, making some polygons zero-size by AutoFreezeBlendShape will make initializing avatar extremely heavy.
- After a small discussion, we decided to not automatically optimize Skinned Mesh Renderers with Cloth component.
Removed
- Compatibility with VRCQuestTools v1.x
#847
- Please use VRCQuestTools v2.x, which has compatibility with AAO.
Fixed
v1.7.0-rc.4
Version 1.7.0-rc.4
Installer unitypackage for this version is here.
This is SNAPSHOT, not a stable release. make sure this may have many bugs.
Changed
- Disabled AutoFreezeBlendShape for Skinned Mesh Renderers with Cloth component
#1029
- According to the report, making some polygons zero-size by AutoFreezeBlendShape will make initializing avatar extremely heavy.
- After a small discussion, we decided to not automatically optimize Skinned Mesh Renderers with Cloth component.
Fixed
- Animating
m_Enabled
of Animator as a Behavior is broken#1028
- Since
Animator.property
become animating float animation property namedproperty
, - AAO must keep it as
Behavior.m_Enabled
instead ofAnimator.m_Enabled
but we were not.
- Since
v1.7.0-rc.3
Version 1.7.0-rc.3
Installer unitypackage for this version is here.
This is SNAPSHOT, not a stable release. make sure this may have many bugs.
v1.7.0-rc.2
Version 1.7.0-rc.2
Installer unitypackage for this version is here.
This is SNAPSHOT, not a stable release. make sure this may have many bugs.
Changed
- It will be error if read/write mesh is off in play mode again
#1018
- I found that we may not possible to read mesh with r/w mesh off mode in play mode with the Av3Emulator.
Fixed
v1.7.0-rc.1
Version 1.7.0-rc.1
Installer unitypackage for this version is here.
This is SNAPSHOT, not a stable release. make sure this may have many bugs.
v1.7.0-beta.7
v1.7.0-beta.6
Version 1.7.0-beta.6
Installer unitypackage for this version is here.
This is SNAPSHOT, not a stable release. make sure this may have many bugs.
Added
- Animations animating missing GameObject is removed
#994
- Since this update, animations that targeting GameObjects with post-AAO paths is no longer working.
- Please create animations that targeting GameObjects with pre-AAO paths.
- Remove Mesh by Mask
#998
- With this component, you can remove polygons with mask texture.
- You can use use mask for MeshDeleterWithTexture or alpha mask to remove polygons.
- Remove Empty SubMesh in Trace and Optimize
#1007
- This removes empty SubMeshes including becomes empty by optimization.
Fixed
dependency is not child of root
error if humanoid bone is moved to out of animator game object#995