Loic.keenanwoodall.Deform 1.0.0

dotnet add package Loic.keenanwoodall.Deform --version 1.0.0                
NuGet\Install-Package Loic.keenanwoodall.Deform -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Loic.keenanwoodall.Deform" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Loic.keenanwoodall.Deform --version 1.0.0                
#r "nuget: Loic.keenanwoodall.Deform, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Loic.keenanwoodall.Deform as a Cake Addin
#addin nuget:?package=Loic.keenanwoodall.Deform&version=1.0.0

// Install Loic.keenanwoodall.Deform as a Cake Tool
#tool nuget:?package=Loic.keenanwoodall.Deform&version=1.0.0                

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!</br> ๐Ÿงถ Fully multi-threaded!</br> โญ 40+ deformers!</br> ๐Ÿ’พ Meshes can be saved!</br> ๐Ÿ”ง Easily extendable!</br> ๐ŸŒ Works in worldspace!</br> ๐ŸŽจ Custom editors and handles!</br>

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:</br>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:<br> email | twitter | website <br>Feel free to reach out about anything!

If you like Deform, please consider donating!

Donate Donate Itch

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 0 7/31/2021