modo 501 image by Luxology
recoil

recoil

Rigid-body Dynamics Plug-in for modo 501

video by Luxology

Brad Peebler, president and co-founder of Luxology, introduces recoil, the Rigid-body Dynamics Plug-in for modo 501, developed by Eric Soulvie.

Simulating rigid body interactions in modo is easily handled with recoil™, a fully integrated dynamics simulation plug-in for modo 501 developed by Eric Soulvie. Utilizing the popular open-source Bullet Physics engine, recoil simplifies the setup and execution of complex physical simulations by combining robust collision detection with a variety of constraints, forces, and controls. By simply tagging any mesh item to be dynamic, it is ready to respond to forces like gravity or collisions from other objects in your modo scene. The recoil plug-in lets you quickly create incredibly complex animations of interacting objects that would be almost impossible to simulate manually. It is also useful for “stacking” up objects so that they rest against each other (see gumball image below).

modo video by Gelmi

modo 501 image by James Darknell

Purchase the recoil Plug-in for modo 501

How does recoil work?

The recoil plug-in is based on version 2.77 of the Bullet library. To use it, simply tag which items in your modo scene are going to be dynamic – this makes them ready to respond to natural forces when you press Play on the timeline. For more control, items in modo can be given “wake-up” conditions and an initial “impulse” behavior. A common wake-up event would be a collision, perhaps with an impulse behavior to jump up slightly and then respond to the force of gravity. Or you might choose to have some objects become dynamic only when they are triggered (e.g., reach a certain keyframe). You can create rigs in modo to establish more elaborate trigger conditions that invoke dynamic forces such as when two objects reach a certain distance from one another.

Dynamic behaviors can be combined with keyframe animation. For example, a swinging bat (keyframed manually) can start a simulation when it collides with a tower of wooden pins that then scatter and fall to the ground automatically.

recoil works with either “proxy” objects that approximate the shape of the item you are simulating, or with the actual mesh shape. For SubD’s, recoil can use either the cage geometry or the SubD surface for the collision shape. You can adjust parameters such as mass and density.

recoil user interface by Luxology

As a simulation is running in modo you can adjust parameters and see the effect.

recoil also works with a variety of constraints including plane, hinges, pin, slide, box and point. You can use constraints to connect your objects together – for example you would use a hinge to connect a car door to the car body so it can swing dynamically. Add a point constraint to a row of spheres and they will respond like a beaded necklace. You can also add springs and even motors to facilitate more complex behaviors like elastic coils, shock absorbers or self-propelled machines and gears. A rules-based constraint builder lets you create your combination of constraints that work in a certain order or along a particular direction. Feedback channels in recoil provide information such as how far a slide constraint has moved from its origin and control is provided for breaking (releasing constraints) after a certain break stress is encountered.

The resulting animations are astonishingly realistic and can optionally be baked out for immediate playback without re-computation. You can even use recoil to perform “time warping” effects like speeding up or slowing down a simulation – even during a camera move.

And in addition to animated simulations, recoil is also useful for stacking objects so that they come to a resting position naturally – like cubes of sugar in a dish or gumballs in a vending machine. Oh, we should mention it is downright fun to use!

recoil Still Image Examples

modo 501 image by Yazan Malkosh

“Recoil is both fast and robust, it will handle hundreds of dynamic items with ease.”

– Fredrik Stenson
Lead Technical Artist

modo 501 image by Chris Golchert

Wall damage simulation to create a static image, by Chris Golchert.

modo 501 image by Yazan Malkosh

recoil automates placement of toy blocks in a container.

recoil Video Examples

modo 501 video by Fredrik Stenson

Integration of recoil simulation rendered in modo with live action.

modo 501 video by Fredrik Stenson

“Time warp” effect was employed in this recoil simulation.

modo 501 video by Brad Peebler

Subsurface scattering and heavy depth-of-field used on this “slo mo” sequence.

modo 501 video Chris Hague

Chris Hague shows how constraints (such as those holding the cube array together) can be broken if a certain force threshold is exceeded.

modo 501 video by Brad Peebler

Elegant ball race example with camera pull back.

modo 501 video by Andy Probst

“Recoil is so muuuuch fun, I just added a ‘kicker’ inside the toaster and animated the trigger and collision for each slide of toast to start the sim at the right frame, because all the bread are already inside the toaster. That’s all I did, it’s just that simple, great ! =)”
— Andy Probst

modo 501 video by Eric Soulvie

Demonstration of motion and spring constraints.

