全球風

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

向量設置風通過體驗的方向和強度,影響地形草和動態雲。您可以將它設為 恆定向量 ,或通過 腳本 調整它來創建周期性的風暴。此外,您可以影響 粒子 跟隨全球風向量力。

全球風向向量力

全球風通過 GlobalWind 向量控制,它是 Workspace 的屬性,您可以在 Studio 中直接編輯它,或通過 腳本 設置它。

要在 Studio 設置全球風向量:

  1. 導航器 窗口中,選擇最高級別的 工作區 服務。

    Workspace object shown in Explorer window of Studio
  2. 屬性 視窗中,尋找 GlobalWind 屬性並設置 XYZ 值作為其方向和強度。

    GlobalWind property shown in Properties window of Studio

粒子影響

ParticleEmitter 發射的粒子將遵循全球風向量,直到發射者的 WindAffectsDrag 屬性啟用且其 Drag 屬性大於 0 為止。FireSmoke 實例會默認遵循風向向量。

Drag and WindAffectsDrag properties shown in Properties window of Studio

風向 widget

為了讓調整全球風更容易,您可以使用 風向 小工具,可從 檢視 標籤存取。 widget讓您使用"風扇"模型來視覺化風如何吹動,您可以動態設置風的 速度偏航傾斜 ,單擊所需的方向名稱並向下滑動滑塊,或您可以通過操縱動畫部分上的綠色環和藍色箭頭來調整偏航或傾斜。您也可以單擊並拖動 widget 以在 3D 視角中重新定位它。

Wind Direction tool indicated in View tab of Studio Wind Direction widget showing in 3D viewport of Studio

腳本效果

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 / gustIntervals
local dgf = dg / gustCycleDuration
-- 將全球風設為初始風源
workspace.GlobalWind = baseWind
-- 在開始衝擊之前等待延遲量
task.wait(gustCycleDelay)
while true do
for i = 1, gustIntervals do
local f = math.sin(math.pi * dgf * i) -- 使用 sin() 函數來坡度風
workspace.GlobalWind = baseWind + f * gust -- 將全球風設為基本風 + 衝擊風
task.wait(dg)
end
workspace.GlobalWind = baseWind -- 將全球風重置為暴風週期結束時的基本風
task.wait(math.random() * gustCycleDelay) -- 在下一個衝擊波周期之前等待隨機延遲一部分
end