Skip to content

d4rkpl4y3r Avatar Optimizer 1.10

Compare
Choose a tag to compare
@d4rkc0d3r d4rkc0d3r released this 22 Feb 18:05
· 393 commits to main since this release

Features

  • Add debug view to show all animated material property paths.
  • Several small improvements to the generated shaders and mesh layouts reducing the amount of VRAM used by the optimized avatar.

Changes

  • Show original mesh paths in the _IsActiveMesh properties of merged materials.
  • Don't inject animated property arrays for merged material properties where none of the original meshes had that property animated.
  • Calculate min and max mesh id for each merged material and only add animated property arrays for that range.
  • Only add the animated property based on the used mesh indices for the merged material.
  • Interleave animated property arrays in cbuffer to reduce the required cbuffer size.
  • Pack original meshID & materialID into uv0.z instead of having them separate in uv0.z & uv0.w. Miniscule VRAM savings. (more)
  • Call Mesh.Optimize() on the merged mesh to reduce the amount of memory it takes up. (more)

Bug Fixes

  • Delete shader properties that start with _ShaderOptimizer from the optimized shader. This is to prevent Kaj shader optimizer from trying to optimize the shader again.
  • Fix RemoveIllegalComponents() being broken when the sdk was imported via VCC.
  • Change signaling value to NaN. This fixes animated properties interpolating the signal value weirdly.
  • Create optimized swap materials after merging materials instead of before so that Texture2DArray and animated properties are correctly set.
  • Deduplicate optimized swap materials with the optimized material that is already in the mesh renderer.
  • Fix vertex shader not passing along mesh id to the geometry shader if the mesh id is disabled.