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.
Checking the stable version of the documentation...
PathFollow3D
Eredita: Node3D < Node < Object
Campionatore di punti per un Path3D.
Descrizione
Questo nodo prende il suo Path3D genitore e restituisce le coordinate di un punto al suo interno, data una distanza dal primo vertice.
È utile per far sì che altri nodi seguano un percorso, senza scrivere codice per lo schema di movimento. Per questo, i nodi devono essere figli di questo nodo. I nodi discendenti si muoveranno di conseguenza quando si imposta progress in questo nodo.
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
correct_posture(transform: Transform3D, rotation_mode: RotationMode) static |
Enumerazioni
enum RotationMode: 🔗
RotationMode ROTATION_NONE = 0
Impedisce la rotazione del PathFollow3D.
RotationMode ROTATION_Y = 1
Consente al PathFollow3D di ruotare solo lungo l'asse Y.
RotationMode ROTATION_XY = 2
Consente al PathFollow3D di ruotare sia lungo l'asse X, sia lungo l'asse Y.
RotationMode ROTATION_XYZ = 3
Consente a PathFollow3D di ruotare lungo ogni asse.
RotationMode ROTATION_ORIENTED = 4
Utilizza le informazioni del vettore alto in una Curve3D per imporre l'orientamento. Questa modalità di rotazione richiede che la proprietà Curve3D.up_vector_enabled di Path3D sia impostata su true.
Descrizioni delle proprietà
Se true, la posizione tra due punti memorizzati nella cache è interpolata in modo cubico, altrimenti linearmente.
I punti lungo la Curve3D del Path3D sono precalcolati prima dell'uso, per calcoli più rapidi. Il punto all'offset richiesto è quindi calcolato interpolando tra due punti adiacenti memorizzati nella cache. Ciò potrebbe rappresentare un problema se la curva effettua svolte brusche, poiché i punti memorizzati nella cache potrebbero non seguire la curva vicino abbastanza.
Ci sono due risposte a questo problema: aumenta il numero di punti memorizzati nella cache, aumentando il consumo di memoria, oppure effettua un'interpolazione cubica tra due punti, a costo di calcoli (leggermente) più lenti.
L'offset del nodo lungo la curva.
Se true, qualsiasi offset al di fuori della lunghezza del percorso sarà avvolto, invece di fermarsi alle estremità. Usalo per percorsi ciclici.
La distanza dal primo vertice, misurata in unità 3D lungo il percorso. La modifica di questo valore imposta la posizione di questo nodo su un punto all'interno del percorso.
La distanza dal primo vertice, considerando 0,0 come il primo vertice e 1,0 come l'ultimo. Questo è solo un altro modo di esprimere il progresso all'interno del percorso, poiché il progresso fornito è moltiplicato internamente per la lunghezza del percorso.
Può essere impostato o ottenuto solo se il PathFollow3D è il figlio di un Path3D che fa parte dell'albero di scene e che questo Path3D ha una Curve3D con una lunghezza diversa da zero. Altrimenti, tentando di impostare questo campo sarà stampato un errore e ottenendo questo campo sarà restituito 0.0.
RotationMode rotation_mode = 3 🔗
void set_rotation_mode(value: RotationMode)
RotationMode get_rotation_mode()
Consente o impedisce la rotazione su uno o più assi, a seconda delle costanti di RotationMode utilizzate.
Se true, la proprietà di inclinazione di Curve3D ha effetto.
bool use_model_front = false 🔗
Se true, il nodo si sposta sul percorso di viaggio orientando l'asse +Z in avanti. Vedi anche Vector3.FORWARD e Vector3.MODEL_FRONT.
L'offset del nodo perpendicolare alla curva.
Descrizioni dei metodi
Transform3D correct_posture(transform: Transform3D, rotation_mode: RotationMode) static 🔗
Corregge la trasformazione transform. rotation_mode specifica implicitamente come viene calcolata la postura (direzione anteriore, superiore e laterale).