Type Index Pages
No Result Found !!!
-
Instance
- GameSettings
- DebugSettings
- BodyMover
- WeldConstraint
- HttpRbxApiService
- NotificationService
- Translator
- Lighting
- Beam
- GuiService
- UserInputService
- Studio
- Plugin
- HttpService
- Mouse
- BindableEvent
- RunService
- Pages
- Humanoid
- TestService
- PathfindingService
- Chat
- NetworkPeer
- Feature
- CharacterAppearance
- Constraint
- NetworkReplicator
- JointInstance
- Light
- BasePlayerGui
- AnalyticsService
- NetworkMarker
- BinaryStringValue
- FlyweightService
- Geometry
- LoginService
- InstancePacketCache
- ThirdPartyUserService
- TouchInputService
- RuntimeScriptService
- GuidRegistryService
- PartOperationAsset
- DialogChoice
- PhysicsService
- AdService
- TextService
- MarketplaceService
- TeleportService
- Accoutrement
- GamePassService
- AssetService
- InsertService
- PointsService
- ChangeHistoryService
- ServerScriptService
- JointsService
- LogService
- InputObject
- Toolbar
- LuaSettings
- RenderSettings
- AnimationTrack
- PhysicsSettings
- NetworkSettings
- CFrameValue
- Animation
- Color3Value
- BoolValue
- BrickColorValue
- Vector3Value
- AnimationController
- BindableFunction
- Button
- Trail
- LocalizationTable
- LocalizationService
- DebuggerBreakpoint
- DebuggerWatch
- ScriptDebugger
- Animator
- Attachment
- RemoteFunction
- RemoteEvent
- PluginManager
- Camera
- Stats
- Sky
- StarterPlayer
- Dragger
- TerrainRegion
- Path
- TextFilterResult
- Dialog
- StatsItem
- GoogleAnalyticsConfiguration
- ScriptContext
- ControllerService
- CacheableContentProvider
- ReflectionMetadataClasses
- ReflectionMetadataEnums
- DebuggerManager
- GuiBase
- UIBase
- LuaSourceContainer
- GuiItem
- DataModelMesh
- ServiceProvider
- ReflectionMetadataItem
- PostEffect
- PhysicsPacketCache
- TouchTransmitter
- RobloxReplicatedStorage
- Visit
- LuaWebService
- ScriptService
- FlagStandService
- VirtualUser
- SpawnerService
- TimerService
- CookiesService
- Team
- GroupService
- StarterGear
- Message
- PlayerScripts
- Configuration
- ContentProvider
- CollectionService
- Debris
- ReplicatedFirst
- ServerStorage
- ReplicatedStorage
- Folder
- TweenService
- Players
- ContextActionService
- StarterPlayerScripts
- SoundService
- KeyframeSequenceProvider
- VRService
- PluginGuiService
- Player
- Teams
- Pose
- Keyframe
- KeyframeSequence
- IntConstrainedValue
- DoubleConstrainedValue
- ForceField
- RayValue
- Fire
- Smoke
- Sparkles
- ParticleEmitter
- IntValue
- StringValue
- NumberValue
- Explosion
- ObjectValue
- SoundGroup
- UserGameSettings
- ClickDetector
- Sound
- Selection
- BadgeService
- TaskScheduler
- GlobalDataStore
- DataStoreService
- CustomEvent
- CustomEventReceiver
- VirtualInputManager
- FunctionalTest
- TweenBase
- SoundEffect
- ReflectionMetadataEvents
- ClusterPacketCache
- PVInstance
- FaceInstance
- Controller
- ReflectionMetadataCallbacks
- ReflectionMetadataFunctions
- ReflectionMetadataYieldFunctions
- ReflectionMetadataProperties
- ReflectionMetadata
- AdvancedDragger
- HapticService
- FriendService
- GamepadService
No Result Found !!!
Acceleration
The Acceleration property determines how particles ParticleEmitter/Speed
changes over the particle’s lifetime. It is defined using a DataType/Vector3
to determine the acceleration on the global X/Y/Z axes. It is measured in studs per second squared. When changed, this property affects all particles emit by the emitter, both current and future particles.
Pictured below are two default ParticleEmitters. The foreground (right) emitter has an Acceleration on the positive-X axis, causing the path of the particles to bend in that direction.
Acceleration will slow particles down if the vector points in the opposite ParticleEmitter/EmissionDirection
in which particles are emitted. Otherwise, it will speed them up. You can use ParticleEmitter/Drag
to slow particles down no matter what direction they travel.
Acceleration is most often used to apply a gravity effect to particles (try a value of (0, -3, 0) for this). You can also use small values on the X/Z axes to make it look like particles are being blown away by wind. If you emit a bubble particle downwards, you could use an acceleration of (0, 5, 0) to cause the bubbles to decelerate and then float back upwards.
Code Samples
Creating a Particle Emitter from Scratch
This rather lengthy code sample shows how every property of a ParticleEmitter
can be set, including DataType/NumberRange
, DataType/NumberSequence
and DataType/ColorSequence
properties. Below is how the ParticleEmitter should after every property is set. Try playing around with the different properties to customize how the effect looks!
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(.5, Color3.new(1, .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(.1, 0); -- At t=.1, fully opaque NumberSequenceKeypoint.new(.5, .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", script.Parent) attachment.Position = Vector3.new(0, 5, 0) -- Move the attachment upwards a little emitter.Parent = attachment
When you run the code sample, you should see particles that look like the provided animation.
How this site use cookies
This Platform uses cookies to offer you a better experience, to personalize content, to provide social media features and to analyse the traffic on our site. For further information, including information on how to prevent or manage the use of cookies on this Platform, please refer to our Privacy and Cookie Policy.