2022-03-15 13:29:32 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2024-09-08 17:02:09 +02:00
<class name= "ClippedCamera" inherits= "Camera" version= "4.5" >
2022-03-15 13:29:32 +01:00
<brief_description >
A [Camera] that includes collision.
</brief_description>
<description >
This node extends [Camera] to add collisions with [Area] and/or [PhysicsBody] nodes. The camera cannot move through colliding objects.
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_exception" >
<return type= "void" />
<argument index= "0" name= "node" type= "Object" />
<description >
Adds a collision exception so the camera does not collide with the specified node.
</description>
</method>
<method name= "add_exception_rid" >
<return type= "void" />
<argument index= "0" name= "rid" type= "RID" />
<description >
Adds a collision exception so the camera does not collide with the specified [RID].
</description>
</method>
<method name= "clear_exceptions" >
<return type= "void" />
<description >
Removes all collision exceptions.
</description>
</method>
<method name= "get_clip_offset" qualifiers= "const" >
<return type= "float" />
<description >
Returns the distance the camera has been offset due to a collision.
</description>
</method>
<method name= "get_collision_mask_bit" qualifiers= "const" >
<return type= "bool" />
<argument index= "0" name= "bit" type= "int" />
<description >
Returns [code]true[/code] if the specified bit index is on.
[b]Note:[/b] Bit indices range from 0-19.
</description>
</method>
<method name= "remove_exception" >
<return type= "void" />
<argument index= "0" name= "node" type= "Object" />
<description >
Removes a collision exception with the specified node.
</description>
</method>
<method name= "remove_exception_rid" >
<return type= "void" />
<argument index= "0" name= "rid" type= "RID" />
<description >
Removes a collision exception with the specified [RID].
</description>
</method>
<method name= "set_collision_mask_bit" >
<return type= "void" />
<argument index= "0" name= "bit" type= "int" />
<argument index= "1" name= "value" type= "bool" />
<description >
Sets the specified bit index to the [code]value[/code].
[b]Note:[/b] Bit indices range from 0-19.
</description>
</method>
</methods>
<members >
<member name= "clip_to_areas" type= "bool" setter= "set_clip_to_areas" getter= "is_clip_to_areas_enabled" default= "false" >
If [code]true[/code], the camera stops on contact with [Area]s.
</member>
<member name= "clip_to_bodies" type= "bool" setter= "set_clip_to_bodies" getter= "is_clip_to_bodies_enabled" default= "true" >
If [code]true[/code], the camera stops on contact with [PhysicsBody]s.
</member>
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" default= "1" >
The camera's collision mask. Only objects in at least one collision layer matching the mask will be detected. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
</member>
<member name= "margin" type= "float" setter= "set_margin" getter= "get_margin" default= "0.0" >
The camera's collision margin. The camera can't get closer than this distance to a colliding object.
</member>
<member name= "process_mode" type= "int" setter= "set_process_mode" getter= "get_process_mode" enum= "ClippedCamera.ProcessMode" default= "0" >
The camera's process callback. See [enum ProcessMode].
</member>
</members>
<constants >
<constant name= "CLIP_PROCESS_PHYSICS" value= "0" enum= "ProcessMode" >
The camera updates with the [code]_physics_process[/code] callback.
</constant>
<constant name= "CLIP_PROCESS_IDLE" value= "1" enum= "ProcessMode" >
The camera updates with the [code]_process[/code] callback.
</constant>
</constants>
</class>