Collision Objects
Overview
Collision objects are external meshes which are not modified by Lucid simulation but do interact with objects that are inside the simulation. For example, a ground onto which a ball falls, or an animated character mesh which wears a cloth simulated by Lucid are collision objects. Other examples may include walls, terrain, and animated moving parts which are independent of Lucid.
There are two types of collision objects in Lucid: static and animated.- Static collision objects do not move over time, they are always still. These can be, for example, a floor, earth, a building, or a wall.
- Animated collision objects can move over time due to key-frame animation in 3dsmax. For example, these can be an animated character, or a door opening.
The global sandbox
To preserve the stability of simulation every scene has a default global "sandbox" volume. If any of the simulated particles try to venture beyond its limits they will be stopped by this volume. The default size of this object is 10,000 scene units.
If you create a sandbox collider object described below, it will override the default sandbox volume. Therefore, you can increase or decrease the size of the overall simulation scene by defining your own sandbox collider.
Static collision objects
Sandbox collider
There is a special collision object in Lucid which is very robust during simulation. It defines a box inside which all of the simulation must happen and does not allow objects to escape this box. We call this type of a collider a "sandbox".
To create a sandbox collider first create a Box object inside 3dsmax, then add a Normal modifier above it, then add Lucid Modifier above and set the type to be "Collision". In this case the box will become the sandbox. There can only be one sandbox in the scene at a time.
Static mesh collider
Any mesh within the scene can be used for static collisions. To make the mesh a static collider in Lucid simulations you need to add a Lucid modifier to it and set the Material Type parameter to static.
A quick way to make a mesh inside 3dsmax a static collider is to select it and use the Static Collision preset in the Lucid toolbar.
Animated collision objects
Convex collider
If you have a mesh which is not deforming over time but instead is animated to move and rotate inside the scene using convex collisions is the best strategy. If your mesh is not convex then Lucid can use a segmentation algorithm to break it down into a set of convex meshes internally. Otherwise, using the default settings, the mesh will be converted to a convex hull at the beginning of the simulation. Meshes can have key-frame animated transformation.
To add a convex collider add Lucid modifier to your object and set its material type to Convex. Alternatively, use the Animated Collision preset button inside the Lucid toolbar to make selected scene objects convex colliders.
Convex mesh segmentation (Begin at 6:45) |
Signed distance fields (SDF)
- Only way to collide with deforming meshes
- Can be used for non-deforming meshes too
- Can slows down simulation significantly
Image courtesy of Mads Drøschler
If you have a mesh which is deforming over time (its vertices are animated through skinning, for example) Signed Distance Field is the only way to make them part of the simulation. Add a Lucid modifier on top of the animated mesh's modifier stack and set the material type to SDF. There are a number of parameters you can control to improve the precision of collisions generated this way.
Deforming collision objects (Begin at 4:30) |
Alternatively you can use this approach for deforming collision geometry:
- Collapse all of the deforming meshes into a single object
- Use point cache to add animation to the collapsed objects
- Use the Lucid modifier with SDF material type on the collapsed object
Image courtesy of Mads Drøschler