グローバルな風

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ベクトルは、風が経験を通り抜けて向かう方向と強度を設定し、地形草や動的クラウドに影響します。 コンセントベクトル として設定するか、 スクリプトを介して調整して、風のサイクリックな勁風を作成できます。さらに、粒子 をグローバルな風ベクトルに従わせることもできます。

グローバルな風ベクトル

グローバルウィンドは、GlobalWind を介して制御され、Workspace のプロパティであり、直接編集するか、スクリプト を介して設定できます。

Studio でグローバルな風ベクトルを設定するには:

  1. エクスプローラー ウィンドウで、トップレベルの ワークスペース サービスを選択します。

    Workspace object shown in Explorer window of Studio
  2. In the プロパティ window, locate the GlobalWind property and set an X , Y , and Z value for its direction and strength.

    GlobalWind property shown in Properties window of Studio

パーティクルの影響

パーティクルを発生させる ParticleEmitter は、エミッターの WindAffectsDrag プロパティが有効になっており、その Drag プロパティが 0 より大きい限り、グローバルな風ベクトルに従います。FireSmoke インスタンスはデフォルトで風ベクトルに従います。

Drag and WindAffectsDrag properties shown in Properties window of Studio

風向きウィジェット

グローバルウィンドを調整するのを簡単にするには、 ウィンド方向 ウィジェットを、ビュータブからアクセスできます。ウィジェットでは、「風ソック」モデルを使用して風がどのように吹いているかを視覚化でき、指定のアスペクト名をクリックしてスライダを下に動かしたり、アニメーションされた部分の緑のリングと青い矢印を操作して風速、方向、ピッチを動的に設定できます。または、アニメーションされた部分の緑のリングと青い矢印を操作して風向きまたはピッチを調整できます。また、ウィジェットをクリックしてドラッグして、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 -- 各バーストサイクルの時間 (秒)
-- 各バーストサイクルでは、「バースト」の一部が「baseWind」に坂道形式で追加されます
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