modo bubbble logo

recoil Dynamic Item


Home >> Rigging & Animation >> recoil Dynamics >> Dynamic Item

back next
comment balloon Comments (0) RSS Icon
0/5 (0 votes)

In order for any item in modo to be considered in a recoil dynamics simulation, it must first be converted to a dynamic item. This is done by tagging it as either a 'Passive Rigid Body' or an 'Active Rigid Body'. To apply the tag, simply select the item while in 'Items' mode and invoke either the 'Make Active Rigid Body' or Make Passive Rigid Body' commands. These can be found in the menu bar under the 'recoil' menu, or within the recoil toolbox found, by default, in the 'Animation' interface in the recoil sub-tab of its toolbox. Once the appropriate tag is defined, an additional property sub form called 'Dynamic' is added to the items properties panel with a series of attributes relating to the settings of the object and its dynamic simulation. While the default values will work in many cases, users will likely wish to modify the default options to settings more appropriate for their intended purpose.
To make an object un-dynamic, removing it completely from the recoil calculations, users simply need to select the target item and invoke the menu bar command "recoil > Make Un-dynamic" eliminating any dynamics information from the object. To temporarily disable the object from the dynamics simulation, toggle the 'Enable' option.

Mesh Dynamics PanelEnable: Toggles dynamics on and off for the item. When enabled, modo will calculate dynamics for the item when the timeline is played (or the 'Run Simulation' command is invoked). When disabled item will be ignored for dynamics and collision calculations.

Type: Dynamic items can be one of two types-
Dynamic- A collision object with a density greater than 0, that is controlled exclusively by recoil dynamics. It can also be affected by Constraints, Forces, and Falloffs. This is the option automatically designated when an object is defined as an 'Active Rigid Body'. Items tagged as Dynamic will be represented in the viewport with a white bounding box.
Kinematic- A collision object that is either static or controlled by user created keyframes. Kinematic objects are unaffected by Forces, such as gravity or Falloffs. This is the option automatically designated when an object is defined as a 'Passive Rigid Body'. Items tagged as Kinematic will be represented in the viewport with a green bounding box.

Mass Source: By default, with 'Mass Source' set as 'World Density', the mass of an object is calculated by multiplying the calculated volume of the dynamic item by the 'Global Density' value defined on the recoil Solver item. Users can override that value by setting the 'Mass Source' to 'Local Density' or 'Local Mass' and expressly setting a value. The calculated volume is shown in the objects 'Volume' channel in the Channels viewport.

Density: Density is the measure of the amount of matter in any given volume. If the 'Mass Source' option is set to 'Local Density', this is the density value that will be used. The mass of the object will be determined by multiplying the computed volume by this value.

Mass: Mass is the properties of an object that give it bulk and weight. It is essentially a different way of determining density. If 'Mass Source' is set to 'Local Mass', this is the value that will be used for simulations.

Linear Damping: This is a force that acts upon the motion of objects, acting to slow them down over time. A small value here can benefit object stability since it helps objects come to rest.

Angular Damping: Same as 'Linear Damping' but applies to the rotation of the object.

Collision--

Collision Shape: This setting defines the shape that will be used to calculate collisions between dynamic objects. Generally users will want to choose the simplest shape that produces satisfactory results. The default collision shape is set to 'Hull' which generally balances accuracy with calculation speed.
BBox- A rectangular box defined by the bounding box of the geometry's maximum extents.
Sphere- A sphere that is sized to encompass all the geometry of the object.
Hull- The default collision option 'Hull' creates the smallest convex volume that encompasses all the points in this mesh. To visualize it, imagine the mesh enveloped in shrink-wrap. The 'Hull' collision type does not support holes or indentations in the object. While only approximating the items shape, it will provide very fast collision detection on complex shaped objects.
Mesh- Uses the actual mesh of the object for calculating collisions. For Subdivision Surfaces models, the actual frozen SubD cage is used. This should be used only if you need the total accuracy as performance can suffer with its use.
Plane- A flat plane that extends infinitely in the X and Z directions. This option should be applied when a ground plane that cannot be penetrated is desired. This option can only be applied to non-moving (static) items.
Convex Decomposition- The 'Convex Decomposition' collision shape tries to approximate the shape of the original geometry with a greatly reduced polygon count, applying a reduction algorithm similar to modo's internal 'Polygon Reduce' function.
Static Mesh- An optimized mesh collider for non-moving geometry. This is ideal for displaced ground geometry.
Capsule X/Y/Z- A rounded end cylinder defined by the geometry of the object. Users may choose the appropriate axis for the object based on the objects un-transformed position.
Cylinder X/Y/Z- A cylinder defined by the geometry of the object. Users may choose the appropriate axis for the object based on the objects un-transformed position.

Do Collisions: Users can disable this option so that the object is not taken in to account for collision calculations (enabled by default).

Deforming: When the 'Deforming' option is enabled, the mesh state will be updated per frame to reflect any deformations applied to it, so that when Deformers, such as MDDs and Morphs are applied to the object, they can properly collide.

Use Cage: When determining the collision shape of the item, enabling the 'Use Cage' option causes recoil to use the items un-subdivided cage if it is a Subdivision Surfaces shape. Otherwise it will use the actual subdivision surfaces geometry.

Bounce: This is the collision response when this object hits another dynamic object. A value of 0.0 means the object will not bounce or impart energy onto objects it hits. A value if 1.0 would conserve all of the objects energy.

Friction: The amount an object will slide against another object. A value of 0.0 would offer no resistance, while a value of 1.0 would keep the object from sliding entirely.

