ParticleEmitter

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

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

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

อนุภาคจะปล่อยออกโดยอัตโนมัติเมื่อเอมิตเตอร์มี Enabled ไม่เป็นศูนย์ Rate หรือด้วยตนเองเมื่อใช้วิธี Emitด้วยไม่เป็นศูนย์ Speed , อนุภาคจะถูกตั้งให้เคลื่อนที่ไปข้างหน้าและ/หรือข้างหลังขึ้นอยู่กับคุณสมบัติ ShapeInOut

โดยค่าเริ่มต้น อนุภาคจะเผชิญกับกล้อง แต่ Orientation สามารถปรับแต่งเพื่อเคารพความเร็วของอนุภาคแทนได้

ในระหว่าง Lifetime ของอนุภาคพวกเขาสามารถเปลี่ยนรูปลักษณ์ตาม Color และ Sizeการเคลื่อนไหวของพวกเขาสามารถเปลี่ยนแปลงได้ตามเวลาตามคุณสมบัติ Drag และ Acceleration และพวกเขายังสามารถเคลื่อนที่ได้เมื่อพวกเขาเป็น LockedToPart หรือมีคุณสมบัติ VelocityInheritance ที่ไม่เป็นศูนย์

เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการสร้างและปรับแต่งตัวเร่งอนุภาค ดูที่ ตัวเร่งอนุภาค

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

This rather lengthy code sample shows how every property of a ParticleEmitter can be set, including NumberRange, NumberSequence and ColorSequence properties. Below is how the ParticleEmitter should look after every property is set. Try playing around with the different properties to customize how the effect looks!

Creating a Particle Emitter from Scratch

local emitter = Instance.new("ParticleEmitter")
-- Number of particles = Rate * Lifetime
emitter.Rate = 5 -- Particles per second
emitter.Lifetime = NumberRange.new(1, 1) -- How long the particles should be alive (min, max)
emitter.Enabled = true
-- Visual properties
emitter.Texture = "rbxassetid://1266170131" -- A transparent image of a white ring
-- For Color, build a ColorSequence using ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(time, color)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- At t=0, White
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- At t=.5, Orange
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- At t=1, Red
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(time, size, envelop)
NumberSequenceKeypoint.new(0, 1), -- At t=0, fully transparent
NumberSequenceKeypoint.new(0.1, 0), -- At t=.1, fully opaque
NumberSequenceKeypoint.new(0.5, 0.25), -- At t=.5, mostly opaque
NumberSequenceKeypoint.new(1, 1), -- At t=1, fully transparent
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- When particles overlap, multiply their color to be brighter
emitter.LightInfluence = 0 -- Don't be affected by world lighting
-- Speed properties
emitter.EmissionDirection = Enum.NormalId.Front -- Emit forwards
emitter.Speed = NumberRange.new(0, 0) -- Speed of zero
emitter.Drag = 0 -- Apply no drag to particle motion
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Don't inherit parent velocity
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Don't lock the particles to the parent
emitter.SpreadAngle = Vector2.new(0, 0) -- No spread angle on either axis
-- Simulation properties
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- At t=0, size of 0
NumberSequenceKeypoint.new(1, 10), -- At t=1, size of 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Render slightly behind the actual position
emitter.Rotation = NumberRange.new(0, 360) -- Start at random rotation
emitter.RotSpeed = NumberRange.new(0) -- Do not rotate during simulation
-- Create an attachment so particles emit from the exact same spot (concentric rings)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Move the attachment upwards a little
attachment.Parent = script.Parent
emitter.Parent = attachment

สรุป

