CollisionObject is the base class for physics objects. It can hold any number of collision [Shape]s. Each shape must be assigned to a [i]shape owner[/i]. The CollisionObject can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the [code]shape_owner_*[/code] methods.
</description>
<tutorials>
</tutorials>
<methods>
<methodname="_input_event"qualifiers="virtual">
<returntype="void"/>
<argumentindex="0"name="camera"type="Object"/>
<argumentindex="1"name="event"type="InputEvent"/>
<argumentindex="2"name="position"type="Vector3"/>
<argumentindex="3"name="normal"type="Vector3"/>
<argumentindex="4"name="shape_idx"type="int"/>
<description>
Receives unhandled [InputEvent]s. [code]position[/code] is the location in world space of the mouse pointer on the surface of the shape with index [code]shape_idx[/code] and [code]normal[/code] is the normal vector of the surface at that point. Connect to the [signal input_event] signal to easily pick up these events.
</description>
</method>
<methodname="create_shape_owner">
<returntype="int"/>
<argumentindex="0"name="owner"type="Object"/>
<description>
Creates a new shape owner for the given object. Returns [code]owner_id[/code] of the new owner for future reference.
The physics layers this CollisionObject3D is in. Collision objects can exist in one or more of 32 different layers. See also [member collision_mask].
[b]Note:[/b] A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
The physics layers this CollisionObject3D scans. Collision objects can scan one or more of 32 different layers. See also [member collision_layer].
[b]Note:[/b] A contact is detected if object A is in any of the layers that object B scans, or object B is in any layers that object A scans. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
If [code]true[/code], this object is pickable. A pickable object can detect the mouse pointer entering/leaving, and if the mouse is inside it, report input events. Requires at least one [member collision_layer] bit to be set.
</member>
</members>
<signals>
<signalname="input_event">
<argumentindex="0"name="camera"type="Node"/>
<argumentindex="1"name="event"type="InputEvent"/>
<argumentindex="2"name="position"type="Vector3"/>
<argumentindex="3"name="normal"type="Vector3"/>
<argumentindex="4"name="shape_idx"type="int"/>
<description>
Emitted when the object receives an unhandled [InputEvent]. [code]position[/code] is the location in world space of the mouse pointer on the surface of the shape with index [code]shape_idx[/code] and [code]normal[/code] is the normal vector of the surface at that point.
</description>
</signal>
<signalname="mouse_entered">
<description>
Emitted when the mouse pointer enters any of this object's shapes.
</description>
</signal>
<signalname="mouse_exited">
<description>
Emitted when the mouse pointer exits all this object's shapes.