Skip to content

ctxdegithub/Deform

 
 

Repository files navigation

Header

Unity Version GitHub PRs Welcome

Twitter Discord

A fully-featured deformer system for Unity. Deform is multi-threaded with the Job System, compiled with Burst and calculations are done using the Mathematics library.

Now available for download on the Asset Store.

Features

✔️ Lightning fast!
✔️ Fully multi-threaded!
✔️ 40+ deformers!
✔️ Meshes can be saved!
✔️ Easily extendable!
✔️ Works in worldspace!
✔️ Custom editors and handles!

FAQ

Does Deform work with the new prefab system?

Yes. Deform works seamlessly with nested prefabs and prefab variants.

Are skinned mesh renderers supported?

Yes. However because of how Unity handles skinned mesh renderers; the mesh cannot be modified after its bones are animated. This means that animations to the skinned mesh renderer are applied after Deform modifies the mesh; which is often not the desired effect.

Do deformers have to be on the object they are deforming?

No. Because deformables require deformers be added manually, they can be anywhere in the scene and on any game object.

Can deformables share deformers?

Yes. You can create a single deformer and add it to multiple deformables.

How do deformables handle instancing?

Each deformable has it's own unique mesh. Duplicating and instantiating deformables shouldn't cause any issues.

Limitations

Deform runs on the CPU. While it is incredibly fast, you should not expect to get performance comparable to vertex shaders. Because meshes are modified on the CPU each mesh has to be unique. From what I understand, this means each mesh will require a new draw call. Deform is not meant to be used at a massive scale. If you need to deform an entire world, tons of meshes, or an incredibly high poly model use vertex shaders.

tldr: Use shaders if you need speed, use Deform if you need modularity and ease-of-use.

Acknowledgments

Authors Note

Thanks so much for checking out Deform! It's been my passion project since 2016 and has undergone 4 rewrites! For a long time I planned to charge money for this tool, but I've decided to release it for free for a few reasons:

  1. I'm self-taught and still quite young. I take pride in this, but it's made it hard to "get a foot in the door". I don't have a college to help me get an internship or a degree to vouch for my skill so I need to show my programming prowess by making badass projects. I could sell Deform but I see that as a short-term solution. My long-term goal is to make awesome tools for an awesome company. Making my projects free and open-source is the best way to get my code in the hands of a possible employer.
  2. I wouldn't have been able to make this tool if the game-dev community wasn't so supportive. I want to give back to the community in some way.
  3. Now that it's open-source other people can contribute to the project! I think Deform is awesome right now, but there's always room for improvement and I'm excited to see what cool stuff people want to add!

If you work at, or know an awesome studio that is looking for a developer, please reach out!

email | twitter | website

If you like Deform, please consider donating!

Donate Donate Itch


Example GIFs

About

A fully-featured deformer system for Unity.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%