คุณสมบัติ

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

    กำหนดการเร่งแกนโลกของอนุภาคทั้งหมดที่ใช้งานอยู่ที่วัดเป็นสตัดต่อวินาทีที่สอง

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

    ขยายแสงที่ปล่อยจากตัวเร่งเมื่อ ParticleEmitter.LightInfluence เป็น 0

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

    กำหนดสีของอนุภาคที่ใช้งานทั้งหมดตลอดอายุการใช้งานแต่ละครั้ง

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

    กำหนดอัตราที่อนุภาคจะสูญเสียความเร็วครึ่งหนึ่งผ่านการสลายตัวแบบทวีคูณ

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

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

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

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

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

    กำหนดความเร็วที่ภาพแอนิเมชั่นของหนังสือพลิกรวดเร็วในเฟรมต่อวินาที

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

    ข้อความข้อผิดพลาดที่จะแสดงหาก Texture ไม่สอดคล้องกับหนังสือพลิก

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

    กำหนดรูปแบบของเทกเจอร์ของหนังสือพลิก ต้องเป็นไม่มี, กริด 2x2, กริด 4x4 หรือกริด 8x8

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

    แอนิเมชันต้องเป็น Loop, OneShot, PingPong หรือ Random

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

    กำหนดว่าแอนิเมชั่นจะเริ่มที่กรอบสุ่มที่เลือกต่ออนุภาคแทนที่จะเริ่มที่กรอบเป็นศูนย์เสมอ

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

    กำหนดช่วงอายุแบบสุ่มสำหรับอนุภาคที่ออกใหม่

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

    กำหนดจำนวนสีของอนุภาคที่ผสมกับสีที่อยู่เบื้องหลังพวกเขา

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

    กำหนดจำนวนอนุภาคที่ได้รับอิทธิพลจากแสงสิ่งแวดล้อมเท่าใด

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

    กำหนดว่าอนุภาคเคลื่อนที่อย่างแข็งกับชิ้นส่วนที่พวกเขาถูกปล่อยออกมาหรือไม่

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

    ระบุวิธีการจัดทิศทางของอนุภาค

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

    กำหนดจํานวนอนุภาคที่ปล่อยต่อวินาที

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

    กำหนดช่วงความเร็วในแง่ของอนุภาคที่ปล่อยออกมา วัดเป็นองศาต่อวินาที

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

    กำหนดช่วงการหมุนในองศาสำหรับอนุภาคที่ปล่อยใหม่

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

    ตั้งรูปร่างของตัวเร่งเป็นกล่อง ทรงกลม ทรงกระบอก หรือแผ่นดิสก์

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

    ตั้งค่าว่าอนุภาคจะปล่อยออกไปข้างนอกเท่านั้น ไปข้างในเท่านั้น หรือทั้งสองทิศทาง

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

    อิทธิพลต่อการปล่อยอนุภาคจากทรงกระบอก ดิสก์ ทรงกลม และกล่องรูปทรง

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

    ตั้งการปล่อยอนุภาคเป็นทั้งการปล่อยภายในหรือเพียงพื้นผิว

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

    กำหนดขนาดโลกตลอดอายุของอนุภาคแต่ละอนุภาค

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

    กำหนดช่วงความเร็วแบบสุ่ม (ต่ำสุดถึงสูงสุด) ที่อนุภาคใหม่จะปล่อยออกมา วัดเป็นจุดต่อวินาที

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

    กำหนดมุมที่อนุภาคอาจปล่อยแบบสุ่มได้ วัดเป็นองศา

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

    อนุญาตให้ปรับขนาดของอนุภาคไม่สม่ำเสมอในระหว่างชีวิตของพวกเขา โดยควบคุมเส้นโค้ง

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

    กำหนดภาพที่เรนเดอร์บนพาร์ทเนอร์

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

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

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

    กำหนดความโปร่งใสของอนุภาคตลอดอายุการใช้งานแต่ละครั้ง

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

    กำหนดว่าส่วนใดของความเร็วของพ่อจะได้รับการสืบทอดโดยอนุภาคเมื่อปล่อยออกมา

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

    ว่าอนุภาคที่ปล่อยออกมาจะปฏิบัติตามเวกเตอร์ Workspace.GlobalWind

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

    กำหนดตำแหน่งการเรนเดอร์แบบไปข้างหน้า-ถอยหลังของอนุภาค; ใช้ควบคุมสิ่งที่อนุภาคเรนเดอร์บนด้านบน/ด้านล่าง

วิธีการ

  • Clear():()

    ลบอนุภาคทั้งหมดที่ถูกปล่อยออกมา

  • Emit(particleCount : number):()

    ปล่อยจํานวนอนุภาคที่กำหนดไว้

คุณสมบัติ

Acceleration

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

