ลมทั่วโลก

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เวกเตอร์ GlobalWind ตั้งทิศทางและความแรงที่ลมพัดผ่านประสบการณ์ ส่งผลต่อหญ้าพื้นที่และเมฆไดนามิกคุณสามารถตั้งค่าเป็น เวกเตอร์คงที่ หรือปรับเปลี่ยนผ่าน การเขียนสคริปต์ เพื่อสร้างกระแสลมหมุนวนนอกจากนี้คุณสามารถส่งผลกระทบต่อ อนุภาค เพื่อทําตามเวกเตอร์ลมระดับโลก

เวกเตอร์ลมระดับโลก

ลมทั่วโลกจะควบคุมผ่านเวกเตอร์ GlobalWind เป็นคุณสมบัติของ Workspace และคุณสามารถแก้ไขได้โดยตรงใน Studio หรือตั้งค่าผ่าน สคริปต์

เพื่อตั้งเวกเตอร์ลมระดับโลกใน Studio:

  1. ในหน้าต่าง สํารวจ เลือกบริการระดับสูง พื้นที่ทํางาน

    Workspace object shown in Explorer window of Studio
  2. ในหน้าต่าง คุณสมบัติ ค้นหาคุณสมบัติ GlobalWind และตั้งค่า X Y และ Z ค่าสำหรับทิศทางและความแข็งแกร่งของมัน

    GlobalWind property shown in Properties window of Studio

อิทธิพลของอนุภาค

อนุภาคที่ปล่อยโดย ParticleEmitter จะปฏิบัติตามเวกเตอร์ลมทั่วโลกตราบใดที่คุณสมบัติ WindAffectsDrag ของผู้ส่งถูกเปิดใช้งานและคุณสมบัติ Drag ของมันมีมากกว่า 0Fire และ Smoke ตัวอย่างจะปฏิบัติตามเวกเตอร์ลมโดยค่าเริ่มต้น

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 -- ระยะเวลาของแต่ละรอบการพัดในวินาที
-- ในระหว่างแต่ละรอบการพัดลมจะมีส่วนหนึ่งของ "gust" ถูกเพิ่มเข้าไปใน "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