Fire
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ไฟ เป็นหนึ่งในหลายๆ Classไฟจะปล่อยอนุภาคเมื่อถูกผูกกับ BasePart และในขณะที่ Attachment ในขณะที่ Enabledวัตถุนี้มีประโยชน์ในการสร้างเอฟเฟกต์ภาพที่รวดเร็วในชั่วพริบตา; สำหรับงานที่ซับซ้อนมากขึ้นก็เป็นที่นิยมที่จะใช้ ParticleEmitter แทน
อนุภาคไฟปล่อยออกจากศูนย์กลางของ BasePart ที่พวกเขาเป็นพ่อแม่อนุภาคจะถูกปล่อยไปในทิศทางด้านบน (+Y); อย่างไรก็ตาม อนุภาคลบ Fire.Heat อาจถูกใช้เพื่อปล่อยในทิศทางด้านล่าง (-Y)การใช้ Attachment เป็นพ่อแทนจะช่วยให้ตำแหน่งการปล่อยหรือทิศทางการปล่อยสามารถแก้ไขได้โดยการเปลี่ยนค่า Attachment.CFrame หรือคุณสมบัติที่เกี่ยวข้อง
เมื่อ Enabled ปิดอยู่ อนุภาคที่มีอยู่จะยังคงแสดงผลจนกว่าจะหมดอายุอย่างไรก็ตาม หากไฟ Parent ถูกตั้งค่าเป็น nil อนุภาคทั้งหมดที่มีอยู่จะหายไปทันที เช่นเดียวกับพฤติกรรมของ ParticleEmitter:Clear()เป็นไปได้ที่จะตั้งค่า Parent เป็น nil และกลับไปที่วัตถุเดิมที่แน่นอนเพื่อให้ได้ผลเดียวกันหากไม่ต้องการให้หายไปทันที ลองย้ายผู้ปกครองของไฟไปยังตำแหน่งที่ไกลออกไป จากนั้น Destroy ไฟหลังจากสองสามวินาทีโดยใช้ Debris:AddItem()จะทำให้อนุภาคที่มีอยู่หมดอายุในเวลา
เป็นเจ้าของPointLight ด้วยสีส้ม Colorสิ่งนี้สามารถช่วยให้ไฟดูเป็นจริงมากขึ้น
วัตถุไฟประกอบด้วยสองตัวเร่งทั้งสองถูกผลกระทบในหลายวิธีโดยไฟ Size , Heat , Color และ SecondaryColor ของไฟอนุภาคที่ปล่อยจากตัวปล่อยรองที่เล็กกว่ามีอายุการใช้งานที่ยาวนานกว่า (และเพิ่มขึ้นไกลกว่า) กว่าอนุภาคที่ปล่อยโดยตัวปล่อยหลักในวิดีโอทางด้านขวาคุณสามารถเห็นผู้ออกอากาศทั้งสองรายด้วยสีที่แตกต่างกัน
ไม่เหมือนกับเปลวไฟจริง Fire วัตถุ ไม่แพร่กระจายเองได้ หากคุณสังเกตพฤติกรรมนี้ในเกมของคุณ มันจะเกิดขึ้นเนื่องจาก Script
ตัวอย่างโค้ด
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
สรุป
คุณสมบัติ
กำหนดสีของอนุภาคเปลวไฟหลัก (ภายนอก)
กำหนดว่าอนุภาคไฟจะถูกปล่อยหรือไม่
กำหนดความเร็วที่อนุภาคถูกปล่อย
กำหนดสีของอนุภาคเปลวไฟรอง (ภายใน)
กำหนดขนาดของอนุภาคเปลวไฟ
มูลค่าระหว่าง 0-1 ที่ควบคุมความเร็วของเอฟเฟกต์อนุภาค
คุณสมบัติ
Color
คุณสมบัติสีจะกำหนดสีของอนุภาคขนาดใหญ่ที่ปล่อยโดยวัตถุ Fire ที่มีขนาดใหญ่มันเป็นสีของส่วนด้านนอกของเปลวไฟเป็นหลัก
โดยทั่วไป เปลวไฟที่เย็นกว่าอยู่ที่ด้านนอกของไฟดังนั้นไฟจึงดูเป็นจริงมากขึ้นถ้าส่วนด้านนอกเป็นสีแดงหรือสีส้ม-เหลืองไฟที่สว่างตลอดทั้งวันไม่ดูเป็นจริงมาก ดังนั้นหลีกเลี่ยงการตั้งค่าคุณสมบัตินี้เป็นสีเหลืองลองเพิ่ม PointLight ด้วย PointLight.Color ในฐานะพี่น้องกับ Fireจะให้แสงแก่สภาพแวดล้อมรอบๆ และทำให้รู้สึกเป็นหนึ่งเดียวกับอนุภาคไฟได้มากขึ้น
ตัวอย่างโค้ด
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
Enabled
คุณสมบัติที่เปิดใช้งาน เช่นเดียวกับ ParticleEmitter.Enabled กำหนดว่าอนุภาคไฟจะถูกปล่อยหรือไม่อนุภาคใดๆ ที่ปล่อยออกมาแล้วจะยังคงแสดงผลจนกว่าอายุการใช้งานจะหมดลงคุณสมบัตินี้มีประโยชน์ในการเก็บเอฟเฟกต์ไฟที่ทำไว้ล่วงหน้าออกจนกว่าจะต้องใช้ในภายหลังเนื่องจากอนุภาคไฟถูกทําลายเมื่อ Fire วัตถุ Instance.Parent ถูกตั้งค่าเป็น nil ดังนั้นคุณสมบัตินี้มีประโยชน์ในการอนุญาตให้อนุภาคที่มีอยู่มีโอกาสหมดอายุก่อนที่จะทําลายวัตถุไฟทั้งหมดดูฟังก์ชันด้านล่าง
local Debris = game:GetService("Debris")
local part = script.Parent
function douseFlames(fire)
fire.Enabled = false -- No more new particles
Debris:AddItem(fire, 2) -- Remove the object after a delay (after existing particles have expired)
end
douseFlames(part.Fire)
ตัวอย่างโค้ด
This code sample allows a player to click the parent BasePart to toggle a fire effect.
local part = script.Parent
local clickDetector = Instance.new("ClickDetector")
clickDetector.Parent = part
local fire = Instance.new("Fire")
fire.Parent = part
local light = Instance.new("PointLight")
light.Parent = part
local function onClick()
fire.Enabled = not fire.Enabled
light.Enabled = fire.Enabled
end
clickDetector.MouseClick:Connect(onClick)
Heat
คุณสมบัติความร้อนกำหนดความเร็วที่อนุภาคถูกปล่อยออกจากวัตถุ Fireมันจํากัดอยู่ที่ช่วง [-25, 25]ค่าบวกอยู่ในทิศทางด้านบน (+Y) ของพ่อ BasePart หรือ Attachmentนอกจากนี้ยังมีผลต่อ ParticleEmitter.Acceleration ของอนุภาคภายในด้านล่างนี้คุณสามารถดูผลกระทบของความร้อนที่สูงกว่าต่อความเร็ว/การเร่งของอนุภาคไฟ (ซ้ายมีความร้อน = 9 ขวามีความร้อน = 18)
ตัวอย่างโค้ด
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
LocalTransparencyModifier
SecondaryColor
คุณสมบัติสีรองกำหนดสีของอนุภาคขนาดเล็กที่ปล่อยโดยวัตถุ Fire ที่มีขนาดเล็กมันเป็นสีของส่วนภายในของเปลวไฟเป็นหลักด้านล่างคุณสามารถดูสีรองของเปลวไฟถูกตั้งเป็นสีขาวเพื่อแยกออกจากอนุภาคขนาดใหญ่ที่มีสีฟ้า Fire.Color กำหนดไว้ควรทราบว่าอนุภาคภายในใช้ ParticleEmitter.LightEmission ของ 1 ดังนั้นสีที่มืดกว่าจะทำให้อนุภาคปรากฏใส (และดังนั้นสีดำจะหยุดแสดงอนุภาคภายในทั้งหมด)
ตัวอย่างโค้ด
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
Size
คุณสมบัตินี้กำหนดขนาดของอนุภาคเปลวไฟต้องอยู่ในช่วง 2 ถึง 30ไม่เหมือนกับ ParticleEmitter.Size ขนาดเปลวไฟจริงจะไม่ตรงกับขนาดเทียบเท่าในสตัด มันเล็กกว่าเล็กน้อย
เพื่อทำให้สภาพแวดล้อมของคุณมีความสอดคล้องมากขึ้น ลองเพิ่ม PointLight เป็นพี่น้องของวัตถุ Fireตั้งค่า PointLight.Brightness และ PointLight.Range ให้สัดส่วนกับคุณสมบัตินี้เพื่อให้ไฟไหม้ขนาดใหญ่ผลิตแสงได้มากขึ้น
ตัวอย่างโค้ด
This code sample adds Fire to all BasePart in the Workspace named "Torch".
for _, child in pairs(workspace:GetChildren()) do
if child.Name == "Torch" and child:IsA("BasePart") then
local fire = Instance.new("Fire")
fire.Heat = 10
fire.Color = child.Color
fire.SecondaryColor = Color3.new(1, 1, 1) -- White
fire.Size = math.max(child.Size.X, child.Size.Z) -- Pick the larger of the two dimensions
fire.Parent = child
end
end
TimeScale
มูลค่าระหว่าง 0-1 ควบคุมความเร็วของเอฟเฟกต์อนุภาคที่ 1 มันทำงานด้วยความเร็วปกติ, ที่ 0.5 มันทำงานด้วยความเร็วครึ่งหนึ่ง, และที่ 0 มันแช่แข็งเวลา