คุณสมบัติ การเร่งความเร็ว กำหนดวิธีที่อนุภาค Speed เปลี่ยนแปลงในช่วงชีวิตของพวกเขามันกำหนดโดยใช้ Vector3 เพื่อกำหนดการเร่งความเร็วบนแกน X / Y / Z ทั่วโลกและวัดเป็นสตัดต่อวินาทีเมื่อเปลี่ยนแปลงคุณสมบัตินี้จะส่งผลต่ออนุภาคทั้งหมดที่ปล่อยโดยตัวเร่ง ทั้งปัจจุบันและในอนาคต

การเร่งจะทำให้อนุภาคช้าลงหากจุดเวกเตอร์ในทิศทางตรงกันข้าม EmissionDirection ที่พวกเขาถูกปล่อยออกมา มิฉะนั้นจะเร่งพวกเขาขึ้น

Brightness

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

ขยายแสงที่ปล่อยจากตัวเร่งเมื่อ ParticleEmitter.LightInfluence เป็น 0

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

คุณสมบัติ สี กำหนดสีของอนุภาคทั้งหมดที่ใช้งานอยู่ตลอดชีวิตของแต่ละรายการสีใช้กับ Texture เมื่อเรนเดอร์และใช้เทกเจอร์อัลฟาร่วมกับ Transparency ของเอมิตเตอร์หากผู้ส่งมีค่า LightEmission ที่มากกว่า 0 สีมืดจะทำให้อนุภาคดูโปร่งใสมากขึ้น

การเปลี่ยนค่าความสมบูรณ์นี้จะส่งผลต่ออนุภาคทั้งหมดที่ปล่อยโดยเอมิตเตอร์ทั้งปัจจุบันและอนาคต

เมื่อคุณสมบัตินี้ใช้เฉดสี ColorSequence แสดงสีปัจจุบันของอนุภาคจะถูกกำหนดโดยการแอบโซลูชันเชิงเส้นโดยใช้อายุของอนุภาคและชีวิตทั้งหมดของมันตัวอย่างเช่น หากอนุภาคเกิดขึ้น 2 วินาทีที่ผ่านมาและมีอายุการใช้งาน 4 วินาที สีจะเป็นอะไรก็ได้ที่เป็น 50% ของทางผ่าน ColorSequence

Drag

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

คุณสมบัติ ลาก กำหนดอัตราในวินาทีที่อนุภาคแต่ละอันจะสูญเสียความเร็วครึ่งหนึ่งผ่านการลดลงทวีคูณการลากใช้โดยการขยายความเร็วที่คาดไว้จาก Speed และความเร็วใดๆ ที่มีมาจากพ่อของคุณจาก VelocityInheritanceการตั้งค่าคุณสมบัตินี้เป็นค่าลบจะทำให้ความเร็วของอนุภาคเพิ่มขึ้นอย่างก้าวกระโดด

EmissionDirection

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

คุณสมบัติ ทิศทางการปล่อย กำหนดใบหน้า ( Enum.NormalId ) ของวัตถุบิดาที่อนุภาคปล่อยออกมาลบ Speed หมายถึงอนุภาคปล่อยในทิศทางตรงกันข้ามSpreadAngle แตกต่างไปตามทิศทางการปล่อยต่อไป

หากคุณเพิ่ม ParticleEmitter ให้กับ Attachment ซึ่งมีทิศทางคุณสามารถหมุนสิ่งที่แนบมาเอง ( Attachment.Orientation ) แทนที่จะใช้คุณสมบัตินี้

Enabled

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

คุณสมบัติ เปิดใช้งาน กำหนดว่าอนุภาคจะปล่อยจากตัวเร่งหรือไม่การตั้งค่านี้เป็น false หยุดการสร้างอนุภาคเพิ่มเติม แต่อนุภาคที่มีอยู่แล้วยังคงใช้งานจนกว่าจะหมดอายุคุณสมบัตินี้มีประโยชน์เมื่อคุณมีเอฟเฟกต์อนุภาคที่ทำไว้ล่วงหน้าที่คุณต้องการให้ปิดใช้งานจนกว่าคุณจะต้องการส่งอนุภาค

หากต้องการล้างอนุภาคทั้งหมดจากเอมิตเตอร์ที่ถูกปิดใช้งาน โทร Clear()จากนั้นหากต้องการให้โทร Emit() บนเอมิตเตอร์เพื่อส่งและแสดงอนุภาค

FlipbookFramerate

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

