• Stars
    star
    3,105
  • Rank 14,482 (Top 0.3 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Header

Unity Version GitHub PRs Welcome openupm

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.

Also available 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!

Documentation

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. Read more here.

I'm getting an error about read/write permissions. How do I fix it?

This means you have a Deformable component on a mesh that doesn't have read/write permissions enabled. The offending Deformable component should have a "Fix It" button in the inspector that will change the import settings, but on older versions of Deform you'll have to select the offending mesh in your Project window and enable Read/Write permissions in its import settings manually.

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.

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. This means that, unless dynamically batched (which comes with its own performance costs), 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

Additional massive thanks to the following contributors for helping develop Deform into the best tool it can be:
sabresaurus, Brullworfel, favoyang, and HitCache

I love seeing creative and cool uses of this tool. If you make something you're proud of I'd be honored if you showed it to me!

You can find me on the interwebs at these addresses:
email | twitter | website
Feel free to reach out about anything!

If you like Deform, please consider donating!

Donate Donate Itch

More Repositories

1

Deform-Prototype

A prototyped framework for deforming meshes in the editor and at runtime in Unity. Not in development anymore, but it's still pretty awesome!
C#
284
star
2

Grapple-Effect

An example of a simple grapple effect in Unity
C#
264
star
3

Piranha

A very simple tool to make rigidbodies swarm a mesh in Unity.
C#
246
star
4

ExtendedTransformEditor

A clutterless custom Transform editor for Unity
C#
127
star
5

SimpleSquashAndStretchMovement2D

In Unity
C#
100
star
6

MeshModifiers

Don't use this - use Deform instead! Its way better!
C#
48
star
7

Coroutween

A ๐Ÿ’ฉ tweening library for Unity
C#
43
star
8

JobSystemRaymarching

Raymarching in Unity using the job system
C#
36
star
9

PerlinField

Creates a grid of objects and moves them up and down via perlin noise.
C#
30
star
10

noisevis

i wanted to more easily visualize what the various noise functions do in the Mathematics.noise class
C#
30
star
11

Cloner-Prototype

A quick attempt at recreating the cloner functionality from Cinema 4D in Unity
C#
29
star
12

Sinemation

First pass at completely procedurally animating a humanoid.
C#
27
star
13

SimpleFlowfield

A first pass at a flowfield
C#
26
star
14

EditorGenerator

A tool that generates custom editors in Unity
C#
22
star
15

ExtrudedGameOfLife

Conways Game of Life but each frame is stacked on top of the previous one. Made in Unity
C#
22
star
16

Sketch

Processing-like API for Unity. Built on top of the Shapes vector graphics library
C#
21
star
17

VertexPointCloud

Renders instanced meshes on each vertice of another mesh. Can move along normal, scale etc
ShaderLab
18
star
18

ShapesDoodles

Sketches done with the Shapes library
C#
17
star
19

EndlessShooter

C#
15
star
20

Comment

Add comments to the inspector via a Comment attribute or component
C#
12
star
21

EasyIsosurface

Made this a long time ago and figured I'd throw it on the hub. It's not extremely fast and the base mesh generation is from a tutorial but I got it to work in the editor and added support for generic extensions which I tested by adding noise and splines.
C#
11
star
22

asterboids

Simple space shooter with boid-like enemies. Made with Odin + Raylib
Odin
10
star
23

CellularAutomata3D

Quick cellular automata implementation that isn't optimized in any way whatsoever and was made in an hour.
C#
4
star
24

ld51

C#
3
star
25

With

Adds "With" extension methods to Unity value types to make composing new values easy.
C#
2
star
26

keenanwoodall.com

HTML
1
star