Skip to content

Releases: d4rkc0d3r/d4rkAvatarOptimizer

d4rkpl4y3r Avatar Optimizer 3.5.3

04 Mar 14:27
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix BoxCollider animation bindings getting thrown away for the BoxCollider that gets implicitly added by VRCStation components. (more)

d4rkpl4y3r Avatar Optimizer 3.5.2

01 Mar 14:48
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix Texture2D_ST material property animations not working when using the Use Shader Toggles option.

d4rkpl4y3r Avatar Optimizer 3.5.1

29 Feb 21:31
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix root animator parameter animations getting removed as non animatable binding. (more)
  • Mark all bindings that reference a transform as animatable as long as the transform exists on the avatar.
    This is because there are more animatable bindings than the AnimationUtility tells us about. Thanks Haï~ for linking me to this.
  • Mark all material property animations as animatable when the target path is affected by any material swap animation.

d4rkpl4y3r Avatar Optimizer 3.5.0

28 Feb 23:52
Compare
Choose a tag to compare

Add Repo to VCC

Features

  • Add auto settings for Shader and NaNimation toggles that disable them if the avatar has more than 150k tris.
    • Also shows a warning if Shader or NaNimation toggles are enabled and the avatar has more than 150k tris.
  • Always remove animation curves which reference a binding that doesn't exist on the avatar.

Changes

  • Swap OnPreprocessTexture to OnPreprocessAsset to stop the optimizer from triggering a full project all texture reimport in unity 2022. (more)
    • This will trigger one last full texture reimport if you already used the optimizer in unity 2022 :(
  • Remove option Merge Cull Back with Cull Off, just set the culling of your materials to off if you want to merge them.
  • Reduced generated shader complexity handling material property animations:
    • When Shader or NaNimation toggles are enabled, it will still perform a basic merge of meshes that get animated in the same way.
    • When all meshes in a merged mesh blob have material properties animated in the same way, it will no longer split the properties into separated properties.
      This helps immensely when using global material adjustments like for example color, hue or brightness radials.

Bug Fixes

  • Fix materials getting merged even if they have different VRCFallback shaders set.
  • Fix copy of old material property animation when it is a color property.
  • Fix optimizer always injecting the animated property disambiguation code on merged material blobs that have at least one material that comes from the combined mesh path.
  • Don't generate default properties which have names that are invalid ShaderLab property names. (more)
  • Fix always disabled renderer components not getting deleted before mesh merging happens.

Since v3.4.0

Changes

  • Added BC6H & DXT1 compression to normal maps in the texture compression analyzer.

Bug Fixes

  • Fix mesh disappearing locally when NaNimation is enabled and the mesh has the Head or one of its children as the root bone.
  • Fix shaderlab Int parameters actually getting written as an int. "Obviously" they should be written as a float.

d4rkpl4y3r Avatar Optimizer 3.4.1

20 Feb 22:33
Compare
Choose a tag to compare

Add Repo to VCC

Changes

  • Added BC6H & DXT1 compression to normal maps in the texture compression analyzer.

Bug Fixes

  • Fix mesh disappearing locally when NaNimation is enabled and the mesh has the Head or one of its children as the root bone.
  • Fix shaderlab Int parameters actually getting written as an int. "Obviously" they should be written as a float.

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)