คุณสมบัติ FlipbookFramerate กำหนดความเร็วที่ภาพแอนิเมชั่นของหนังสือพลิกเคลื่อนไหวในเฟรมต่อวินาทีเช่น Lifetime คุณสามารถตั้งค่าช่วงจำกัดขั้นต่ำและสูงสุดเพื่อสุ่มเรตกรอบของฟลิปบุ๊คด้วยความเร็วสูงสุด 30 เฟรมต่อวินาที

FlipbookIncompatible

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

ข้อความข้อผิดพลาดที่จะแสดงหาก Texture ไม่สอดคล้องกับหนังสือพลิกเทกเจอร์ของหนังสือพลิกต้องมีขนาดพิกเซล 8×8, 16×16, 32×32, 64×64, 128×128, 256×256, 512×512 หรือ 1024×1024

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

คุณสมบัติ FlipbookLayout กำหนดรูปแบบของเทกเจอร์ มันสามารถเป็นค่าใดก็ได้ของ enum Enum.ParticleFlipbookLayout

  • ไม่มี – ปิดใช้งานคุณลักษณะของหนังสือพลิกและใช้เทกเจอร์เป็นเทกเจอร์คงที่เดียวตลอดชีวิตของอนุภาค
  • กริด 2x2 – กรอบ 2×2 สําหรับแอนิเมชั่น 4 เฟรม
  • กริด 4x4 – กรอบ 4×4 สำหรับแอนิเมชัน 16 เฟรม
  • กริด 8x8 – แอนิเมชัน8×8 สําหรับแอนิเมชั่น 64 เฟรม
อ่านพร้อมๆ กัน

คุณสมบัติ FlipbookMode แอนิเมชันมันสามารถเป็นค่าใดก็ได้ของ enum: Enum.ParticleFlipbookMode

  • วนซ้ำ – เล่นต่อเนื่องผ่านทุกเฟรมโดยเริ่มจากเฟรมแรกหลังจากเล่นเฟรมล่าสุด
  • ยิงเดียว – เล่นผ่านแอนิเมชันเพียงครั้งเดียวในชีวิตของอนุภาคด้วยการตั้งค่านี้ คุณสมบัติ จะไม่ถูกนำมาใช้ แทนที่จะเป็นเช่นนั้น อัตราเฟรมจะถูกกำหนดโดยอนุภาคที่แบ่งออกเป็นสองเท่าโดยจํานวนเฟรมในแอนิเมชัน แอนิเมชั่น OneShot มีประโยชน์สำหรับแอนิเมชั่นที่ไม่ซ้ำกันชัดเจน เช่น การระเบิดที่สร้างฟองของควันแล้วจางไป
  • ปิงปอง – เล่นจากกรอบแรกไปยังกรอบสุดท้ายจากนั้นในลักษณะย้อนกลับจากกรอบสุดท้ายไปยังกรอบแรกซ้ำไปทั่วทั้ง Lifetime ของอนุภาค
  • สุ่ม – เล่นเฟรมในลำดับสุ่มโดยผสม/ลากจากเฟรมหนึ่งไปยังอีกสิ่งนี้สามารถมีประโยชน์สำหรับเทกเจอร์พาร์ติเคิลอินทรีย์ที่อัตราเฟรมต่ำ เช่น ดาวเคลื่อนช้าๆระหว่างรูปทรงที่แตกต่างอย่างเบาบาง

FlipbookStartRandom

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

คุณสมบัติ FlipbookStartRandom กำหนดว่าแต่ละอนุภาคจะเริ่มต้นที่กรอบภาพสุ่มของแอนิเมชันแทนที่จะเริ่มต้นที่กรอบแรกเสมอกรณีการใช้งานหนึ่งคือการเปิดใช้งานคุณสมบัตินี้และตั้ง FlipbookFramerate เป็นศูนย์ทำให้อนุภาคที่ปล่อยออกมาเป็นเฟรมคงที่ที่เลือกแบบสุ่มจากเทกเจอร์ของ flipbook

Lifetime

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

