HTML Encoding and Default Values⤴
<RigidBodyCollection
autoDisable='false'
bodies='x3dom.nodeTypes.RigidBody'
constantForceMix='0.0001'
contactSurfaceThickness='0'
disableAngularSpeed='0'
disableLinearSpeed='0'
disableTime='0'
enabled='true'
errorCorrection='0.8'
gravity='0,-9.8,0'
iterations='1'
joints='x3dom.nodeTypes.X3DRigidJointNode'
maxCorrectionSpeed='-1'
metadata='X3DMetadataObject'
preferAccuracy='false'
></RigidBodyCollection>
Fields⤴
These are the X3D / X3DOM fields of this node. Values should usually be received / set as strings via
DOM functions (i.e., using
setAttribute("myFieldName", "myFieldValue")
and
getAttribute("myFieldName")
).
Name | Type | Default Value | Range | Inheritance | Standard | Description |
---|---|---|---|---|---|---|
autoDisable | SFBool | false | The disable fields define conditions for when the body ceases to considered as part of the rigid body calculations and should be considered as at rest. | |||
bodies | MFNode | RigidBody | The bodies field contains a collection of the top-level nodes that comprise a set of bodies that should be evaluated as a single set of interactions. | |||
constantForceMix | SFFloat | 0.0001 | [0, inf) | The constantForceMix field can be used to apply damping to the calculations by violating the normal constraints by applying a small, constant force to those calculations. This allows joints and bodies to be a fraction springy, as well as helping to eliminate numerical instability. The larger the value, the more soft each of the constraints being evaluated. A value of zero indicates hard constraints so that everything is exactly honoured. By combining the errorCorrection and constantForceMix fields, various effects, such as spring-driven or spongy connections, can be emulated. | ||
contactSurfaceThickness | SFFloat | 0 | [0, inf) | The contactSurfaceThickness field represents how far bodies may interpenetrate after a collision. This allows simulation of softer bodies that may deform somewhat during collision. The default value is zero. | ||
disableAngularSpeed | SFFloat | 0 | [0, inf) | The disable fields define conditions for when the body ceases to considered as part of the rigid body calculations and should be considered as at rest. | ||
disableLinearSpeed | SFFloat | 0 | [0, inf) | The disable fields define conditions for when the body ceases to considered as part of the rigid body calculations and should be considered as at rest. | ||
disableTime | SFFloat | 0 | [0, inf) | The disable fields define conditions for when the body ceases to considered as part of the rigid body calculations and should be considered as at rest. | ||
enabled | SFBool | true | The enabled field is used to control whether the physics model for this collection should be run this frame. | |||
errorCorrection | SFFloat | 0.8 | [0,1] | The errorCorrection field describes how quickly the system should resolve intersection errors due to floating point inaccuracies. This value ranges between 0 and 1. A value of 0 means no correction at all while a value of 1 indicates that all errors should be corrected in a single step. | ||
gravity | SFVec3f | 0,-9.8,0 | The gravity field indicates direction and strength (in acceleration base units) of the local gravity vector for this collection of bodies. The default gravity is standard earth gravity of 9.8 meters/second2 downwards. | |||
iterations | SFInt32 | 1 | [0,inf) | The iterations field is used to control how many iterations over the collections of joints and bodies are to be performed each time the model is evaluated. Rigid body physics is a process of iterative refinement in order to maintain reasonable performance. As the number of iterations grow, the more stable the final results are at the cost of increasing evaluation time. Since maintaining real-time performance is a trade off between accuracy and frame rate, this setting allows the user to control that trade off to a limited extent. | ||
joints | MFNode | X3DRigidJointNode | The joints field is used to register all the joints between the bodies contained in this collection. If a joint is connected between bodies in two different collections, the result is implementation-dependent. If a joint instance is registered with more than one collection, the results are implementation dependent. Joints not registered with any collection are not evaluated. | |||
maxCorrectionSpeed | SFFloat | -1 | [0, inf) or -1 | Maximal correction speed. | ||
metadata | SFNode | X3DMetadataObject | Core/X3DNode | Field to add metadata information | ||
preferAccuracy | SFBool | false | The preferAccuracy field is used to provide a performance hint to the underlying evaluation about whether the user prefers to have very accurate models or fast models. Accuracy comes at a large penalty in both speed and memory usage, but may not be needed most of the time. The default setting is to optimize for speed rather than accuracy. |