Il vettore GlobalWind imposta la direzione e la forza con cui il vento soffia attraverso un gioco, influenzando l'erba del terreno e le nuvole dinamiche. Puoi impostarlo come un vettore costante, o regolarlo tramite scripting per creare raffiche cicliche di vento. Inoltre, puoi influenzare le particelle affinché seguano il vettore del vento globale.
Vettore del vento globale
Il vento globale è controllato tramite il vettore GlobalWind, che è una proprietà di Workspace e puoi modificarlo direttamente in Studio, o impostarlo tramite scripting.
Per impostare il vettore del vento globale in Studio:
Nella finestra Explorer, seleziona il servizio Workspace di livello superiore.

Nella finestra Properties, individua la proprietà GlobalWind e imposta un valore X, Y e Z per la sua direzione e forza.

Influenza delle particelle
Le particelle emesse da un ParticleEmitter seguiranno il vettore del vento globale finché la proprietà WindAffectsDrag dell'emettitore è abilitata e la sua proprietà Drag è maggiore di 0, il che è utile per simulare la pioggia. Le istanze di Fire e Smoke seguono il vettore del vento per impostazione predefinita.

Widget della direzione del vento
Per facilitare la regolazione del vento globale, puoi utilizzare il widget Direzione del Vento, accessibile dal menu Visualizza di Studio. Il widget ti consente di visualizzare come il vento sta soffiando utilizzando un modello di sacco a vento, e puoi impostare dinamicamente la Velocità, il Yaw e il Pitch del vento facendo clic sul nome dell'aspetto desiderato e scorrendo il cursore lungo il fondo, oppure puoi regolare il yaw o il pitch manipolando l'anello verde e la freccia blu sulla parte animata. Puoi anche fare clic e trascinare il widget per riposizionarlo ovunque nella vista 3D.

Effetti scriptati
La programmazione della proprietà GlobalWind apre un'intera gamma di possibilità. Ad esempio, puoi utilizzare il seguente esempio di codice per causare raffiche cicliche di vento che aumentano e diminuiscono utilizzando la funzione math.sin().
local gustCycleDelay = 5 -- Massima durata tra i cicli di raffiche in secondi
local gustCycleDuration = 3.5 -- Durata di ciascun ciclo di raffiche in secondi
-- Durante ciascun ciclo di raffiche, una porzione di "raffica" sarà aggiunta a "baseWind" in modo graduale
local baseWind = Vector3.new(5, 0, 2) -- Velocità e direzione del vento di base
local gust = Vector3.new(25, 0, 10) -- Velocità e direzione della raffica
local gustIntervals = 100 -- Numero di iterazioni utilizzate per calcolare ciascun intervallo di raffiche
local dg = gustCycleDuration / gustIntervals
local dgf = dg / gustCycleDuration
-- Imposta il vento globale inizialmente al vento di base
workspace.GlobalWind = baseWind
-- Attendi il tempo di ritardo prima di iniziare le raffiche
task.wait(gustCycleDelay)
while true do
for i = 1, gustIntervals do
local f = math.sin(math.pi * dgf * i) -- Usa la funzione sin() per aumentare la raffica
workspace.GlobalWind = baseWind + f * gust -- Imposta il vento globale al vento di base + raffica
task.wait(dg)
end
workspace.GlobalWind = baseWind -- Ripristina il vento globale al vento di base alla fine del ciclo di raffiche
task.wait(math.random() * gustCycleDelay) -- Attendi una frazione casuale di ritardo prima del prossimo ciclo di raffiche
end