คุณสมบัติ ตลอดชีวิต กำหนดอายุสูงสุดและต่ำสุดสำหรับอนุภาคที่ออกใหม่เวลาชีวิตจะถูกจัดเก็บบนพื้นฐานของแต่ละอนุภาคดังนั้นหากมีการเปลี่ยนแปลงค่านี้อนุภาคที่มีอยู่จะยังคงใช้งานจนกว่าอายุการใช้งานแบบสุ่มที่เลือกแบบสุ่มจะสิ้นสุดอายุการใช้งาน 0 จะป้องกันไม่ให้อนุภาคปล่อยออกมาเลย

LightEmission

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

คุณสมบัติ การปล่อยแสง กำหนดการผสมผสานของสี Texture กับสีที่อยู่เบื้องหลังค่า 0 ใช้โหมดการผสมปกติในขณะที่ค่า 1 ใช้โหมดการผสมเพิ่มเติมเมื่อเปลี่ยนแปลงแล้ว คุณสมบัตินี้จะส่งผลต่ออนุภาคทั้งหมดที่เป็นเจ้าของโดยผู้ปล่อยทันที ทั้งในปัจจุบันและอนาคต

คุณสมบัตินี้ไม่ควรสับสนกับ LightInfluence ซึ่งกำหนดวิธีที่อนุภาคได้รับผลกระทบจากแสงสิ่งแวดล้อม

คุณสมบัตินี้ไม่ ไม่ ทําให้อนุภาคส่องแสงในสภาพแวดล้อมรอบตัวพวกเขา เพื่อที่จะทําเช่นนั้นให้พิจารณาใช้ PointLight

LightInfluence

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

คุณสมบัติ การมีอิทธิพลแสง กำหนดจำนวนแสงสิ่งแวดล้อมที่ส่งผลต่อสีของอนุภาคแต่ละอนุภาคเมื่อแสดงผลต้องอยู่ในช่วง 0–1; พฤติกรรมของค่าที่อยู่นอกช่วงนี้ไม่ได้รับการกำหนดที่ 0 อนุภาคจะไม่ได้รับอิทธิพลจากแสงเลย (พวกเขาเก็บความสว่างเต็ม); ที่ 1 อนุภาคได้รับอิทธิพลจากแสงอย่างเต็มที่ (ในความมืดสนิท อนุภาคจะเป็นสีดำ)

ค่าเริ่มต้นคือ 1 หากสอดเข้าด้วยเครื่องมือ Studio หากสอดโดยใช้ Instance.new() จะเป็น 0

LocalTransparencyModifier

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

LockedToPart

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

คุณสมบัติ LockedToPart กำหนดว่าอนุภาค "ติด" กับแหล่งกําเนิดหรือไม่ (คือ Attachment หรือ BasePart ซึ่ง ParticleEmitter เป็นบุตร)หาก true อนุภาคที่ใช้งานจะเคลื่อนที่ในขั้นตอนล็อคหากวัตถุบิดาเคลื่อนที่

หรือพิจารณาใช้คุณสมบัติ VelocityInheritance ด้วยค่า 1 ซึ่งอาจเหมาะสมกว่าสําหรับผลบางอย่าง

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

คุณสมบัติ การจัดทิศทาง กำหนดโหมดการจัดทิศทางที่จะใช้สำหรับภูมิภาคของอนุภาคของตัวส่งสัญญาณ


<td>พฤติกรรมของอนุภาค</td>
</tr>
</thead>
<tbody>
<tr>
<td><b>กล้องหันหน้า</b></td>
<td>บอร์ดโฆษณาขนานมาตรฐานที่เผยให้เห็นกล้อง; พฤติกรรมเริ่มต้น</td>
</tr>
<tr>
<td><b>หันกล้องไปทางขึ้นโลก</b></td>
<td>หันหน้าไปที่กล้อง แต่หมุนเฉพาะในแนวตั้งขึ้นไปในโลก <b>Y</b> เพียงแนวเดียว</td>
</tr>
<tr>
<td><b>ความเร็วพาราเลล</b></td>
<td>สอดประสานไปตามทิศทางการเคลื่อนที่ของพวกเขา</td>
</tr>
<tr>
<td><b>ความเร็วต่อพื้นที่</b></td>
<td>สอดประสานตามทิศทางการเคลื่อนที่ของพวกเขา</td>
</tr>
</tbody>
การจัดทิศทาง

Rate

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

