Smoke

แสดงที่เลิกใช้งานแล้ว

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

Classของประเภทเดียวกัน Smoke วัตถุปล่อยอนุภาคเมื่อถูกผูกกับ BasePart (เช่น Part ) หรือ Attachment ภายใน BasePart ดังกล่าวเมื่อเทียบกับคลาส ParticleEmitter ควันขาดคุณสมบัติการปรับแต่งที่แตกต่างกันมากมายและวิธีการพิเศษ เช่น ParticleEmitter.Lifetime หรือ ParticleEmitter:Emit()มันเป็นประโยชน์ที่จะสร้างเอฟเฟกต์พิเศษอย่างรวดเร็วในช่วงเวลาสั้น ๆ; สำหรับการทำงานที่ละเอียดมากขึ้นก็เป็นที่นิยมที่จะใช้ ParticleEmitter แทน

เมื่อ Smoke.Enabled ถูกสลับออก อนุภาคที่ปล่อยโดยวัตถุนี้จะยังคงแสดงผลจนกว่าอายุการใช้งานของพวกเขาจะหมดลงเมื่อวัตถุควันถูกตั้งค่าเป็น (และ/หรือ แก้ไข) อนุภาคทั้งหมดจะหายไปทันทีหากเอฟเฟกต์นี้ไม่ต้องการให้ลองซ่อนวัตถุรากในตำแหน่งที่ไกลออกไปแล้วลบควันหลังจากไม่กี่วินาทีโดยใช้ Debris เพื่อให้อนุภาคสุดท้ายมีโอกาสหมดอายุวัตถุนี้ไม่มีวิธี ParticleEmitter:Clear() แต่คุณสามารถตั้งค่า Instance.Parent ให้เป็น nil และกลับไปที่วัตถุเดียวกันสำหรับผลเดียวกันได้

อนุภาคควันจะถูกปล่อยออกจากศูนย์กลางของ BasePart ที่พวกเขาได้รับการสืบทอดการเลี้ยงดูวัตถุควันไปยัง Attachment แทนที่จะอนุญาตให้ปรับแต่งตำแหน่งเริ่มต้นของอนุภาค

ตัวอย่างโค้ด

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    กำหนดสีของอนุภาคควัน

  • อ่านพร้อมๆ กัน

    กำหนดว่าอนุภาคควันจะปล่อยหรือไม่

  • ซ่อนอยู่
    ไม่ซ้ำ
    อ่านพร้อมๆ กัน
  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    กำหนดวิธีที่อนุภาคควันทึบแสดงผล

  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    กำหนดความเร็วของอนุภาคควัน

  • ไม่ซ้ำ
    อ่านพร้อมๆ กัน

    กำหนดขนาดของอนุภาคควันที่ปล่อยใหม่

  • อ่านพร้อมๆ กัน

    มูลค่าระหว่าง 0-1 ที่ควบคุมความเร็วของเอฟเฟกต์อนุภาค

คุณสมบัติ

Color

อ่านพร้อมๆ กัน

คุณสมบัติสีจะกำหนดสีของอนุภาคทั้งหมดที่ปล่อยโดยวัตถุ Smoke (ทั้งอนุภาคที่มีอยู่และอนุภาคในอนาคต)มันทำงานคล้ายกับ ParticleEmitter.Color ยกเว้นว่ามันเป็นสีเดียวเท่านั้นและไม่ใช่ ColorSequenceสีขาวที่มีสีสันเล็กน้อย Smoke.Opacity ทำให้เกิดเอฟเฟกต์หมอกที่ดี และสีดําที่เข้มมากสามารถเสริมสร้างวัตถุ Fire ได้อย่างดี

ตัวอย่างโค้ด

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

Enabled

อ่านพร้อมๆ กัน

คุณสมบัติที่เปิดใช้งานมากเหมือน ParticleEmitter.Enabled จะกำหนดว่าอนุภาคควันจะถูกปล่อยออกมาหรือไม่อนุภาคใดๆ ที่ปล่อยออกมาแล้วจะยังคงแสดงผลจนกว่าอายุการใช้งานจะหมดลงคุณสมบัตินี้มีประโยชน์ในการเก็บเอฟเฟกต์ควันที่ทำไว้ล่วงหน้าออกจนกว่าจะต้องใช้ในภายหลังเนื่องจากอนุภาคควันถูกทําลายเมื่อ Smoke วัตถุ Instance.Parent ถูกตั้งค่าเป็น nil ดังนั้นคุณสมบัตินี้มีประโยชน์ในการอนุญาตให้อนุภาคที่มีอยู่มีโอกาสหมดอายุก่อนที่จะทําลายวัตถุไฟทั้งหมดดูฟังก์ชันด้านล่าง


