GlobalWind 向量設置了風在遊戲中吹動的方向和強度,影響 地形草地 和 動態雲朵。你可以將其設置為 常量向量,或通過 腳本編寫 調整,以創造循環的風陣。此外,你還可以影響 顆粒 使其跟隨全球風向量。
全球風向量
全球風是通過 GlobalWind 向量控制的,這是一個 Workspace 的屬性,你可以在 Studio 中直接編輯它,或通過 腳本編寫 設置。
要在 Studio 中設置全球風向量:
在 資源管理器 窗口中,選擇頂級的 Workspace 服務。

在 屬性 窗口中,找到 GlobalWind 屬性,並為其方向和強度設置一個 X、Y 和 Z 值。

顆粒影響
由 ParticleEmitter 發射的顆粒將跟隨全球風向量,只要發射器的 WindAffectsDrag 屬性已啟用,且其 Drag 屬性大於 0。 Fire 和 Smoke 實例默認跟隨風向量。

風向小工具
為了更容易調整全球風,你可以使用 風向 小工具,從 Studio 的 視圖 菜單中訪問。該小工具讓你可視化風的吹動方式,使用風袋模型,你可以通過點擊所需的方面名稱並在底部滑桿上滑動,或者通過操控動畫部分上的綠色環和藍色箭頭來動態設置風的 速度、偏航 和 俯仰。你還可以點擊並拖動小工具,將其重新定位到 3D 視口中的任何位置。

腳本效果
對 GlobalWind 屬性的腳本編寫打開了整個範圍的可能性。例如,你可以使用以下代碼範本來生成循環的風陣,利用 math.sin() 函數實現漸進和漸出效果。
腳本 - 循環風陣local gustCycleDelay = 5 -- 每次風陣周期間的最大持續時間(秒)local gustCycleDuration = 3.5 -- 每次風陣周期的持續時間(秒)-- 在每次風陣周期中,會以逐漸的方式將一部分的「風陣」添加到「基礎風」中local baseWind = Vector3.new(5, 0, 2) -- 基礎風速和方向local gust = Vector3.new(25, 0, 10) -- 風陣速度和方向local gustIntervals = 100 -- 用於計算每個風陣區間的迭代次數local dg = gustCycleDuration / gustIntervalslocal dgf = dg / gustCycleDuration-- 最初設置全球風為基礎風workspace.GlobalWind = baseWind-- 在開始風陣之前等待延遲時間task.wait(gustCycleDelay)while true dofor i = 1, gustIntervals dolocal f = math.sin(math.pi * dgf * i) -- 使用 sin() 函數來逐漸增強風陣workspace.GlobalWind = baseWind + f * gust -- 設置全球風為基礎風加風陣task.wait(dg)endworkspace.GlobalWind = baseWind -- 在風陣周期結束時重置全球風為基礎風task.wait(math.random() * gustCycleDelay) -- 在下一個風陣周期之前等待隨機的延遲end