คุณสมบัติ อัตรา กำหนดจำนวนอนุภาคที่ปล่อยออกมาต่อวินาทีในขณะที่เอมิตเตอร์เป็น Enabledมันเป็นสิ่งที่ตรงกันข้ามกับความถี่ ซึ่งหมายความว่าอัตรา 5 ปล่อยอนุภาคทุก 0.2 วินาทีเมื่อเปลี่ยนแปลงแล้ว คุณสมบัตินี้จะไม่มีผลต่ออนุภาคที่ใช้งานอยู่

RotSpeed

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

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

อนุภาคที่มีความเร็วในมุมสูงมากสามารถปรากฏเพื่อหมุนช้าลงหรือไม่มีเลยเนื่องจากมุมการหมุนจะซิงโครไนซ์กับความเร็วในการเรนเดอร์ซอฟต์แวร์ตัวอย่างเช่น หากอนุภาคหมุนตรง 360 องศาในแต่ละเฟรม จะไม่มีการเปลี่ยนแปลงที่เห็นได้ชัดในการหมุน

Rotation

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

คุณสมบัติ การหมุน กำหนดช่วงการหมุนในองศาสำหรับอนุภาคที่ปล่อยใหม่ในองศาที่วัดได้มูลค่าบวกอยู่ในทิศทางตามเข็มนาฬิกาคุณสมบัตินี้มักจะถูกตั้งค่าเป็น [0, 360] เพื่อให้การหมุนแบบสุ่มสมบูรณ์แก่อนุภาคใหม่RotSpeed ยังมีอิทธิพลต่อการหมุนของอนุภาคในระหว่างชีวิตของมัน

การเปลี่ยนแปลงค่านี้มีผลต่ออนุภาคใหม่เท่านั้น อนุภาคที่มีอยู่ยังคงรักษาการหมุนที่พวกเขาถูกปล่อยเดิมไว้

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

คุณสมบัติ รูปร่าง ตั้งค่ารูปร่างของตัวส่งไปยังกล่อง ทรงกลม ทรงกระบอก หรือแผ่นดิสก์หลังจากที่คุณทำการเลือกแล้ว คุณสามารถปรับแต่งคุณสมบัติ ShapeStyle , ShapeInOut และ ShapePartial เพื่อปรับแต่งการปล่อยอนุภาคต่อไปสำหรับตัวอย่างภาพ ดูที่ ที่นี่ .

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

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

ShapePartial

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

ขึ้นอยู่กับค่า Shape นี้คุณสมบัติจะดำเนินการด้วยการกระทําที่แตกต่าง:

  • สำหรับทรงกระบอกจะระบุอัตราส่วนรัศมีด้านบนค่า 0 หมายถึงด้านบนของทรงกระบอกมีรัศมีเป็นศูนย์ ทำให้เป็นทรงกรวยค่า 1 หมายความว่าทรงกระบอกไม่มีการเปลี่ยนแปลง

  • สำหรับดิสก์จะระบุอัตราส่วนรัศมีภายในค่า 0 หมายถึงดิสก์ปิดสนิท (วงกลม/รูปวงรี) ในขณะที่ค่า 1 หมายถึงการปล่อยเพียงเกิดขึ้นบนขอบด้านนอกของดิสก์ค่าระหว่าง 0 และ 1 ออกจากแอนนัลลัสที่มีความหนาบางเฉพาะ

  • สำหรับทรงกลมจะระบุมุมเอนกประสงค์ที่อนุภาคปล่อยออกมาค่า 1 หมายถึงอนุภาคปล่อยออกจากทั้งลูกบอล; ค่า 0.5 หมายถึงอนุภาคปล่อยออกจากครึ่งวงโคจร; ค่า 0 หมายถึงอนุภาคปล่อยออกจากจุดเดียวที่ขั้วเหนือเท่านั้น

สำหรับตัวอย่างภาพ ดูที่ ที่นี่ .

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

ตั้งการปล่อยอนุภาคเป็นทั้งการปล่อยภายในหรือเพียงพื้นผิว สำหรับตัวอย่างภาพ ดูที่ ที่นี่

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

คุณสมบัติ ขนาด กำหนดขนาดโลกของอนุภาคทั้งหมดที่ใช้งานอยู่ตลอดอายุการใช้งานแต่ละครั้งคุณสมบัตินี้แทนที่ขนาดของสี่เหลี่ยม Texture สำหรับแต่ละอนุภาคมันเป็น NumberSequence ที่ทำงานคล้ายกับ Transparency

