2018-08-30 04:25:11 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-03-31 00:22:57 +08:00
<class name= "ClippedCamera3D" inherits= "Camera3D" version= "4.0" >
2018-08-30 04:25:11 +08:00
<brief_description >
2020-03-31 00:22:57 +08:00
A [Camera3D] that includes collision.
2018-08-30 04:25:11 +08:00
</brief_description>
<description >
2020-03-31 00:22:57 +08:00
This node extends [Camera3D] to add collisions with [Area3D] and/or [PhysicsBody3D] nodes. The camera cannot move through colliding objects.
2018-08-30 04:25:11 +08:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "add_exception" >
<return type= "void" >
</return>
<argument index= "0" name= "node" type= "Object" >
</argument>
<description >
2019-10-07 01:56:23 +08:00
Adds a collision exception so the camera does not collide with the specified node.
2018-08-30 04:25:11 +08:00
</description>
</method>
<method name= "add_exception_rid" >
<return type= "void" >
</return>
<argument index= "0" name= "rid" type= "RID" >
</argument>
<description >
2019-10-07 01:56:23 +08:00
Adds a collision exception so the camera does not collide with the specified [RID].
2018-08-30 04:25:11 +08:00
</description>
</method>
<method name= "clear_exceptions" >
<return type= "void" >
</return>
<description >
2019-10-07 01:56:23 +08:00
Removes all collision exceptions.
2018-08-30 04:25:11 +08:00
</description>
</method>
2019-06-15 06:04:55 +08:00
<method name= "get_clip_offset" qualifiers= "const" >
<return type= "float" >
</return>
<description >
2019-10-07 01:56:23 +08:00
Returns the distance the camera has been offset due to a collision.
2019-06-15 06:04:55 +08:00
</description>
</method>
2018-08-30 04:25:11 +08:00
<method name= "get_collision_mask_bit" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<description >
2019-10-07 01:56:23 +08:00
Returns [code]true[/code] if the specified bit index is on.
[b]Note:[/b] Bit indices range from 0-19.
2018-08-30 04:25:11 +08:00
</description>
</method>
<method name= "remove_exception" >
<return type= "void" >
</return>
<argument index= "0" name= "node" type= "Object" >
</argument>
<description >
2019-10-07 01:56:23 +08:00
Removes a collision exception with the specified node.
2018-08-30 04:25:11 +08:00
</description>
</method>
<method name= "remove_exception_rid" >
<return type= "void" >
</return>
<argument index= "0" name= "rid" type= "RID" >
</argument>
<description >
2019-10-07 01:56:23 +08:00
Removes a collision exception with the specified [RID].
2018-08-30 04:25:11 +08:00
</description>
</method>
<method name= "set_collision_mask_bit" >
<return type= "void" >
</return>
<argument index= "0" name= "bit" type= "int" >
</argument>
<argument index= "1" name= "value" type= "bool" >
</argument>
<description >
2019-10-07 01:56:23 +08:00
Sets the specified bit index to the [code]value[/code].
[b]Note:[/b] Bit indices range from 0-19.
2018-08-30 04:25:11 +08:00
</description>
</method>
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "clip_to_areas" type= "bool" setter= "set_clip_to_areas" getter= "is_clip_to_areas_enabled" default= "false" >
2020-03-31 00:22:57 +08:00
If [code]true[/code], the camera stops on contact with [Area3D]s.
2018-08-30 04:25:11 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "clip_to_bodies" type= "bool" setter= "set_clip_to_bodies" getter= "is_clip_to_bodies_enabled" default= "true" >
2020-03-31 00:22:57 +08:00
If [code]true[/code], the camera stops on contact with [PhysicsBody3D]s.
2018-08-30 04:25:11 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" default= "1" >
2020-08-03 19:58:51 +08: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-30 04:25:11 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "margin" type= "float" setter= "set_margin" getter= "get_margin" default= "0.0" >
2019-10-07 01:56:23 +08:00
The camera's collision margin. The camera can't get closer than this distance to a colliding object.
2018-08-30 04:25:11 +08:00
</member>
2021-02-19 20:35:31 +08: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-30 04:25:11 +08:00
</member>
</members>
<constants >
2021-02-19 20:35:31 +08:00
<constant name= "CLIP_PROCESS_PHYSICS" value= "0" enum= "ClipProcessCallback" >
2019-10-07 01:56:23 +08:00
The camera updates with the [code]_physics_process[/code] callback.
2018-08-30 04:25:11 +08:00
</constant>
2021-02-19 20:35:31 +08:00
<constant name= "CLIP_PROCESS_IDLE" value= "1" enum= "ClipProcessCallback" >
2019-10-07 01:56:23 +08:00
The camera updates with the [code]_process[/code] callback.
2018-08-30 04:25:11 +08:00
</constant>
</constants>
</class>