Skip to content

Releases: d4rkc0d3r/d4rkAvatarOptimizer

d4rkpl4y3r Avatar Optimizer 3.9.2

20 Oct 16:54
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix shader analyzer not handling _fragment and other per pass suffixes for shader_feature pragmas.
  • Fix shader analyzer parsing ShaderLab case sensitive even though its not supposed to be. (more)

d4rkpl4y3r Avatar Optimizer 3.9.1

15 Oct 19:04
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix crash when the avatar has a skinned mesh with out of bounds bone indices. (more)

d4rkpl4y3r Avatar Optimizer 3.9.0

14 Oct 16:58
Compare
Choose a tag to compare

Add Repo to VCC

Features

  • Generated shaders and materials are now stripped of all properties that got baked into the shader.
    • This reduces avatar download and uncompressed size slightly.
  • Reduced the amount of shader variants generated when using Write Properties as Static Values.
    • Forward base passes don't generate variants without the LIGHTPROBE_SH keyword anymore.
    • Materials with render queue > 2500 don't generate any shadow related variants.

Changes

  • Generated shader names now have a hash suffix.
  • Keep MMD Blend Shapes is now MMD Compatibility and also prevents the first 3 fx layers to get merged or deleted. (more)
  • Rewrote handling of material property animations with WD ON while using Shader Toggles.
    • It now tracks which meshes are animated and put those into a mask in the material instead of checking for NaN values.
  • Automatically add the mesh of RealKissSystem to exclusions internally.

Bug Fixes

  • Copy the toggle Normalized Blend Values of direct blend trees. (more)
  • Fix FindAllPhysBoneDependencies not checking VRCConstraints or FinalIK components. (more)
  • Fix animation bindings of the base type Renderer not getting respected properly. (more)
  • Shader parser now handles ColorMask 0 passes with no code block correctly and throws a parse error for other non code block passes.
  • Fix optimizer not checking all the animator controllers in the avatar descriptor for some things.
  • Fix special animation layers not getting updated animation clips.
  • Layers with only a off animation no longer block default disabled meshes from using NaNimation. (more)
  • Fix IsAnimatableBinding not checking if the bindings type is a base type of the component types.

d4rkpl4y3r Avatar Optimizer 3.8.0

17 Aug 23:25
Compare
Choose a tag to compare

Add Repo to VCC

Features

  • Add support for VRChat constraints.
  • Add support for FinalIK components with the Delete Unused GameObjects option. (more)
  • Add support for material variants. (more)
  • Add support for global Packages include paths for local packages.
  • Add support for prefab variants. (more)

Changes

  • Changed default settings to match the Basic preset.
  • Optimize on Upload is now called Apply on Upload.
  • Generated shader include files now have more readable names than just hashes.

Since v3.7.0

Features

  • Strip Meta pass from shaders that have it.

Changes

  • Moved the code to ensure texture samplers exist at the end of the fragment instead of the beginning.
    • This improves performance with poi fur.
  • Shaders that don't end in .shader or .orlshader are now explicitly marked as not supported.
  • Removing unused bindings from clips only checks for specific property existence for Renderer bindings. All other types just check if the component exists for now.

Bug Fixes

  • Fix viseme blendshapes and eyelid blendshapes sometimes not getting reassigned correctly if they aren't on a mesh named Body.
  • Fix crash with missing scripts on the avatar.
  • Fix the hardcoded _VirtualLens_Root exclusion not working for the Delete Unused GameObjects option.
  • Fix shader optimizer not handling shaders correctly that declare _LightColor0 or _SpecColor manually instead of using the unity include. (more)
  • Fix shader analyzer not parsing default values for function parameters. (more)
  • Fix Merge Same Dimension Textures merging textures with different filter or wrap settings.
  • Fix Delete Unused GameObjects not marking the phys bone root as moving when it has multiple children that are all but one ignored.
  • Fix RenderersHaveSameAnimationCurves only checking if the keyframe values match and ignoring the keyframe times.
  • Fix removing unused animation clip bindings not respecting the Exclusions list.

d4rkpl4y3r Avatar Optimizer 3.7.4

