ParticleFlags
ParticleProcessMaterial.swift:86enum ParticleFlagsenum ParticleFlagsimport SwiftGodotFramework to write Godot Game Extensions using the Swift Programming Language.
class ParticleProcessMaterialHolds a particle configuration for GPUParticles2D or GPUParticles3D nodes.
case alignYToVelocityUse with setParticleFlag(_:enable:) to set particleFlagAlignY.
case rotateYUse with setParticleFlag(_:enable:) to set particleFlagRotateY.
case disableZUse with setParticleFlag(_:enable:) to set particleFlagDisableZ.
case dampingAsFrictioncase maxRepresents the size of the ParticleFlags enum.
final var particleFlagAlignY: Bool { get set }Align Y axis of particle with the direction of its velocity.
final var particleFlagRotateY: Bool { get set }If true, particles rotate around Y axis by angleMin.
final var particleFlagDisableZ: Bool { get set }If true, particles will not move on the z axis.
override class var godotClassName: StringName { get }final var alphaCurve: Texture2D? { get set }The alpha value of each particle’s color will be multiplied by this CurveTexture over its lifetime.
final var angle: Vector2 { get set }final var angleCurve: Texture2D? { get set }Each particle’s rotation will be animated along this CurveTexture.
final var angleMax: Double { get set }Maximum initial rotation applied to each particle, in degrees.
final var angleMin: Double { get set }Minimum equivalent of angleMax.
final var angularVelocity: Vector2 { get set }final var angularVelocityCurve: Texture2D? { get set }Each particle’s angular velocity (rotation speed) will vary along this CurveTexture over its lifetime.
final var angularVelocityMax: Double { get set }Maximum initial angular velocity (rotation speed) applied to each particle in degrees per second.
final var angularVelocityMin: Double { get set }Minimum equivalent of angularVelocityMax.
final var animOffset: Vector2 { get set }final var animOffsetCurve: Texture2D? { get set }Each particle’s animation offset will vary along this CurveTexture.
final var animOffsetMax: Double { get set }Maximum animation offset that corresponds to frame index in the texture. 0 is the first frame, 1 is the last one. See particlesAnimation.
final var animOffsetMin: Double { get set }Minimum equivalent of animOffsetMax.
final var animSpeed: Vector2 { get set }final var animSpeedCurve: Texture2D? { get set }Each particle’s animation speed will vary along this CurveTexture.
final var animSpeedMax: Double { get set }Maximum particle animation speed. Animation speed of 1 means that the particles will make full 0 to 1 offset cycle during lifetime, 2 means 2 cycles etc.
final var animSpeedMin: Double { get set }Minimum equivalent of animSpeedMax.
final var attractorInteractionEnabled: Bool { get set }If true, interaction with particle attractors is enabled. In 3D, attraction only occurs within the area defined by the GPUParticles3D node’s visibilityAabb.
final var collisionBounce: Double { get set }The particles’ bounciness. Values range from 0 (no bounce) to 1 (full bounciness). Only effective if collisionMode is .collisionRigid.
final var collisionFriction: Double { get set }The particles’ friction. Values range from 0 (frictionless) to 1 (maximum friction). Only effective if collisionMode is .collisionRigid.
final var collisionMode: ParticleProcessMaterial.CollisionMode { get set }The particles’ collision mode.
final var collisionUseScale: Bool { get set }If true, collisionBaseSize is multiplied by the particle’s effective scale (see scaleMin, scaleMax, scaleCurve, and scaleOverVelocityCurve).
final var color: Color { get set }Each particle’s initial color. If the GPUParticles2D’s texture is defined, it will be multiplied by this color.
final var colorInitialRamp: Texture2D? { get set }Each particle’s initial color will vary along this GradientTexture1D (multiplied with color).
final var colorRamp: Texture2D? { get set }Each particle’s color will vary along this GradientTexture1D over its lifetime (multiplied with color).
final var damping: Vector2 { get set }final var dampingCurve: Texture2D? { get set }Damping will vary along this CurveTexture.
final var dampingMax: Double { get set }The maximum rate at which particles lose velocity. For example value of 100 means that the particle will go from 100 velocity to 0 in 1 second.
final var dampingMin: Double { get set }Minimum equivalent of dampingMax.
final var direction: Vector3 { get set }Unit vector specifying the particles’ emission direction.
final var directionalVelocity: Vector2 { get set }final var directionalVelocityCurve: Texture2D? { get set }A curve that specifies the velocity along each of the axes of the particle system along its lifetime.
final var directionalVelocityMax: Double { get set }Maximum directional velocity value, which is multiplied by directionalVelocityCurve.
final var directionalVelocityMin: Double { get set }Minimum directional velocity value, which is multiplied by directionalVelocityCurve.
final var emissionBoxExtents: Vector3 { get set }The box’s extents if emissionShape is set to .box.
final var emissionColorTexture: Texture2D? { get set }Particle color will be modulated by color determined by sampling this texture at the same point as the emissionPointTexture.
final var emissionCurve: Texture2D? { get set }Each particle’s color will be multiplied by this CurveTexture over its lifetime.
final var emissionNormalTexture: Texture2D? { get set }Particle velocity and rotation will be set by sampling this texture at the same point as the emissionPointTexture. Used only in .directedPoints. Can be created automatically from mesh or node by selecting “Create Emission Points from Mesh/Node” under the “Particles” tool in the toolbar.
final var emissionPointCount: Int32 { get set }The number of emission points if emissionShape is set to .points or .directedPoints.
final var emissionPointTexture: Texture2D? { get set }Particles will be emitted at positions determined by sampling this texture at a random position. Used with .points and .directedPoints. Can be created automatically from mesh or node by selecting “Create Emission Points from Mesh/Node” under the “Particles” tool in the toolbar.
final var emissionRingAxis: Vector3 { get set }The axis of the ring when using the emitter .ring.
final var emissionRingHeight: Double { get set }The height of the ring when using the emitter .ring.
final var emissionRingInnerRadius: Double { get set }The inner radius of the ring when using the emitter .ring.
final var emissionRingRadius: Double { get set }The radius of the ring when using the emitter .ring.
final var emissionShape: ParticleProcessMaterial.EmissionShape { get set }Particles will be emitted inside this region. Use EmissionShape constants for values.
final var emissionShapeOffset: Vector3 { get set }The offset for the emissionShape, in local space.
final var emissionShapeScale: Vector3 { get set }The scale of the emissionShape, in local space.
final var emissionSphereRadius: Double { get set }The sphere’s radius if emissionShape is set to .sphere.
final var flatness: Double { get set }Amount of spread along the Y axis.
final var gravity: Vector3 { get set }Gravity applied to every particle.
final var hueVariation: Vector2 { get set }final var hueVariationCurve: Texture2D? { get set }Each particle’s hue will vary along this CurveTexture.
final var hueVariationMax: Double { get set }Maximum initial hue variation applied to each particle. It will shift the particle color’s hue.
final var hueVariationMin: Double { get set }Minimum equivalent of hueVariationMax.
final var inheritVelocityRatio: Double { get set }Percentage of the velocity of the respective GPUParticles2D or GPUParticles3D inherited by each particle when spawning.
final var initialVelocity: Vector2 { get set }final var initialVelocityMax: Double { get set }Maximum initial velocity magnitude for each particle. Direction comes from direction and spread.
final var initialVelocityMin: Double { get set }Minimum equivalent of initialVelocityMax.
final var lifetimeRandomness: Double { get set }Particle lifetime randomness ratio. The equation for the lifetime of a particle is lifetime * (1.0 - randf() * lifetime_randomness). For example, a lifetimeRandomness of 0.4 scales the lifetime between 0.6 to 1.0 of its original value.
final var linearAccel: Vector2 { get set }final var linearAccelCurve: Texture2D? { get set }Each particle’s linear acceleration will vary along this CurveTexture.
final var linearAccelMax: Double { get set }Maximum linear acceleration applied to each particle in the direction of motion.
final var linearAccelMin: Double { get set }Minimum equivalent of linearAccelMax.
final var orbitVelocity: Vector2 { get set }final var orbitVelocityCurve: Texture2D? { get set }Each particle’s orbital velocity will vary along this CurveTexture.
final var orbitVelocityMax: Double { get set }Maximum orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
final var orbitVelocityMin: Double { get set }Minimum equivalent of orbitVelocityMax.
final var particleFlagDampingAsFriction: Bool { get set }Changes the behavior of the damping properties from a linear deceleration to a deceleration based on speed percentage.
final var radialAccel: Vector2 { get set }final var radialAccelCurve: Texture2D? { get set }Each particle’s radial acceleration will vary along this CurveTexture.
final var radialAccelMax: Double { get set }Maximum radial acceleration applied to each particle. Makes particle accelerate away from the origin or towards it if negative.
final var radialAccelMin: Double { get set }Minimum equivalent of radialAccelMax.
final var radialVelocity: Vector2 { get set }final var radialVelocityCurve: Texture2D? { get set }A CurveTexture that defines the velocity over the particle’s lifetime away (or toward) the velocityPivot.
final var radialVelocityMax: Double { get set }Maximum radial velocity applied to each particle. Makes particles move away from the velocityPivot, or toward it if negative.
final var radialVelocityMin: Double { get set }Minimum radial velocity applied to each particle. Makes particles move away from the velocityPivot, or toward it if negative.
final var scale: Vector2 { get set }final var scaleCurve: Texture2D? { get set }Each particle’s scale will vary along this CurveTexture over its lifetime. If a CurveXYZTexture is supplied instead, the scale will be separated per-axis.
final var scaleMax: Double { get set }Maximum initial scale applied to each particle.
final var scaleMin: Double { get set }Minimum equivalent of scaleMax.
final var scaleOverVelocity: Vector2 { get set }final var scaleOverVelocityCurve: Texture2D? { get set }Either a CurveTexture or a CurveXYZTexture that scales each particle based on its velocity.
final var scaleOverVelocityMax: Double { get set }Maximum velocity value reference for scaleOverVelocityCurve.
final var scaleOverVelocityMin: Double { get set }Minimum velocity value reference for scaleOverVelocityCurve.
final var spread: Double { get set }Each particle’s initial direction range from +spread to -spread degrees.
final var subEmitterAmountAtCollision: Int32 { get set }The amount of particles to spawn from the subemitter node when a collision occurs. When combined with .collisionHideOnContact on the main particles material, this can be used to achieve effects such as raindrops hitting the ground.
final var subEmitterAmountAtEnd: Int32 { get set }The amount of particles to spawn from the subemitter node when the particle expires.
final var subEmitterFrequency: Double { get set }The frequency at which particles should be emitted from the subemitter node. One particle will be spawned every subEmitterFrequency seconds.
final var subEmitterKeepVelocity: Bool { get set }If true, the subemitter inherits the parent particle’s velocity when it spawns.
final var subEmitterMode: ParticleProcessMaterial.SubEmitterMode { get set }The particle subemitter mode (see subEmitter and subEmitter).
final var tangentialAccel: Vector2 { get set }final var tangentialAccelCurve: Texture2D? { get set }Each particle’s tangential acceleration will vary along this CurveTexture.
final var tangentialAccelMax: Double { get set }Maximum tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle’s velocity giving the particles a swirling motion.
final var tangentialAccelMin: Double { get set }Minimum equivalent of tangentialAccelMax.
final var turbulenceEnabled: Bool { get set }If true, enables turbulence for the particle system. Turbulence can be used to vary particle movement according to its position (based on a 3D noise pattern). In 3D, GPUParticlesAttractorVectorField3D with NoiseTexture3D can be used as an alternative to turbulence that works in world space and with multiple particle systems reacting in the same way.
final var turbulenceInfluence: Vector2 { get set }final var turbulenceInfluenceMax: Double { get set }Maximum turbulence influence on each particle.
final var turbulenceInfluenceMin: Double { get set }Minimum turbulence influence on each particle.
final var turbulenceInfluenceOverLife: Texture2D? { get set }Each particle’s amount of turbulence will be influenced along this CurveTexture over its life time.
final var turbulenceInitialDisplacement: Vector2 { get set }final var turbulenceInitialDisplacementMax: Double { get set }Maximum displacement of each particle’s spawn position by the turbulence.
final var turbulenceInitialDisplacementMin: Double { get set }Minimum displacement of each particle’s spawn position by the turbulence.
final var turbulenceNoiseScale: Double { get set }This value controls the overall scale/frequency of the turbulence noise pattern.
final var turbulenceNoiseSpeed: Vector3 { get set }A scrolling velocity for the turbulence field. This sets a directional trend for the pattern to move in over time.
final var turbulenceNoiseSpeedRandom: Double { get set }The in-place rate of change of the turbulence field. This defines how quickly the noise pattern varies over time.
final var turbulenceNoiseStrength: Double { get set }The turbulence noise strength. Increasing this will result in a stronger, more contrasting, flow pattern.
final var velocityLimitCurve: Texture2D? { get set }A CurveTexture that defines the maximum velocity of a particle during its lifetime.
final var velocityPivot: Vector3 { get set }A pivot point used to calculate radial and orbital velocity of particles.
enum CollisionModeenum EmissionShapeenum Parameterenum SubEmitterModeprotocol CaseIterableA type that provides a collection of all of its values.
protocol CustomDebugStringConvertibleA type with a customized textual representation suitable for debugging purposes.
protocol EquatableA type that can be compared for value equality.
protocol Hashable : EquatableA type that can be hashed into a Hasher to produce an integer hash value.
protocol RawRepresentable<RawValue>A type that can be converted to and from an associated raw value.
init?(rawValue: Int64) var debugDescription: String { get }A textual representation of this instance, suitable for debugging
var hashValue: Int { get }static func != (lhs: Self, rhs: Self) -> Bool Returns a Boolean value indicating whether two values are not equal.
func hash(into hasher: inout Hasher)