Home Tour

Shroud was made to bring dynamic cloth physics to every platform


The Shroud Simulation Engine is fast. We’ve taken the methods for simulating the physics of cloth and turned them on their heads, creating the kind of code that modern processors are very good at running. Heavy SIMD use, efficient memory access, and fully exploited instruction and data parallelism have allowed Shroud’s raw performance to exceed that of other solutions. And with a design targeted towards multi-core processing environments, you’ll find that the effects you’ve been wanting are within your performance budget.

Shroud is built using a modular architecture where everything is self-contained ‘controls’ that you can mix and match. This includes constraints, forces, collision detection, and even conversions from the physics data to render-ready data. Need to make a very simple cloth rig? Remove all the extra stuff to improve performance and save memory. Making something more complicated? Add in the pieces you need, rearrange their order, and tweak their settings to get the effect you want. Predefined templates for commonly used rigs create combinations of controls with appropriate default settings with a single click.

Cloth and more

Because you can swap the different pieces of the simulation in and out yet still have them all work together, Shroud is capable of simulating more than just cloth. For example, its possible to simulate strand-like objects such as hair, grass, and vines, but still leverage all the functionality and performance benefits of the underlying engine.

Focus on Iteration

Don’t you hate it when you have to re-export your data to see the effect that your changes have on how something looks or moves? We do too. That’s why we’ve developed Shroud Studio, a powerful authoring environment to make content for use with Shroud that lets you see your changes right away: no saving, no copying, just push the ‘Preview’ button and immediately see your results as they will look in your game. You can also interact with your simulation while its running, to see how it will hold up in difficult situations.

Streamlined for Cloth

Hanging flags and curtains around your environments is one thing, but adding cloth to characters is a much more difficult task. The functionality we’ve built into Shroud Studio is designed to simplify the process of setting up your cloth rig and attaching it to your characters. After all, you’re not interested in spending your whole production just making cloth; you want it done and in-game.

Content Compatibility

Shroud Studio works within your current production pipeline by allowing you to import your models and animations from FBX or Collada files from major Autodesk DCC tools like 3ds Max, Maya, and Motion Builder. Shroud Studio uses the powerful Ogre 3D open source rendering engine, and you can view your imported models and the cloth using your own shaders.

No Surprises

Since the simulation code, the models, and the animations you use to test with at authoring time are the same as the ones in the game, you won’t be caught off-guard by unexpected results.

Use your own subsystems

Users have the option to hook Shroud into existing subsystems within their game engine, allowing for a smoother and more consistent development environment. Shroud can make use of your existing:
– Memory Manager, so that you know how much memory it is using
– Thread Manager, so that Shroud update jobs can be scheduled to run whenever and wherever you want them to
– Profiler, so you can get an accurate understanding of where your performance costs are
-Warning Message System, so that you route warning messages from Shroud to the most convenient place to view them, be it TTY, a log file, or on-screen

Works with your existing animation and rigid-body physics systems

When integrating Shroud into your game engine its easy to add support for interaction with your animation or rigid-body physics (RBP) system. Once you’ve loaded a Shroud file you can create a binding between your character’s skeleton or physics objects and their representations in the file, allowing you to use the same cloth rig for different characters. And by adding the Shroud simulation’s dynamically calculated bounding box to your collision detection system, you can dynamically add and remove collision objects as they enter and leave the volume that the simulation occupies.

Content Baking

Files saved from Shroud Studio can be loaded and run by the Shroud runtime as-is to make iteration quick and easy during development. Shroud also includes a command-line application for use in your content baking pipeline. This program will reduce a Shroud file or batch of files to their smallest size in preparation for shipping your game or performing platform-specific data optimizations.

We understand that keeping your game’s performance and memory budgets under control is a constant battle. When content is added to your game that puts it over-budget, tracking down the offending asset and replacing it can cause production delays and headaches for the whole team.  That’s why we’ve built performance and memory profilers right into Shroud Studio. Now content creators can see the effect that each change they make will have on the simulation’s memory and processing requirements. Content that would overrun its budget can be found and fixed before it even becomes a problem.