Introduction to the Deform SDK

The Deform SDK offers tools for creating compelling 3D animations of deformable objects in real-time. The underlying physics engine is written in C++ and CUDA C. It exploits the parallel computational capabilities of the multi-core CPU and the multithreaded GPU to achieve exceptional performance and scalability, while producing accurate and reliable animations. In this document, we will explain how to install and use the Deform SDK.

A clothed character simulated using the Deform SDK, and rendered using Cycles.

Benchmarks

The following benchmarks show the performance characteristics that can be expected from using the Deform SDK. The benchmarks were run on an Alienware 15 laptop equipped with an Intel i7 7820HK (CPU) and an Nvidia GTX 1070 (GPU).

Hanging cloth

10000 vertices

19602 triangles

29601 distance constraints

29205 bending constraints

Self-collision enabled

Simulation time per frame:

Note that the vertical axis in the above chart is logarithmic.



Average relative error per frame:

Multi-layered dress on animated character

24151 vertices

47509 triangles

71662 distance constraints

70733 bending constraints

Self-collision enabled

Simulation time per frame:

Note that the vertical axis in the above chart is logarithmic.



Average relative error per frame:

Limitations

Using the library

To quickly get started using the library, please read Installation and Getting started.

Deform client

Included in the Deform SDK is the Deform client, which acts as an example of how to use the Deform SDK in a Windows application. To try it out, run deform_client.exe in the main directory to launch the executable. Once the application has started, use the controls shown in the upper left part of the window to walk through the predefined demos, and use the mouse and keyboard to interact with the virtual cloth.

Unity plugin

A Unity plugin using the Deform SDK has been developed. For more information about this plugin, contact support@deformdynamics.com.

Theoretical background

To learn about the theoretical background behind the library, we recommend that you read:

Vivace: a Practical Gauss-Seidel Method for Stable Soft Body Dynamics

Marco Fratarcangeli, Valentina Tibaldo, Fabio Pellacini
ACM Transactions on Graphics (SIGGRAPH Asia), 2016

Release notes

2019-04-18

[Engine]

- The collision detection system has been improved and there are no longer crashes when two portions of the clothes are distant from each other.

- Improved friction model. All colliders now have functioning static and kinetic friction parameters. Friction can also be set per cloth particle.

- Increased general performance by removing unnecessary copying of data. Added functionality to automatically remesh mesh colliders.

[Client]

- Added combobox to the GUI for selecting a specific scene.

- Switched to Phong shaders.

[Demos]

- Added an array of character demos.

- Added a demo for priority sewing (priority_sewing.h)

[Documentation]

- Added information about how to integrate the Deform SDK in an application.

- Split Guide page into Tutorials and Concepts.

- Added new tutorials.

2019-02-04

[Engine]

- Improved the performance by preventing copying of data from the GPU to the CPU

[Client]

- Added an FBX importer/exporter

- Added functionality for the user to add an external mesh to the renderer

- The renderer is now an input parameter to Demo::Init and Demo::Update

[Demos]

- Added a demo for importing FBX-files (fbx_import.h)

- Added a demo for exporting FBX-files (fbx_export.h)

- Divided the mesh collider demo into three: collider_mesh_character.h, collider_mesh_bathtub.h, collider_mesh_armchair.h

[Documentation]

- Added release notes

- Added two new examples in Guide

Third-party software

This software contains Autodesk® FBX® code developed by Autodesk, Inc. Copyright 2019 Autodesk, Inc. All rights, reserved. Such code is provided "as is" and Autodesk, Inc. disclaims any and all warranties, whether express or implied, including without limitation the implied warranties of merchantability, fitness for a particular purpose or non-infringement of third party rights. In no event shall Autodesk, Inc. be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of such code.