Releases: d4rkc0d3r/d4rkAvatarOptimizer
Releases · d4rkc0d3r/d4rkAvatarOptimizer
d4rkpl4y3r Avatar Optimizer 3.4.0
Add Repo to VCC
Features
- Improved support for poiyomi shaders to better match the lock in logic.
- Add support for
//ifex
parsing which is important for poi 9.0 as it is used to skip entire passes. - Add support for
#if defined(PROP_Texture) || !defined(OPTIMIZER_ENABLED)
macros to skip unused texture properties.
- Add support for
- Massive performance improvements for the perf rank change preview.
- My personal avatar went from 450ms to 35ms. (
AnimatorController.layers
is slow and you should cache it)
- My personal avatar went from 450ms to 35ms. (
Changes
- Always merge other meshes into the mesh
Body
if it exists. (more) - Add property filter for the shader analyzer debugger.
Auto Refresh Preview Timeout
now ignores the first time it is over the threshold.- This is because the first time the preview is calculated it takes longer than usual.
Bug Fixes
- Fix material property animation of the original property not getting the correct
material.
prefix. - Don't duplicate shader functions with a
Texture2DArray
parameter. - Fix detection of cull ShaderLab property and disable merge with off when there is more than one cull property.
- Fix crash when a MeshRenderer has no MeshFilter on the same GameObject. (more)
Since v3.3.0
Bug Fixes
- Fix
Delete Unused GameObjects
not marking the global phys bone collider transforms as used. - Fix sort order of which mesh should get priority for getting merged into.
- Fix WD ON workflow toggles not stopping NaNimation when
Optimize FX Layer
is disabled. - Fix NaNimation getting blocked by WD ON workflow even for meshes that are on by default.
- Don't normalize normals & tangents when merging meshes. This fixes outlines that are dependent on the normal length to determine mesh scale.
- Clamp blendshape value to 0-100 when baking the blendshape to match in-game blendshape clamping.
- Fix crash when no fxlayer is present.
- Fix non shader or NaNimation toggles getting broken.
- Fix it not working in unity 2019
d4rkpl4y3r Avatar Optimizer 3.3.4
Add Repo to VCC
Bug Fixes
- Fix
Delete Unused GameObjects
not marking the global phys bone collider transforms as used. - Fix sort order of which mesh should get priority for getting merged into.
- Fix WD ON workflow toggles not stopping NaNimation when
Optimize FX Layer
is disabled. - Fix NaNimation getting blocked by WD ON workflow even for meshes that are on by default.
d4rkpl4y3r Avatar Optimizer 3.3.3
Add Repo to VCC
Bug Fixes
- Don't normalize normals & tangents when merging meshes. This fixes outlines that are dependent on the normal length to determine mesh scale.
- Clamp blendshape value to 0-100 when baking the blendshape to match in-game blendshape clamping.
d4rkpl4y3r Avatar Optimizer 3.3.2
Add Repo to VCC
Bug Fixes
- Fix crash when no fxlayer is present.
- Fix non shader or NaNimation toggles getting broken.
d4rkpl4y3r Avatar Optimizer 3.3.1
Hotfix for Unity 2019
Add Repo to VCC
Features
- Add new way to toggle merged meshes
NaNimation
.- This allows merging meshes that have shaders that don't support shader toggles.
- Add sub option
Keep Default Enabled State
which only merges meshes that have the same default enabled state. - Add sub option
Allow 3 Bone Skinning
which allows NaNimation on all meshes by reducing the skinning quality on meshes that use 4 bone weights.
- Add sub option
Merge MainTex
that decides whether the_MainTex
property is allowed to be merged into a texture array. (more)
Changes
- No longer put the dummy animation clip in empty states. (more)
- Add debug list
Mesh Bone Weight Stats
. - Add debug list and validation info for when some meshes can't use NaNimation because of missing on or off animations.
- Collapsed some info boxes regarding materials that can't merge into one info box.
- The UI is now disabled when in play mode. This saves performance when testing with av3 emulator without running the optimizer.
- Requires ORL shader generator 6.2 or newer for faster shader parsing of .orlshader files.
- Mesh only uses 1 or 2 bone weight skinning if none of the vertices need more than that. Was always 4 bone weights before.
- Slightly increase the size of the performance rank change icons.
- Minor performance improvements:
- Calculating if materials can merge is faster which speeds up the preview.
- Merging skinned mesh data is faster by pre allocating list capacity and skipping uv sets that don't exist.
Bug Fixes
- Fix crash when a material name has slashes or other characters that are not allowed in file names.
- Fix crash in 2022 when an extra animator is not humanoid or doesn't have an avatar definition. (more)
- Fix macro to declare
tex##_ST
not being detected as a custom texture property declaration macro. - Fix log spam in 2022 from vector array properties also setting as a float value.
- Fix material property animations on MeshRenderer components that get combined into a SkinnedMeshRenderer still being bound to the MeshRenderer type.
- Fix basic merged mesh blobs also trying to use
Use Shader Toggles
when it is enabled but the shaders don't support it. (more) - Fix non triangle topology meshes not working when merged.
- Fix
Merge Same Ratio Blend Shapes
not working correctly if some ratios had 0 values in them. - Fix crash with Skinned Mesh Renderers that have no mesh assigned to them. (more)
- Fix VRCFury check only checking the root game object and not all children. (more)
Since v3.2.0
Bug Fixes
- Fix phys bone dependency check only checking the moved transforms and not all children. (more)
- Fix ignored transform in phys bone not being marked as moving despite it being possible thanks to stretch & squish.
- Fix delete unused game objects not registering phys bone ignore transforms as used. (more)
- Fix crash when a static mesh has a missing material and
Write Properties as Static Values
is enabled. (more)
d4rkpl4y3r Avatar Optimizer 3.3.0
Add Repo to VCC
Features
- Add new way to toggle merged meshes
NaNimation
.- This allows merging meshes that have shaders that don't support shader toggles.
- Add sub option
Keep Default Enabled State
which only merges meshes that have the same default enabled state. - Add sub option
Allow 3 Bone Skinning
which allows NaNimation on all meshes by reducing the skinning quality on meshes that use 4 bone weights.
- Add sub option
Merge MainTex
that decides whether the_MainTex
property is allowed to be merged into a texture array. (more)
Changes
- No longer put the dummy animation clip in empty states. (more)
- Add debug list
Mesh Bone Weight Stats
. - Add debug list and validation info for when some meshes can't use NaNimation because of missing on or off animations.
- Collapsed some info boxes regarding materials that can't merge into one info box.
- The UI is now disabled when in play mode. This saves performance when testing with av3 emulator without running the optimizer.
- Requires ORL shader generator 6.2 or newer for faster shader parsing of .orlshader files.
- Mesh only uses 1 or 2 bone weight skinning if none of the vertices need more than that. Was always 4 bone weights before.
- Slightly increase the size of the performance rank change icons.
- Minor performance improvements:
- Calculating if materials can merge is faster which speeds up the preview.
- Merging skinned mesh data is faster by pre allocating list capacity and skipping uv sets that don't exist.
Bug Fixes
- Fix crash when a material name has slashes or other characters that are not allowed in file names.
- Fix crash in 2022 when an extra animator is not humanoid or doesn't have an avatar definition. (more)
- Fix macro to declare
tex##_ST
not being detected as a custom texture property declaration macro. - Fix log spam in 2022 from vector array properties also setting as a float value.
- Fix material property animations on MeshRenderer components that get combined into a SkinnedMeshRenderer still being bound to the MeshRenderer type.
- Fix basic merged mesh blobs also trying to use
Use Shader Toggles
when it is enabled but the shaders don't support it. (more) - Fix non triangle topology meshes not working when merged.
- Fix
Merge Same Ratio Blend Shapes
not working correctly if some ratios had 0 values in them. - Fix crash with Skinned Mesh Renderers that have no mesh assigned to them. (more)
- Fix VRCFury check only checking the root game object and not all children. (more)
Since v3.2.0
Bug Fixes
- Fix phys bone dependency check only checking the moved transforms and not all children. (more)
- Fix ignored transform in phys bone not being marked as moving despite it being possible thanks to stretch & squish.
- Fix delete unused game objects not registering phys bone ignore transforms as used. (more)
- Fix crash when a static mesh has a missing material and
Write Properties as Static Values
is enabled. (more)
d4rkpl4y3r Avatar Optimizer 3.2.2
Add Repo to VCC
Bug Fixes
- Fix phys bone dependency check only checking the moved transforms and not all children. (more)
- Fix ignored transform in phys bone not being marked as moving despite it being possible thanks to stretch & squish.
- Fix delete unused game objects not registering phys bone ignore transforms as used. (more)
d4rkpl4y3r Avatar Optimizer 3.2.1
Add Repo to VCC
Bug Fixes
- Fix crash when a static mesh has a missing material and
Write Properties as Static Values
is enabled. (more)
d4rkpl4y3r Avatar Optimizer 3.2.0
Add Repo to VCC
Changes
- Remove option
Merge Regardless of Blend Shapes
. It is now always enabled because VRChat now uses unity 2022. - Add debug info for blendshapes that get merged together.
Bug Fixes
- Fix warning spam in console if a material has Hidden/InternalErrorShader assigned to it.
Since v3.1.0
Bug Fixes
- Fix jaw flap bone not marked as moving transform. (more)
- Fix crash when the FX controller has a layer with two states and only one transition with zero conditions. (more)
- Fix crash when something from the exclusion list gets deleted before the optimizer runs or is marked as editor only. (more)
- Fix UI crash when the avatar has a missing script component on the avatar root.
- Fix crash when the avatar uses empty clips with WD ON toggles. (more)
- Fix FX Layer detection for non humanoid rigs. (more)
- Hard code that lilToon shaders are not supported as some of them don't get caught by the automated parsing.