local Debris = game:GetService("Debris")
local part = script.Parent
function stopSmoke(smoke)
smoke.Enabled = false -- No more new particles
Debris:AddItem(smoke, 10) -- Remove the object after a delay (after existing particles have expired)
end
stopSmoke(part.Smoke)

ตัวอย่างโค้ด

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

LocalTransparencyModifier

ซ่อนอยู่
ไม่ซ้ำ
อ่านพร้อมๆ กัน

Opacity

ไม่ซ้ำ
อ่านพร้อมๆ กัน

ความทึบของการกำหนดความทึบของอนุภาคควันต้องอยู่ในช่วง [0, 1]คุณสมบัตินี้ทำงาน ย้อนกลับ เมื่อเปรียบเทียบกับส่วน BasePart.Transparency หรือ ParticleEmitter's ParticleEmitter.Transparency : ค่า 0 เป็นสิ่งที่มองไม่เห็นสมบูรณ์ 1 เป็นสิ่งที่มองเห็นได้สมบูรณ์

เทกเจอร์ที่ Roblox ใช้สำหรับอนุภาค Smoke มีความโปร่งใสบางส่วน ดังนั้นการตั้งค่าคุณสมบัตินี้เป็น 1 ยังคงให้ความโปร่งใสในควันที่เรนเดอร์ได้

ตัวอย่างโค้ด

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

RiseVelocity

ไม่ซ้ำ
อ่านพร้อมๆ กัน

RiseVelocity มีพฤติกรรมคล้ายกับ ParticleEmitter.Speed และ Fire.Heat : มันกำหนดความเร็วที่อนุภาคควันเคลื่อนที่ในระหว่างชีวิตของพวกเขาต้องอยู่ในช่วง [-25, 25]ค่าลบจะทำให้อนุภาคปล่อยในทิศทางด้านล่าง (-Y) ของพ่อ BasePart

เมื่อใช้เอฟเฟกต์ Smoke เพื่อสร้างหมอก ตั้งค่าคุณสมบัตินี้เป็น 0สำหรับเอฟเฟกต์ควันที่มาก ทำให้การเพิ่มขึ้นนุ่มนวล (2 ถึง 8)สำหรับเสาไฟและท่อไอเสีย มูลค่าที่สูงกว่าเหมาะสม

ตัวอย่างโค้ด

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

Size

ไม่ซ้ำ
อ่านพร้อมๆ กัน

คุณสมบัติขนาดของ Smoke กำหนดขนาดของอนุภาคควันที่ปล่อยใหม่ไม่เหมือนกับ Smoke.Color คุณสมบัตินี้จะไม่เปลี่ยนขนาดของอนุภาคที่มีอยู่ต้องอยู่ในช่วง [0.1, 100]ไม่เหมือนกับ ParticleEmitter.Size คุณสมบัตินี้เป็นเพียงตัวเลข (ไม่ใช่ NumberSequence )โปรดทราบด้วยว่าขนาดของอนุภาคไม่ได้เป็น 1 ต่อ 1 กับสตัด; ในความเป็นจริงขนาดของอนุภาคควันใหญ่กว่าสองเท่าที่ขนาดใหญ่ที่สุด อนุภาคควันสามารถเรนเดอร์ได้ใหญ่กว่า 200 สตัดกว้าง!

ตัวอย่างโค้ด

This code sample adds a Smoke object to every Fire object in the Workspace. It does this by using a recursive search.

Add Smoke to All Fire

local function recurseForFire(object)
-- Check if we found a Fire object that has no Smoke
if object:IsA("Fire") and not object.Parent:FindFirstChildOfClass("Smoke") then
-- Create a smoke effect for this fire
local smoke = Instance.new("Smoke")
smoke.Color = Color3.new(0, 0, 0)
smoke.Opacity = 0.15
smoke.RiseVelocity = 4
smoke.Size = object.Size / 4
smoke.Parent = object.Parent
end
-- Continue search for Fire objects
for _, child in pairs(object:GetChildren()) do
recurseForFire(child)
end
end
recurseForFire(workspace)

TimeScale

อ่านพร้อมๆ กัน

มูลค่าระหว่าง 0-1 ควบคุมความเร็วของเอฟเฟกต์อนุภาคที่ 1 มันทำงานด้วยความเร็วปกติ, ที่ 0.5 มันทำงานด้วยความเร็วครึ่งหนึ่ง, และที่ 0 มันแช่แข็งเวลา

วิธีการ

อีเวนต์