Releases: d4rkc0d3r/d4rkAvatarOptimizer
Releases · d4rkc0d3r/d4rkAvatarOptimizer
d4rkpl4y3r Avatar Optimizer 3.9.2
Add Repo to VCC
Bug Fixes
- Fix shader analyzer not handling
_fragment
and other per pass suffixes forshader_feature
pragmas. - Fix shader analyzer parsing ShaderLab case sensitive even though its not supposed to be. (more)
d4rkpl4y3r Avatar Optimizer 3.9.1
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
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.
- Forward base passes don't generate variants without the
Changes
- Generated shader names now have a hash suffix.
Keep MMD Blend Shapes
is nowMMD 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
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 calledApply 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 theDelete 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
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
Add Repo to VCC
Bug Fixes
- Fix the hardcoded
_VirtualLens_Root
exclusion not working for theDelete 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
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
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
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 ofEditorCurveBinding.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 usingDelete Unused GameObjects
. (more)