ขนาดปัจจุบันของอนุภาคจะถูกกำหนดโดยการใช้การคำนวณเชิงเส้นในลำดับนี้โดยใช้อายุของอนุภาคและชีวิตทั้งหมดของมันตัวอย่างเช่น หากอนุภาคเกิดขึ้นเมื่อ 2 วินาทีที่แล้วและมีอายุการใช้งาน 4 วินาที ขนาดจะเป็นสิ่งที่เป็น 50% ของทางผ่าน NumberSequenceสำหรับใดๆ NumberSequenceKeypoint ที่มีมูลค่าซองไม่เป็นศูนย์ จะมีการเลือกมูลค่าสุ่มในช่วงซองสำหรับแต่ละจุดกุญแจสำหรับแต่ละอนุภาคเมื่อออก

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

คุณสมบัติ ความเร็ว กำหนดช่วงความเร็วแบบสุ่ม (ต่ำสุดถึงสูงสุด) ที่อนุภาคใหม่จะปล่อยออกมา วัดเป็นสตัดต่อวินาทีความเร็วของอนุภาคแต่ละอนุภาคจะถูกเลือกเมื่อออกและมันใช้ใน EmissionDirectionค่าลบทำให้อนุภาคเดินทางถอยหลัง

โปรดทราบว่าการเปลี่ยนแปลง Speed ไม่ส่งผลต่ออนุภาคที่ใช้งานอยู่และพวกเขาเก็บความเร็วที่พวกเขามีอยู่แล้วอย่างไรก็ตาม Acceleration , Drag และ VelocityInheritance สามารถใช้เพื่อมีผลต่อความเร็วของอนุภาคที่ใช้งานอยู่ตลอดชีวิต

SpreadAngle

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

คุณสมบัติ มุมกระจาย กำหนดมุมสุ่มที่อนุภาคอาจถูกปล่อยตัวอย่างเช่น หาก EmissionDirection เป็น ด้านบน (+ Y ), นี้ Vector2 อธิบายขนาดของการกระจายมุมสุ่มบนแกน X / Z ในองศา

การตั้งค่าแกนหนึ่งไปที่ 360 จะทำให้อนุภาคปล่อยในทุกทิศทางในวงกลม **** การตั้งค่าทั้งสองเป็น 360 จะทำให้อนุภาคปล่อยในทุกทิศทางในทรงกลม ****

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

อนุญาตให้ปรับขนาดของอนุภาคไม่สม่ำเสมอในระหว่างชีวิตของพวกเขา โดยควบคุมเส้นโค้งค่าที่มากกว่า 0 ทําให้อนุภาคหดตัวในแนวนอนและเติบโตในแนวตั้ง ในขณะที่ค่าที่น้อยกว่า 0 ทําให้อนุภาคหดตัวในแนวนอนและเติบโตในแนวตั้ง

Texture

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

คุณสมบัติ เทกเจอร์ กำหนดภาพที่เรนเดอร์บนพาร์ทเนอร์ภาพนี้ได้รับอิทธิพลจาก Color , Transparency , LightInfluence และ LightEmissionเทกเจอร์ที่มีพื้นหลังโปร่งใสทำงานได้ดีที่สุดสำหรับอนุภาค

TimeScale

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

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

Transparency

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

คุณสมบัติ ความโปร่งใส กำหนดความโปร่งใสของอนุภาคทั้งหมดที่ใช้งานอยู่ตลอดอายุการใช้งานแต่ละครั้งมันทำงานคล้ายกับ Size ในการที่มันส่งผลต่ออนุภาคในเวลาที่ผ่านมาในเรื่องของการเรนเดอร์ ค่า 0 เป็นที่มองเห็นได้อย่างสมบูรณ์ (ทึบ) และค่า 1 เป็นที่มองไม่เห็นอย่างสมบูรณ์ (ไม่ถูกเรนเดอร์เลย)