02 Aug 14:08
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix viseme blendshapes and eyelid blendshapes sometimes not getting reassigned correctly if they aren't on a mesh named Body.
  • Fix crash with missing scripts on the avatar.

d4rkpl4y3r Avatar Optimizer 3.7.3

19 Jul 14:27
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix the hardcoded _VirtualLens_Root exclusion not working for the Delete Unused GameObjects option.
  • Fix shader optimizer not handling shaders correctly that declare _LightColor0 or _SpecColor manually instead of using the unity include. (more)

d4rkpl4y3r Avatar Optimizer 3.7.2

21 Jun 19:23
Compare
Choose a tag to compare

Add Repo to VCC

Features

  • Strip Meta pass from shaders that have it.

Changes

  • Moved the code to ensure texture samplers exist at the end of the fragment instead of the beginning.
    • This improves performance with poi fur.
  • Shaders that don't end in .shader or .orlshader are now explicitly marked as not supported.

Bug Fixes

  • Fix shader analyzer not parsing default values for function parameters. (more)
  • Fix Merge Same Dimension Textures merging textures with different filter or wrap settings.
  • Fix Delete Unused GameObjects not marking the phys bone root as moving when it has multiple children that are all but one ignored.

d4rkpl4y3r Avatar Optimizer 3.7.1

17 Jun 15:51
Compare
Choose a tag to compare

Add Repo to VCC

Changes

  • Removing unused bindings from clips only checks for specific property existence for Renderer bindings. All other types just check if the component exists for now.

Bug Fixes

  • Fix RenderersHaveSameAnimationCurves only checking if the keyframe values match and ignoring the keyframe times.
  • Fix removing unused animation clip bindings not respecting the Exclusions list.

d4rkpl4y3r Avatar Optimizer 3.7.0

05 Jun 19:27
Compare
Choose a tag to compare

Add Repo to VCC

Features

  • Add global setting MotionTimeApproximationSampleCount to adjust the amount of samples used for the motion time approximation.

Bug Fixes

  • Fix texture merging default value parsing not working.
  • Fix global includes with leading slash like /Assets/... not working. (more)
  • Fix texture tile and offset values being wrong when materials get merged with different values.
  • Only apply the rescaling of bones during mesh combining to bones that have scale animations. (more)

Since v3.6.0

Changes

  • Delete Unused GameObjects prepends the name of the deleted GameObject to the name of its children.

Bug Fixes

  • Fix crash when the root Animator component has no avatar assigned to it. (more)
  • Fix fx layer 0 getting deleted when it has states or will be the only layer. (more)
  • Fix mesh combining bone scale fix not normalizing the scale of all the parents of the bones during bake.
  • Fix scaled bones not getting treated as "moving" bone when combining meshes.
  • Automatically add _VirtualLens_Root to exclusions so it doesn't break when running the optimizer.
  • Fix shader optimizer breaking on shaders that have no Properties block.
  • Change generated animations to use EditorCurveBinding.FloatCurve instead of EditorCurveBinding.DiscreteCurve. (more)
    • This fixes issues with GoGoLoco & NaNimation keep default enabled state in unity 2022.3.22f1.
  • Fix mesh combining breaking when bones are scaled down by default.
  • Fix bounding box of mesh combining being off when the root transform is not at the origin.
  • Fix ShaderAnalyzer not inline including absolute paths that start with Assets/.
  • Fix empty Properties block not getting parsed correctly.
  • Fix #pragma shader_feature only getting replaced by defining the keywords instead of defining them as a true value.
  • Fix always disabled ParticleSystemRenderers getting deleted when Delete Unused Components is enabled. (more)
    • Somehow the ParticleSystemRenderer component is important for the particle system to work even if it is disabled. Maybe something about sub emitters? idk
  • Fix VRCAnimatorPlayAudio not getting its source path adjusted when using Delete Unused GameObjects. (more)

d4rkpl4y3r Avatar Optimizer 3.6.4

25 May 20:16
Compare
Choose a tag to compare

Add Repo to VCC

Bug Fixes

  • Fix crash when the root Animator component has no avatar assigned to it. (more)
  • Fix fx layer 0 getting deleted when it has states or will be the only layer. (more)