Informacje o wersji
Edukacja
Klasa silnika
ParticleEmitter

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Przykłady kodu
Tworzenie emitera cząsteczek od podstaw
local emitter = Instance.new("ParticleEmitter")
-- Liczba cząsteczek = Wskaźnik * Czas życia
emitter.Rate = 5 -- Cząsteczki na sekundę
emitter.Lifetime = NumberRange.new(1, 1) -- Jak długo cząsteczki powinny być aktywne (min, max)
emitter.Enabled = true
-- Właściwości wizualne
emitter.Texture = "rbxassetid://1266170131" -- Przezroczysty obrazek białego pierścienia
-- Aby ustawić kolor, zbuduj ColorSequence używając ColorSequenceKeypoint
local colorKeypoints = {
-- API: ColorSequenceKeypoint.new(czas, kolor)
ColorSequenceKeypoint.new(0, Color3.new(1, 1, 1)), -- W t=0, Biały
ColorSequenceKeypoint.new(0.5, Color3.new(1, 0.5, 0)), -- W t=.5, Pomarańczowy
ColorSequenceKeypoint.new(1, Color3.new(1, 0, 0)), -- W t=1, Czerwony
}
emitter.Color = ColorSequence.new(colorKeypoints)
local numberKeypoints = {
-- API: NumberSequenceKeypoint.new(czas, rozmiar, owijki)
NumberSequenceKeypoint.new(0, 1), -- W t=0, całkowicie przezroczysty
NumberSequenceKeypoint.new(0.1, 0), -- W t=.1, całkowicie nieprzezroczysty
NumberSequenceKeypoint.new(0.5, 0.25), -- W t=.5, w większości nieprzezroczysty
NumberSequenceKeypoint.new(1, 1), -- W t=1, całkowicie przezroczysty
}
emitter.Transparency = NumberSequence.new(numberKeypoints)
emitter.LightEmission = 1 -- Gdy cząsteczki się nakładają, ich kolor jest mnożony, aby był jaśniejszy
emitter.LightInfluence = 0 -- Nie bądź podatny na oświetlenie świata
-- Właściwości prędkości
emitter.EmissionDirection = Enum.NormalId.Front -- Emituj do przodu
emitter.Speed = NumberRange.new(0, 0) -- Prędkość zerowa
emitter.Drag = 0 -- Nie stosuj oporu do ruchu cząsteczek
emitter.VelocitySpread = NumberRange.new(0, 0)
emitter.VelocityInheritance = 0 -- Nie dziedzicz prędkości rodzica
emitter.Acceleration = Vector3.new(0, 0, 0)
emitter.LockedToPart = false -- Nie blokuj cząsteczek do rodzica
emitter.SpreadAngle = Vector2.new(0, 0) -- Brak kąta rozprzestrzenienia na żadnej osi
-- Właściwości symulacji
local numberKeypoints2 = {
NumberSequenceKeypoint.new(0, 0), -- W t=0, rozmiar 0
NumberSequenceKeypoint.new(1, 10), -- W t=1, rozmiar 10
}
emitter.Size = NumberSequence.new(numberKeypoints2)
emitter.ZOffset = -1 -- Renderuj nieco za rzeczywistą pozycją
emitter.Rotation = NumberRange.new(0, 360) -- Rozpocznij od losowej rotacji
emitter.RotSpeed = NumberRange.new(0) -- Nie obracaj podczas symulacji
-- Stwórz załącznik, aby cząsteczki emitowały z dokładnie tego samego miejsca (koncentryczne pierścienie)
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 5, 0) -- Przesuń załącznik w górę trochę
attachment.Parent = script.Parent
emitter.Parent = attachment

Materiały referencyjne dotyczące interfejsów API
Właściwości
Acceleration
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Acceleration:Vector3

Brightness
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Brightness:number

Color
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Color:ColorSequence

Drag
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Drag:number

EmissionDirection
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.EmissionDirection:Enum.NormalId

Enabled
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Enabled:boolean

FlipbookBlendFrames
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookBlendFrames:boolean

FlipbookFramerate
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookFramerate:NumberRange

FlipbookIncompatible
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookIncompatible:string

FlipbookLayout
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookLayout:Enum.ParticleFlipbookLayout

FlipbookMode
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookMode:Enum.ParticleFlipbookMode

FlipbookSizeX
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookSizeX:number

FlipbookSizeY
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookSizeY:number

FlipbookStartRandom
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.FlipbookStartRandom:boolean

Lifetime
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Lifetime:NumberRange

LightEmission
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.LightEmission:number

LightInfluence
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.LightInfluence:number

LocalTransparencyModifier
Ukryte
Bez replikacji
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.LocalTransparencyModifier:number

LockedToPart
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.LockedToPart:boolean

Orientation
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Orientation:Enum.ParticleOrientation

Rate
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Rate:number

Rotation
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Rotation:NumberRange

RotSpeed
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.RotSpeed:NumberRange

Shape
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Shape:Enum.ParticleEmitterShape

ShapeInOut
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.ShapeInOut:Enum.ParticleEmitterShapeInOut

ShapePartial
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.ShapePartial:number

ShapeStyle
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.ShapeStyle:Enum.ParticleEmitterShapeStyle

Size
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Size:NumberSequence

Speed
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Speed:NumberRange

SpreadAngle
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.SpreadAngle:Vector2

Squash
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Squash:NumberSequence

Texture
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Texture:ContentId

TimeScale
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.TimeScale:number

Transparency
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.Transparency:NumberSequence

VelocityInheritance
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.VelocityInheritance:number

VelocitySpread
Przestarzałe

WindAffectsDrag
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.WindAffectsDrag:boolean

ZOffset
Odczyt równoległy
Możliwości: Basic
ParticleEmitter.ZOffset:number

Metody
Clear
Możliwości: Basic
ParticleEmitter:Clear():()
Zwroty
()
Przykłady kodu
Wybuch Emitor Cząstek
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

Emit
Możliwości: Basic
ParticleEmitter:Emit(particleCount:number):()
Parametry
particleCount:number
Wartość domyślna: 16
Zwroty
()
Przykłady kodu
Emituj Cząstki na Dystansie
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
Wybuch Emitor Cząstek
local emitter = script.Parent
while true do
emitter:Clear()
emitter:Emit(10)
task.wait(2)
end

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.