全球风

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

GlobalWind 向量设置风通过体验的方向和强度,影响地形草和动态云。您可以将其设置为 恒定向量 ,或通过 脚本 调整它来创建周期性的风暴。此外,你可以影响 粒子 跟随全球风矢量力。

全球风向矢量力

全球风由 GlobalWind 向量控制,它是 Workspace 的属性,您可以在 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