ความโปร่งใสปัจจุบันของอนุภาคจะถูกกำหนดโดยการสลับเชิงเส้นบนลำดับนี้โดยใช้อายุของอนุภาคและชีวิตทั้งหมดของมันตัวอย่างเช่น หากอนุภาคเกิดขึ้นเมื่อ 2 วินาทีที่แล้วและมีอายุการใช้งาน 4 วินาที ความโปร่งใสจะเป็นสิ่งที่เป็น 50% ของทางผ่าน NumberSequenceสำหรับใดๆ NumberSequenceKeypoint ที่มีมูลค่าซองไม่เป็นศูนย์ จะมีการเลือกมูลค่าสุ่มในช่วงซองสำหรับแต่ละจุดกุญแจสำหรับแต่ละอนุภาคเมื่อออก

VelocityInheritance

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

คุณสมบัติ การสืบทอดความเร็ว กำหนดจำนวนของส่วนบิดาที่ Velocity ได้รับการสืบทอดโดยอนุภาคเมื่อถูกปล่อยค่า 0 หมายความว่าไม่มีความเร็วที่สืบทอดมา ในขณะที่ค่า 1 หมายความว่าอนุภาคจะมีความเร็วเดียวกันกับพ่อ BasePart

เมื่อใช้ร่วมกับ Drag ผู้ปล่อยอนุภาคสามารถปรากฏขึ้นเพื่อ "โรย" อนุภาคจากชิ้นส่วนที่เคลื่อนที่

WindAffectsDrag

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

ถ้าเป็นจริง อนุภาคที่ปล่อยออกมาจะปฏิบัติตามเวกเตอร์ Workspace.GlobalWind เฉพาะถ้าคุณสมบัติ Drag มีมากกว่า 0

ZOffset

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

คุณสมบัติ ZOffset กำหนดตำแหน่งการแสดงผลแบบไปข้างหน้า-ถอยหลังของอนุภาคในสตัด โดยไม่เปลี่ยนขนาดของพวกเขาบนหน้าจอเมื่อเปลี่ยนแปลงคุณสมบัตินี้จะส่งผลต่อทั้งอนุภาคปัจจุบันและอนาคตโปรดทราบว่าคุณสมบัตินี้รองรับค่าเศษส่วน; มันไม่เหมือนกับ GuiObject.ZIndex (ตัวเลข)

ค่าบวกทำให้อนุภาคใกล้กับกล้องมากขึ้นและค่าลบทำให้อนุภาคห่างจากกล้องมูลค่าเชิงลบเพียงพอสามารถทำให้อนุภาคแสดงภายในหรือด้านหลังส่วนพ่วงได้

วิธีการ

Clear

()

วิธี ล้าง จะล้างอนุภาคทั้งหมดที่มีอยู่ทันทีที่ถูกปล่อยออกมาโดย ParticleEmitter ผ่านการปล่อยอนุภาคตามธรรมชาติ (ไม่เป็นศูนย์ Rate ในตัวปล่อยอนุภาค) หรือผ่าน Enabled ผ่าน Emit()


ส่งค่ากลับ

()

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

This code sample causes a ParticleEmitter to ParticleEmitter:Emit() particles in bursts of 10 every 2 seconds. It ParticleEmitter:Clear()s any existing particles before doing so.

ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit

()

วิธี ปล่อย จะทำให้ ParticleEmitter ปล่อยจํานวนอนุภาคที่กำหนดทันที

พารามิเตอร์

particleCount: number

จํานวนอนุภาคที่จะปล่อย

ค่าเริ่มต้น: 16

ส่งค่ากลับ

()

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

This code sample causes a parent ParticleEmitter to ParticleEmitter:Emit() particles based on how far the parent BasePart moves.

Emit Particles Over Distance

local RunService = game:GetService("RunService")
local emitter = script.Parent
local part = emitter.Parent
local PARTICLES_PER_STUD = 3
local lastPosition = part.Position
local distance = 0
local function onStep()
local displacement = part.Position - lastPosition
distance = distance + displacement.magnitude
local n = math.floor(distance * PARTICLES_PER_STUD)
emitter:Emit(n)
distance = distance - n / PARTICLES_PER_STUD
lastPosition = part.Position
end
RunService.Stepped:Connect(onStep)
emitter.Enabled = false

This code sample causes a ParticleEmitter to ParticleEmitter:Emit() particles in bursts of 10 every 2 seconds. It ParticleEmitter:Clear()s any existing particles before doing so.

ParticleEmitter Burst

local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

อีเวนต์