pymel.core.effects.rigidBody¶
- rigidBody(*args, **kwargs)¶
This command creates a rigid body from a polygonal or nurbs surface.
Flags:
Long Name / Short Name Argument Types Properties active / act bool Creates a rigid body that is active. An active rigid body accepts and causes collisions and is effected by dynamic fields. This is the default. angularVelocity / av bool Current angular velocity of rigid body. applyForceAt / afa unicode Determines how forces are applied to the rigid body. The choices are centerOfMass | boundingBox | verticesOrCVs. Default: boundingBox bounciness / b float Sets the restitution (or bounciness) of the rigid body. Range: 0.0 - 2.0 Default: 0.6 cache / c bool Turns caching on (1) or off (0) for the rigid body. Default: off centerOfMass / com float, float, float Sets the center of mass (x,y,z) of the rigid body. Default: actual center of mass. collisions / cl bool Truns collisions on/off for the rigid body. If the collisions are turned of the rigid body will not collide with any other rigid body. Default: on. contactCount / cc bool returns the current contact count for the rigid body. contactName / cn bool returns all the rigid body names which are in contact with this shape. One name for each contact will be returned. contactPosition / cp bool returns all the contact position. One position for each contact will be returned. damping / dp float Sets the damping value of the rigid body. Range: -2.0 - 2.0 Default: 0.0 deleteCache / dc bool Deletes the cache (if one exists) of the rigid body. dynamicFriction / df float Sets the dynamic friction for the rigid body. Range: 0.0 - 1.0 Default: 0.2 force / f bool Current force on the rigid body. ignore / ig bool Causes the rigid body to be ignored in the rigid solver. Default: off impulse / i float, float, float Applies an impulse (instantaneous) force on a rigid body. Default: 0.0 0.0 0.0 impulsePosition / imp float, float, float The position at which the impulse is applied. Default: the bodies center of mass. initialAngularVelocity / iav float, float, float Sets the initial angular velocity of the rigid body. Default: 0.0 0.0 0.0 initialVelocity / iv float, float, float Sets the initial velocity of the rigid body. Default: 0.0 0.0 0.0 layer / l int Sets the collision layer of the rigid body. Only rigid bodies in the same collision layer can collide with each other. Range: = 0 Default: 0. lockCenterOfMass / lcm bool Locks the center of mass for the rigid body. Default: off mass / m float Sets the mass of the rigid body. Range: 0 Default: 1.0 name / n unicode Assigns the rigid body the given name. orientation / o float, float, float Sets the initial orientation (x,y,z) of the rigid body. Default: current orientation. particleCollision / pc bool Turns the ability for a rigid body to collide with particles on and off. The particles will exert a force on the rigid body. Default: off passive / pas bool Creates a rigid body that is passive. A passive rigid body does not react to collisions but active rigid bodies can collide with it. Dynamic Fields will not effect a passive rigid body. Only passive rigid bodies can be keyframed. position / p float, float, float Sets the initial position (x,y,z) of the rigid body. Default: current position. removeShape / rs unicode solver / slv unicode The name of the solver which this rigid node is to resided. If the solver does not exists then the rigid body will not be created. If the edit flag is thrown add the solver exists, the rigid body will be moved to that solver. spinImpulse / si float, float, float Applies an spin impulse (instantaneous rotational) force on a rigid body. Default: 0.0 0.0 0.0 standInObject / sio unicode Causes the simulator to use a stand in object for the simulation. The choices are none | cube | sphere. The default is none. Default: none staticFriction / sf float Sets the static friction for the rigid body. Range: 0.0 - 1.0 Default: 0.2 tesselationFactor / tf int Sets the tesselation factor for a rigid body surface. Range: = 10 Default: 200. velocity / vel bool Current velocity of rigid body. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.rigidBody
Example:
import pymel.core as pm # Creates a rigid body with a initial velocity of 10 in the x # direction, a bounciness of 0.5 and a static friction coefficent # of 0.4. # pm.rigidBody( n='myRigidBody', active=True, iv=(10, 0, 0), b=0.5, sf=0.4 )