2018-08-29 22:25:11 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-03-30 18:22:57 +02:00
<class name= "ClippedCamera3D" inherits= "Camera3D" version= "4.0" >
2018-08-29 22:25:11 +02:00
<brief_description >
2020-03-30 18:22:57 +02:00
A [Camera3D] that includes collision.
2018-08-29 22:25:11 +02:00
</brief_description>
<description >
2020-03-30 18:22:57 +02:00
This node extends [Camera3D] to add collisions with [Area3D] and/or [PhysicsBody3D] nodes. The camera cannot move through colliding objects.
2018-08-29 22:25:11 +02:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_exception" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "node" type= "Object" />
2018-08-29 22:25:11 +02:00
<description >
2019-10-06 19:56:23 +02:00
Adds a collision exception so the camera does not collide with the specified node.
2018-08-29 22:25:11 +02:00
</description>
</method>
<method name= "add_exception_rid" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "rid" type= "RID" />
2018-08-29 22:25:11 +02:00
<description >
2019-10-06 19:56:23 +02:00
Adds a collision exception so the camera does not collide with the specified [RID].
2018-08-29 22:25:11 +02:00
</description>
</method>
<method name= "clear_exceptions" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2018-08-29 22:25:11 +02:00
<description >
2019-10-06 19:56:23 +02:00
Removes all collision exceptions.
2018-08-29 22:25:11 +02:00
</description>
</method>
2019-06-15 00:04:55 +02:00
<method name= "get_clip_offset" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "float" />
2019-06-15 00:04:55 +02:00
<description >
2019-10-06 19:56:23 +02:00
Returns the distance the camera has been offset due to a collision.
2019-06-15 00:04:55 +02:00
</description>
</method>
2021-08-12 01:01:38 +02:00
<method name= "get_collision_mask_value" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "bool" />
2021-08-12 01:01:38 +02:00
<argument index= "0" name= "layer_number" type= "int" />
2018-08-29 22:25:11 +02:00
<description >
2021-08-12 01:01:38 +02:00
Returns whether or not the specified layer of the [member collision_mask] is enabled, given a [code]layer_number[/code] between 1 and 32.
2018-08-29 22:25:11 +02:00
</description>
</method>
<method name= "remove_exception" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "node" type= "Object" />
2018-08-29 22:25:11 +02:00
<description >
2019-10-06 19:56:23 +02:00
Removes a collision exception with the specified node.
2018-08-29 22:25:11 +02:00
</description>
</method>
<method name= "remove_exception_rid" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
<argument index= "0" name= "rid" type= "RID" />
2018-08-29 22:25:11 +02:00
<description >
2019-10-06 19:56:23 +02:00
Removes a collision exception with the specified [RID].
2018-08-29 22:25:11 +02:00
</description>
</method>
2021-08-12 01:01:38 +02:00
<method name= "set_collision_mask_value" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2021-08-12 01:01:38 +02:00
<argument index= "0" name= "layer_number" type= "int" />
2021-07-30 15:28:05 +02:00
<argument index= "1" name= "value" type= "bool" />
2018-08-29 22:25:11 +02:00
<description >
2021-08-12 01:01:38 +02:00
Based on [code]value[/code], enables or disables the specified layer in the [member collision_mask], given a [code]layer_number[/code] between 1 and 32.
2018-08-29 22:25:11 +02:00
</description>
</method>
</methods>
<members >
2019-06-29 12:38:01 +02:00
<member name= "clip_to_areas" type= "bool" setter= "set_clip_to_areas" getter= "is_clip_to_areas_enabled" default= "false" >
2020-03-30 18:22:57 +02:00
If [code]true[/code], the camera stops on contact with [Area3D]s.
2018-08-29 22:25:11 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "clip_to_bodies" type= "bool" setter= "set_clip_to_bodies" getter= "is_clip_to_bodies_enabled" default= "true" >
2020-03-30 18:22:57 +02:00
If [code]true[/code], the camera stops on contact with [PhysicsBody3D]s.
2018-08-29 22:25:11 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" default= "1" >
2020-08-03 13:58:51 +02:00
The camera's collision mask. Only objects in at least one collision layer matching the mask will be detected. See [url=https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
2018-08-29 22:25:11 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "margin" type= "float" setter= "set_margin" getter= "get_margin" default= "0.0" >
2019-10-06 19:56:23 +02:00
The camera's collision margin. The camera can't get closer than this distance to a colliding object.
2018-08-29 22:25:11 +02:00
</member>
2021-02-19 13:35:31 +01:00
<member name= "process_callback" type= "int" setter= "set_process_callback" getter= "get_process_callback" enum= "ClippedCamera3D.ClipProcessCallback" default= "0" >
The camera's process callback. See [enum ClipProcessCallback].
2018-08-29 22:25:11 +02:00
</member>
</members>
<constants >
2021-02-19 13:35:31 +01:00
<constant name= "CLIP_PROCESS_PHYSICS" value= "0" enum= "ClipProcessCallback" >
2019-10-06 19:56:23 +02:00
The camera updates with the [code]_physics_process[/code] callback.
2018-08-29 22:25:11 +02:00
</constant>
2021-02-19 13:35:31 +01:00
<constant name= "CLIP_PROCESS_IDLE" value= "1" enum= "ClipProcessCallback" >
2019-10-06 19:56:23 +02:00
The camera updates with the [code]_process[/code] callback.
2018-08-29 22:25:11 +02:00
</constant>
</constants>
</class>