modo 501 video by Trurl1

A metal toy car slams into a stack of playing cards.

modo 501 video by Chris Hague

Here is a ragdoll effect done with the recoil plug-in for modo by Chris Hague. Ouch!

modo 501 video by Brad Peebler

Text tool + Occlusion texture + HDRE + recoil provide a simple motion graphics effect.

modo 501 video by Brad Peebler

Springy tubes with chrome spheres...

modo 501 video by Brad Peebler

A simple ball drop example.

modo 501 video by Richard Hurrey

OpenGL video shows a work-in-progress of a tank tread; a pin constraint will need to be added to maintain alignment when the tread assembly rotates.

modo 501 video by Brad Peebler

Flying discs from the sky...

modo 501 video by Chris Hague

A test of some simple hair dynamics with recoil.

modo 501 video by Andy Probst

Simple collision dynamics used to good effect by Andy Probst (some post production here as well).

modo 501 video by Eric Soulvie

This video shows the excellent stability of recoil solving and some nice secondary motions.

modo 501 image by Paul Beards

This test shows a fancy way to get steel ball bearings to come to a resting state inside a vase.

recoil Dynamics Features

Overall

  • Mass and Density
  • Mass source
  • Damping (linear and angular)
  • Enable (on/off)
  • Type (Dynamic or Kinematic)

Collision

  • Shape:
       bounding box, sphere, hull, mesh, plane, convex, static mesh,
       capsule or cylinder
  • Use Cage
  • Bounce
  • Friction
  • Margin

Sleep

  • Wake-on: start, collision velocity & force, velocity, trigger
  • Value

Deactivation

  • time, linear threshold, angular threshold

Impulse

  • X/Y/Z (force)
  • X/Y/Z (position)
  • X/Y/Z/ (rotational torque)

Cache System

  • Bake
  • Clear
  • Bake to transform (converts simulation to keyframes)

 

recoil Constraints Features

  • Pin
  • Point
  • Plane
  • Box
  • Universal (just like a U-joint on a car drive shaft)
  • Cone
  • Slide (constrains movement to a straight line)
  • Hinge
  • Sliding Hinge
  • Motor (provides constant forward motion or rotational force to any dynamic object)
  • Spring

 

recoil Forces Features

  • Linear (pushes objects away from the center of the defined force)
  • Drag (magnet)
  • Radial (centrifugal)
  • Falloffs (spherical attenuated falloff for forces)

 

recoil Solver Features

  • Active body
  • Passive body (considered for collision detection only)
  • Start time
  • Accuracy (steps)
  • Gravity (world force value in X/Y/Z)

 

recoil Advanced Controls Features

  • Visualization options(draw collision, state...)
  • Global Density
  • Scene Scale
  • Time Scale
  • Sleep Threshold (linear and angular)
  • Global Constraint Force Mixing
  • Use SIMD
  • Friction separate
  • Use warm starting
  • Friction warm starting
  • Two direction friction
  • Randomize Order
  • Resting Contact threshold
  • Split impulse

 

video by Luxology

The recoil Plug-in documentation fits seamlessly within the modo Online Help System.

video by Luxology

Meet Eric Soulvie, creator of the recoil Rigid-body Dynamics Plug-in for modo 501.

Eric Soulvie is an experienced 3D tools programmer based in Seattle, Washington. Eric has worked for Foundation Imaging (Roughnecks), ESC (The Matrix 2, 3), Blizzard Entertainment, Weta Digital (Avatar, Jumper, et. al. ) and many other production houses. Eric was also one of the original programmers on modo and used the modo Plug-in SDK to create the recoil Plug-in.

“One of the nice things about the modo SDK is you can create plug-in services that are new but that other plug-ins have access to...”
– Eric Soulvie

 

Please contact Luxology Sales if you have questions...

You can order products or ask sales questions via telephone, fax or web form.

Sales Telephone (650) 336-1380 Voice Call us 9 a.m. to 5 p.m. Pacific Time
Sales Fax (650) 336-1386 Fax Fax in your purchase orders
Web Form Contact us online You will get a reply via email
 

If you have Support Questions...

If you need help using Luxology software, please contact Luxology Support on our Support Contact page. If you think you have found an issue (e.g. bug), please submit the error using the special form on your My Account page. For a quick tutorial on how to submit a bug report, please see this thread on the Luxology Forum.

 

Back to top »

modo is a registered trademark of Luxology LLC., in the USA and/or other countries.
All products or brand names mentioned are trademarks or registered trademarks of their respective holders.