Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

SpringArm3D

Eredita: Node3D < Node < Object

Una proiezione di raggio 3D che sposta dinamicamente i suoi nodi figlio vicino al punto di collisione.

Descrizione

SpringArm3D proietta un raggio o una forma lungo il suo asse Z e sposta tutti i suoi nodi figlio diretti al punto di collisione, con un margine opzionale. Questo è utile per le telecamere in terza persona che si avvicinano al giocatore quando si trovano in uno spazio ristretto (potrebbe essere necessario escludere il collisore del giocatore dalla verifica di collisione dello SpringArm3D).

Tutorial

Proprietà

int

collision_mask

1

float

margin

0.01

Shape3D

shape

float

spring_length

1.0

Metodi

void

add_excluded_object(RID: RID)

void

clear_excluded_objects()

float

get_hit_length()

bool

remove_excluded_object(RID: RID)


Descrizioni delle proprietà

int collision_mask = 1 🔗

  • void set_collision_mask(value: int)

  • int get_collision_mask()

The layers against which the collision check will be done. See Collision layers and masks in the documentation for more information.


float margin = 0.01 🔗

  • void set_margin(value: float)

  • float get_margin()

Quando è effettuata la verifica di collisione, è fornita una lunghezza candidata per lo SpringArm3D.

Il margine è quindi sottratto a questa lunghezza e la traslazione è applicata agli oggetti figlio dello SpringArm3D.

Questo margine è utile quando lo SpringArm3D ha una Camera3D come nodo figlio: senza il margine, la Camera3D sarebbe posizionata sul punto esatto di collisione, mentre con il margine la Camera3D sarebbe posizionata vicino al punto di collisione.


Shape3D shape 🔗

Lo Shape3D da utilizzare per SpringArm3D.

Quando la forma è impostata, lo SpringArm3D eseguirà la proiezione dello Shape3D sul suo asse z invece di eseguire una proiezione di raggio.


float spring_length = 1.0 🔗

  • void set_length(value: float)

  • float get_length()

L'estensione massima dello SpringArm3D. È usata come lunghezza per la proiezione sia di raggio sia di forma, utilizzata internamente per calcolare la posizione desiderata dei nodi figlio dello SpringArm3D.

Per saperne di più su come eseguire una proiezione di forma o una proiezione di raggio, consultare la documentazione di PhysicsDirectSpaceState3D.


Descrizioni dei metodi

void add_excluded_object(RID: RID) 🔗

Aggiunge l'oggetto PhysicsBody3D con il RID specificato alla lista degli oggetti PhysicsBody3D esclusi dalla verifica delle collisioni.


void clear_excluded_objects() 🔗

Svuota la lista degli oggetti PhysicsBody3D esclusi dalla verifica delle collisioni.


float get_hit_length() 🔗

Restituisce la lunghezza attuale del braccio a molla.


bool remove_excluded_object(RID: RID) 🔗

Rimuove il RID specificato dalla lista degli oggetti PhysicsBody3D esclusi dalla verifica delle collisioni.