Deform Versions Save

A fully-featured deformer system for Unity that lets you stack effects to animate models in real-time

v1.2.1

2 years ago

Changes

  • Added new Lattice Deformer 👏
  • Added new Build Stripping setting for those who only need Deformables to run in edit-mode
  • Added better LOD Group support with a new Culling Mode for Deformables, which skips deformer calculations on invisible meshes
    • Now if you add a Deformable to an LOD Group, a popup will give you the option to make the children deformable, and create a group deformer for them to share
  • Added "Fix it!" button to Deformable inspector when the mesh does not have Read/Write permissions enabled (finally!)
  • Don't want to use the Creator window? Deformables and deformers can be created by right-clicking in the Hierarchy

Fixes

  • Fixed bug where elastic deformable only applied newly modified data
  • Fixed bug where elastic deformable would snap when initialized
  • Fixed noise deformers not scaling in worldspace correctly
  • Normals and bounds are not recalculated if vertices are undirtied
  • Default custom bounds are a 1m cube instead of an infinitely small point
  • Removed a couple GC goofs
  • Changed Deformable inspector to only queue editor loop updates when a property is changed

v1.1.1

3 years ago

Changes

  • Added menu items to make children deformable
  • Elastic deformable operates in worldspace
  • Optimized serialization bloat. The unique mesh generated by each deformable is not saved in the scene and gets recreated as needed.
  • Managed data is no longer used in Unity 2019.3 or newer since you can set mesh data directly from native collections
  • Added option to settings window to make imported meshes readable by default

Fixes

  • Deformable Manager isn't destroyed on load
  • Curve Displace deformer doesn't access the keys property anymore to prevent GC

v1.1.0

4 years ago

Changes

  • Added WIP "Bounded Bend Deformer" which limits bending within a bounding box
  • Added WIP "Elastic Deformable" which moves vertices towards their target positions on a spring instead of instantly
  • Added new "WIP" category for all the WIP deformers
  • Exposed original/dynamic mesh data
  • Removed unnecessary package.json files
  • Changed how the UpdateMode property behaves Setting it to "Auto" will register the Deformable with the default manager Setting it to "Stop" will complete current jobs and then reset the data Setting it to "Custom" will unregister it from the manager to allow you to update it yourself and then it will complete its current jobs
  • TransformDeformer implements IFactor

Fixes

  • Fixed bug where an error was thrown and deformers were not loaded into the Creator Window
  • Fixed issue where Deformables were undeformed on the first frame
  • Calling ChangeMesh on a Deformable completes the deformables jobs before changing the mesh

v1.0.4

4 years ago

Changes

  • Disabled mip-mapping on the default deformable texture.

Fixes

  • Fixed bug where data was not initialized correctly when normals were disabled in the mesh's import settings.

v1.0.3

4 years ago

Changes

  • Updated Burst dependency.
  • Documentation is stored in the wiki rather than in the repo.
  • Each script's help url in its context menu takes you to the script's page on the wiki (most don't have anything written yet tho)

Fixes

  • Fixed OBJ exporting bug where the mesh would be mirrored on the x-axis.
  • (Tentatively) Fixed OBJ serialization bug that prevented obj's from exporting in cultures that used a different decimal point character.
  • Repeater deformer draws nested editor for its deformer.
  • Inner bounds of Box Mask deformer cannot go beyond the outer bounds.
  • Fixed deformable stripping bug that crashed Unity
  • Melt deformer vertical noise is masked by its factor

v1.0.2

5 years ago

Changes

  • Created Recalculate Bounds and Recalculate Normals utility deformers.
  • Made all deformer's jobs public. They are self-contained and might be useful elsewhere.
  • Added AddDeformer and RemoveDeformer utility methods to Deformable and GroupDeformer so you can add/remove deformers without having to create a DeformerElement.
  • Added overload to DeformHandles.Curve that lets you specify a position, rotation and scale rather than passing a transform.
  • Decreased the horizontal margin of the Creator window buttons.
  • Default mesh has lightmapping uvs generated.
  • Added bug report menu item.
  • Deformer's check float equality directly. They now call Mathf.Approximately.
  • Added default case to switch statements.
  • Made sure all deformers use their properties rather than the backing fields.
  • Removed some unused GUIContents
  • Fixed spelling of encapsulate method in bounds struct.
  • Simplified mathx.pingpong.
  • Made editor's handle utility classes readonly.
  • Removed unnecessary text string from EditorGUILayoutx.FoldoutScope.
  • Renamed derivative noise jobs to _3D noise jobs.
  • Fixed name of squash and stretch job. It was called BulgeJob for some reason.
  • Fixed name of transform offset job, it was just called TransformJob.
  • Curve Scale deformer's curve handle doesn't scale vertically with its axis.

v1.0.1

5 years ago

Changes

  • Enums used in jobs are no longer backed by bytes
  • Added FAQ to README
  • Fixed UPM installation instructions
  • Changed default mesh from a .blend to a .fbx
  • Fixed default mesh file scaling
  • Default mesh uses default material
  • An alert box will be drawn in a deformable's editor if its mesh doesn't have read/write permissions enabled
  • MeshData tries to recover when it loses its reference to its original mesh
  • Updated Burst dependency to 1.0.0-preview.10
  • Fixed bend deformer editor's angle handle. It was not offset to start at the bottom handle's position

v1.0.0

5 years ago

Initial release