Collision
Collision detects camera-to-object contact using current Viewpoint and NavigationInfo avatarSize. Collision is a Grouping node that handles collision detection for its children. Collision can contain a single proxy child node for substitute collision-detection geometry. Note: proxy geometry is not rendered. Note: PointSet, IndexedLineSet, LineSet and Text do not trigger collisions. Hint: improve performance using proxy for simpler contact-calculation geometry. Hint: NavigationInfo types ''WALK' 'FLY'' support camera-to-object collision detection. Hint: insert a Shape node before adding geometry or Appearance.
Inheritance
Code
XML encoding
<Collision enabled='TRUE' bboxCenter='0 0 0' bboxSize='-1 -1 -1' render='TRUE' showBBox='FALSE' logFeature='' />
Classic encoding
Collision { enabled TRUE bboxCenter 0 0 0 bboxSize -1 -1 -1 render TRUE showBBox FALSE logFeature [""] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
proxy | SFNode | inputOutput | alternate object to be checked for collision, in place of the children of this node. | |||
collideTime | SFTime | outputOnly | Time of collision between camera (avatar) and geometry. | |||
enabled | SFBool | inputOutput | TRUE | Enables/disables collision detection for children and all descendants. Hint: former name quotecollidequote in VRML 97 specification. | ||
isActive | SFBool | outputOnly | isActive true/false events are sent when triggering the sensor. isActive=true when view-object collision occurs, isActive=false when view-object collision no longer occurs. | |||
children | MFNode | inputOutput | Node | field that contains a list of children nodes | ||
addChildren | MFNode | inputOnly | The addChildren event appends nodes to the children field of a grouping node. Any nodes passed to the addChildren inputOnly field that are already in the children list of the grouping node are ignored | |||
removeChildren | MFNode | inputOnly | The removeChildren event removes nodes from the children fieldof the grouping node . Any nodes in the removeChildren event that are not in the children list of the grouping node are ignored | |||
bboxCenter | SFVec3f | initializeOnly | 0 0 0 | Bounding box center: position offset from origin of local coordinate system. | ||
bboxSize | SFVec3f | initializeOnly | -1 -1 -1 | Bounding box size: automatically calculated, can be specified as an optimization or constraint. | ||
render | SFBool | inputOutput | TRUE | Flag to control the visibility of the node or subtree | ||
showBBox | SFBool | inputOutput | FALSE | Show Bounding Box of Subtree. | ||
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element |