SpringArm3D

Hereda: Node3D < Node < Object

Un raycast 3D que mueve dinámicamente a sus hijos cerca del punto de colisión.

Descripción

SpringArm3D lanza un rayo o una forma a lo largo de su eje Z y mueve a todos sus hijos directos al punto de colisión, con un margen opcional. Esto es útil para cámaras en tercera persona que se acercan al jugador cuando están en un espacio reducido (es posible que debas excluir el colisionador del jugador de la comprobación de colisión de SpringArm3D).

Tutoriales

Propiedades

int

collision_mask

1

float

margin

0.01

Shape3D

shape

float

spring_length

1.0

Métodos

void

add_excluded_object(RID: RID)

void

clear_excluded_objects()

float

get_hit_length()

bool

remove_excluded_object(RID: RID)


Descripciones de Propiedades

int collision_mask = 1 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

Las capas contra las que se realizará la comprobación de colisiones. Véase Capas y máscaras de colisión en la documentación para obtener más información.


float margin = 0.01 🔗

  • void set_margin(value: float)

  • float get_margin()

Cuando se realiza la comprobación de colisión, se proporciona una longitud candidata para el SpringArm3D.

El margen se resta a esta longitud y la traslación se aplica a los objetos secundarios del SpringArm3D.

Este margen es útil cuando el SpringArm3D tiene una Camera3D como nodo hijo: sin el margen, la Camera3D se colocaría en el punto exacto de la colisión, mientras que con el margen la Camera3D se colocaría cerca del punto de colisión.


Shape3D shape 🔗

La Shape3D que se utilizará para el SpringArm3D.

Cuando se establece la forma, el SpringArm3D lanzará la Shape3D en su eje z en lugar de realizar un rayo.


float spring_length = 1.0 🔗

  • void set_length(value: float)

  • float get_length()

The maximum extent of the SpringArm3D. This is used as a length for both the ray and the shape cast used internally to calculate the desired position of the SpringArm3D's child nodes.

To know more about how to perform a shape cast or a ray cast, please consult the PhysicsDirectSpaceState3D documentation.


Descripciones de Métodos

void add_excluded_object(RID: RID) 🔗

Añade el objeto PhysicsBody3D con el RID dado a la lista de objetos PhysicsBody3D excluidos de la comprobación de colisión.


void clear_excluded_objects() 🔗

Borra la lista de objetos PhysicsBody3D excluidos de la comprobación de colisión.


float get_hit_length() 🔗

Devuelve la longitud actual del brazo de resorte.


bool remove_excluded_object(RID: RID) 🔗

Elimina el RID dado de la lista de objetos PhysicsBody3D excluidos de la comprobación de colisión.