ClippedCamera

Inherits: Camera < Spatial < Node < Object

A Camera that includes collision.

Description

This node extends Camera to add collisions with Area and/or PhysicsBody nodes. The camera cannot move through colliding objects.

Properties

bool

clip_to_areas

false

bool

clip_to_bodies

true

int

collision_mask

1

float

margin

0.0

ProcessMode

process_mode

0

Methods

void

add_exception ( Object node )

void

add_exception_rid ( RID rid )

void

clear_exceptions ( )

float

get_clip_offset ( ) const

bool

get_collision_mask_bit ( int bit ) const

void

remove_exception ( Object node )

void

remove_exception_rid ( RID rid )

void

set_collision_mask_bit ( int bit, bool value )


Enumerations

enum ProcessMode:

ProcessMode CLIP_PROCESS_PHYSICS = 0

The camera updates with the _physics_process callback.

ProcessMode CLIP_PROCESS_IDLE = 1

The camera updates with the _process callback.


Property Descriptions

bool clip_to_areas = false

  • void set_clip_to_areas ( bool value )

  • bool is_clip_to_areas_enabled ( )

If true, the camera stops on contact with Areas.


bool clip_to_bodies = true

  • void set_clip_to_bodies ( bool value )

  • bool is_clip_to_bodies_enabled ( )

If true, the camera stops on contact with PhysicsBodys.


int collision_mask = 1

  • void set_collision_mask ( int value )

  • int get_collision_mask ( )

The camera's collision mask. Only objects in at least one collision layer matching the mask will be detected. See Collision layers and masks in the documentation for more information.


float margin = 0.0

  • void set_margin ( float value )

  • float get_margin ( )

The camera's collision margin. The camera can't get closer than this distance to a colliding object.


ProcessMode process_mode = 0

The camera's process callback. See ProcessMode.


Method Descriptions

void add_exception ( Object node )

Adds a collision exception so the camera does not collide with the specified node.


void add_exception_rid ( RID rid )

Adds a collision exception so the camera does not collide with the specified RID.


void clear_exceptions ( )

Removes all collision exceptions.


float get_clip_offset ( ) const

Returns the distance the camera has been offset due to a collision.


bool get_collision_mask_bit ( int bit ) const

Returns true if the specified bit index is on.

Note: Bit indices range from 0-19.


void remove_exception ( Object node )

Removes a collision exception with the specified node.


void remove_exception_rid ( RID rid )

Removes a collision exception with the specified RID.


void set_collision_mask_bit ( int bit, bool value )

Sets the specified bit index to the value.

Note: Bit indices range from 0-19.