Skip to content

Releases: d4rkc0d3r/d4rkAvatarOptimizer

d4rkpl4y3r Avatar Optimizer 3.4.0

16 Feb 19:13
Compare
Choose a tag to compare

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.
  • 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)

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

22 Jan 18:50
Compare
Choose a tag to compare

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

17 Jan 16:32
Compare
Choose a tag to compare

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

09 Jan 16:32
Compare
Choose a tag to compare

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

06 Jan 22:34
Compare
Choose a tag to compare

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

06 Jan 22:13
Compare
Choose a tag to compare

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

06 Nov 16:37
Compare
Choose a tag to compare

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

29 Oct 18:15
Compare
Choose a tag to compare

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

27 Oct 16:14
Compare
Choose a tag to compare

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.

Changes

  • When the UI takes longer than 500ms (default value, can be changed in settings) it will disable the auto refresh of the preview and instead shows a manual button to refresh the preview. (more)
  • Toggling foldouts no longer refreshes the preview. (more)

d4rkpl4y3r Avatar Optimizer 3.1.4

12 Oct 15:05
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix jaw flap bone not marked as moving transform. (more)