EmissionShape
CPUParticles3D.swift:117enum EmissionShapeenum EmissionShapeimport SwiftGodotFramework to write Godot Game Extensions using the Swift Programming Language.
class CPUParticles3DA CPU-based 3D particle emitter.
case pointAll particles will be emitted from a single point.
case sphereParticles will be emitted in the volume of a sphere.
case sphereSurfaceParticles will be emitted on the surface of a sphere.
case boxParticles will be emitted in the volume of a box.
case pointsParticles will be emitted at a position chosen randomly among emissionPoints. Particle color will be modulated by emissionColors.
case directedPointsParticles will be emitted at a position chosen randomly among emissionPoints. Particle velocity and rotation will be set based on emissionNormals. Particle color will be modulated by emissionColors.
case ringParticles will be emitted in a ring or cylinder.
case maxRepresents the size of the EmissionShape enum.
final var emissionPoints: PackedVector3Array { get set }Sets the initial positions to spawn particles when using .points or .directedPoints.
final var emissionColors: PackedColorArray { get set }Sets the Colors to modulate particles by when using .points or .directedPoints.
final var emissionNormals: PackedVector3Array { get set }Sets the direction the particles will be emitted in when using .directedPoints.
override class var godotClassName: StringName { get }final var amount: Int32 { get set }Number of particles emitted in one emission cycle.
final var angleCurve: Curve? { get set }Each particle’s rotation will be animated along this Curve.
final var angleMax: Double { get set }Maximum angle.
final var angleMin: Double { get set }Minimum angle.
final var angularVelocityCurve: Curve? { get set }Each particle’s angular velocity (rotation speed) will vary along this Curve 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 initial angular velocity (rotation speed) applied to each particle in degrees per second.
final var animOffsetCurve: Curve? { get set }Each particle’s animation offset will vary along this Curve.
final var animOffsetMax: Double { get set }Maximum animation offset.
final var animOffsetMin: Double { get set }Minimum animation offset.
final var animSpeedCurve: Curve? { get set }Each particle’s animation speed will vary along this Curve.
final var animSpeedMax: Double { get set }Maximum particle animation speed.
final var animSpeedMin: Double { get set }Minimum particle animation speed.
final var color: Color { get set }Each particle’s initial color.
final var colorInitialRamp: Gradient? { get set }Each particle’s initial color will vary along this GradientTexture1D (multiplied with color).
final var colorRamp: Gradient? { get set }Each particle’s color will vary along this GradientTexture1D over its lifetime (multiplied with color).
final var dampingCurve: Curve? { get set }Damping will vary along this Curve.
final var dampingMax: Double { get set }Maximum damping.
final var dampingMin: Double { get set }Minimum damping.
final var direction: Vector3 { get set }Unit vector specifying the particles’ emission direction.
final var drawOrder: CPUParticles3D.DrawOrder { get set }Particle draw order. Uses DrawOrder values.
final var emissionBoxExtents: Vector3 { get set }The rectangle’s extents if emissionShape is set to .box.
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: CPUParticles3D.EmissionShape { get set }Particles will be emitted inside this region. See EmissionShape for possible values.
final var emissionSphereRadius: Double { get set }The sphere’s radius if EmissionShape is set to .sphere.
final var emitting: Bool { get set }If true, particles are being emitted. emitting can be used to start and stop particles from emitting. However, if oneShot is true setting emitting to true will not restart the emission cycle until after all active particles finish processing. You can use the [signal finished] signal to be notified once all active particles finish processing.
final var explosiveness: Double { get set }How rapidly particles in an emission cycle are emitted. If greater than 0, there will be a gap in emissions before the next cycle begins.
var finished: SimpleSignal { get }Emitted when all active particles have finished processing. When oneShot is disabled, particles will process continuously, so this is never emitted.
final var fixedFps: Int32 { get set }The particle system’s frame rate is fixed to a value. For example, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
final var flatness: Double { get set }Amount of spread in Y/Z plane. A value of 1 restricts particles to X/Z plane.
final var fractDelta: Bool { get set }If true, results in fractional delta calculation which has a smoother particles display effect.
final var gravity: Vector3 { get set }Gravity applied to every particle.
final var hueVariationCurve: Curve? { get set }Each particle’s hue will vary along this Curve.
final var hueVariationMax: Double { get set }Maximum hue variation.
final var hueVariationMin: Double { get set }Minimum hue variation.
final var initialVelocityMax: Double { get set }Maximum value of the initial velocity.
final var initialVelocityMin: Double { get set }Minimum value of the initial velocity.
final var lifetime: Double { get set }Amount of time each particle will exist.
final var lifetimeRandomness: Double { get set }Particle lifetime randomness ratio.
final var linearAccelCurve: Curve? { get set }Each particle’s linear acceleration will vary along this Curve.
final var linearAccelMax: Double { get set }Maximum linear acceleration.
final var linearAccelMin: Double { get set }Minimum linear acceleration.
final var localCoords: Bool { get set }If true, particles use the parent node’s coordinate space (known as local coordinates). This will cause particles to move and rotate along the CPUParticles3D node (and its parents) when it is moved or rotated. If false, particles use global coordinates; they will not move or rotate along the CPUParticles3D node (and its parents) when it is moved or rotated.
final var mesh: Mesh? { get set }The Mesh used for each particle. If null, particles will be spheres.
final var oneShot: Bool { get set }If true, only one emission cycle occurs. If set true during a cycle, emission will stop at the cycle’s end.
final var orbitVelocityCurve: Curve? { get set }Each particle’s orbital velocity will vary along this Curve.
final var orbitVelocityMax: Double { get set }Maximum orbit velocity.
final var orbitVelocityMin: Double { get set }Minimum orbit velocity.
final var particleFlagAlignY: Bool { get set }Align Y axis of particle with the direction of its velocity.
final var particleFlagDisableZ: Bool { get set }If true, particles will not move on the Z axis.
final var particleFlagRotateY: Bool { get set }If true, particles rotate around Y axis by angleMin.
final var preprocess: Double { get set }Particle system starts as if it had already run for this many seconds.
final var radialAccelCurve: Curve? { get set }Each particle’s radial acceleration will vary along this Curve.
final var radialAccelMax: Double { get set }Maximum radial acceleration.
final var radialAccelMin: Double { get set }Minimum radial acceleration.
final var randomness: Double { get set }Emission lifetime randomness ratio.
final var scaleAmountCurve: Curve? { get set }Each particle’s scale will vary along this Curve.
final var scaleAmountMax: Double { get set }Maximum scale.
final var scaleAmountMin: Double { get set }Minimum scale.
final var scaleCurveX: Curve? { get set }Curve for the scale over life, along the x axis.
final var scaleCurveY: Curve? { get set }Curve for the scale over life, along the y axis.
final var scaleCurveZ: Curve? { get set }Curve for the scale over life, along the z axis.
final var speedScale: Double { get set }Particle system’s running speed scaling ratio. A value of 0 can be used to pause the particles.
final var splitScale: Bool { get set }If set to true, three different scale curves can be specified, one per scale axis.
final var spread: Double { get set }Each particle’s initial direction range from +spread to -spread degrees. Applied to X/Z plane and Y/Z planes.
final var tangentialAccelCurve: Curve? { get set }Each particle’s tangential acceleration will vary along this Curve.
final var tangentialAccelMax: Double { get set }Maximum tangent acceleration.
final var tangentialAccelMin: Double { get set }Minimum tangent acceleration.
final var visibilityAabb: AABB { get set }The AABB that determines the node’s region which needs to be visible on screen for the particle system to be active.
final func convertFromParticles(_ particles: Node?) Sets this node’s properties to match a given GPUParticles3D node with an assigned ParticleProcessMaterial.
final func restart() Restarts the particle emitter.
enum DrawOrderenum Parameterenum ParticleFlagsprotocol 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)