Margin: The 'Margin' value helps bullet to determine collisions with moving items. If the value is negative, recoil move the collision vertices of the item inward along their averaged normal and then extends the margin by the same amount which should result in a fairly tight fitting shape. If it is positive, recoil simply extends the collision vertices of the geometry outward by that amount.

Force Shadow--
The Force Shadow options block the affects of forces on objects and surfaces, in much the same way that objects block light from hitting surfaces. This can be useful to hide dynamic items from forces when located in 'protected' areas.

Shadow Amount: The 'Shadow Amount option controls to what degree the object blocks the force value. 0% disables force shadows, attenuating toward 100% where the force would be completely blocked.

Shadow Distance: Determines the distance of the Force Shadowing effect, a setting of 1m would block forces up to 1 meter away form the surface, a value of -1m (negative one meter) sets the shadowing to infinity.

Sleep--

Wake On: Normally objects are awake (active) when any dynamic simulation starts and the object begins to react immediately. Users can change this behavior delaying when individual objects wake up and become active. Prior to the 'Wake On' event, items can be keyframe animated and the object will be handed off to recoil for simulation when the certain 'Wake On Value' threshold is achieved. The values defined in the 'Impulse' channels are applied when the object wakes up.
Start- Object begins the dynamic simulation awake and fully active at the 'Start Time' value specified in the recoil solver.
Collision Velocity- Object wakes up when either another passive or active object collides with it. Users can use the 'Wake On Value' to set a collision velocity threshold necessary to wake up the object.
Collision Force- Object wakes up when either another passive or dynamic object collides with it. Users can use the 'Wake On Value' to set a collision force threshold necessary to wake up the object.
Velocity- Object wakes up when a certain velocity is reached. Different from 'Collision Velocity', this velocity is determined by keyframe animated motion. Users can use the 'Wake On Value' to set the velocity threshold necessary to wake up the object.
Trigger- Object wakes up when the keyframeable channel, 'reWakeOnValue' is non zero (any number but zero). This has good use with conditional nodes in rigging.
Frame- Object wakes up when a specific frame number is reached.
Time- Object Wakes Up when a specific time has been reached, regardless of frame-rate.

Wake On Value: Depending on the 'Wake On' option selected, users can set a lower threshold that must be reached in order to wake up the object. It may be helpful to reference the recoil specific channels (below) in helping to determine values appropriate to the users intended result.

Impulse--

Impulse X/Y/Z: A directional force that is applied to the object when it wakes up. Useful when a keyframed object is handed off to recoil, imparting direction and velocity to the object, which would otherwise just drop without it as recoil has no awareness of the objects velocity prior to waking up.

Impulse Position X/Y/Z: Position the above impulse is applied from affecting the objects trajectory.

Torque Impulse X/Y/Z: A rotational that is force applied to the object when it wakes up. Useful when a keyframed object is handed off to recoil, imparting direction and velocity to the object, which would otherwise just drop without it as recoil has no awareness of the objects motion prior to waking up.

Deactivation--

Deactivation Time: The 'Deactivation Time' defines how long a dynamic object must be below the Linear or Angular threshold before being put to sleep. The default value is one second, so depending on the frame rate of the scene, the default value will change; generally it is 24 frames.

Override Linear Threshold: Users can enable this function to put dynamic objects to sleep once they reach a defined upper threshold value, overriding the Global value found in the recoil Solver. Essentially the opposite of the 'Wake On' settings, once an object has been below the threshold for the defined length of time, recoil puts it to sleep.

Linear Threshold: This is the motion threshold value when 'Override Linear Threshold' is enabled.

Override Angular Threshold: Users can enable this function to put dynamic objects to sleep once they reach a defined upper threshold value, overriding the Global value found in the recoil Solver. Essentially the opposite of the 'Wake On' settings, once an object has been below the threshold for the defined length of time, recoil puts it to sleep.

Angular Threshold: This is the rotation threshold value when 'Override Angular Threshold' is enabled.

Cache--

Bake Cache: Selecting the 'Bake Cache' option bakes the currently cached dynamic simulation to individual keys at every frame for both the item's position and rotation channels, and then disables the dynamic item. This is done in local space by default. For more information on baking, please reference the 'Baking and Rendering' page of the recoil documentation.

Clear Cache: Selecting the 'Clear Cache' option clears the items cache, essentially removing the items simulation results.

Bake to Transform: Applying the 'Bake Cache' option (above) converts the dynamic simulation to a series of animation keyframes, for still scene renders, the animation keyframes are an unnecessary overhead, so the 'Bake to Transform' option provides users a means to simply freeze the position of the object at the current time in the simulation removing any dynamics or animation from the object.

 

Rigging and Dynamic Items--

When an item is converted to a dynamic item, there are a number of feedback channels only available in the 'Channels List' when the item is selected (recoil specific channels are preceded by an 're' value). These extra channels are useful for the rigging of dynamic items. The use of Schematic editor for rigging and channels in general is covered in modo's in-line help system. These additional channels are only valid during the recoil simulation.

reCenterOfMass: The calculated center of mass.

rePosition: The items current position in world space.

reRotation: The items current rotation in world space.

reVolume: The items calculated volume.

reVelocity: The items current velocity.

reAngularVelocity: The items current angular velocity.

reHitCount: The number of times this item has collided with other bodies.

reJustHit: True if this item was involved in a collision the last time step.

reLastTime: The last time this item was involved in a collision.

reLastHitForce: The force this item was hit with for the last collision.

reLastHitPosition: The world space position of this items last collision.

reLastHitNormal: The world space normal of this items last collision.

 

Top

back next