@cccode/fxr - v22.0.0

    Class GPUSparkCorrectParticle

    Slot: Appearance

    Very similar to GPUSparkParticle, just like how GPUStandardCorrectParticle is similar to GPUStandardParticle, except these two spark actions have some known differences.

    Not all of the differences have been documented yet, but here are some:

    • This action seems to have swapped some axes of rotation, causing some confusing things to happen when the node is spinning.
    • The particles from this action are smaller.
    • The particles from this action move slower. It's possible that this action uses a different unit of distance, since that would explain both the slower movement and the smaller particles.

    The name of this action is from Elden Ring's RTTI, where it's called "SparkCorrectParticle".

    Hierarchy (View Summary, Expand)

    Index

    Constructors

    Properties

    alphaMultiplier blendMode bloom bloomColor color colorMax colorMin concurrentEmissionsLimit emissionInterval emissionIntervalMax emissionIntervalMin emissionParticleCount emissionParticleCountMax emissionParticleCountMin emitterDistribution emitterRotation emitterShape emitterSize lighting limitConcurrentEmissions limitUpdateDistance maxDistance maxDistanceThreshold maxFadeDistance minDistance minDistanceThreshold minFadeDistance particleAccelerationX particleAccelerationY particleAccelerationZ particleBounciness particleCollision particleDuration particleDurationMultiplier particleFollowFactor particleGravity particleLength particleLengthMax particleLengthMin particleOffset particleOffsetMax particleOffsetMin particleSpeedMax particleSpeedMin particleWidth particleWidthMax particleWidthMin rgbMultiplier shadowDarkness texture type unk_ac6_f1_10 unk_ac6_f1_101 unk_ac6_f1_102 unk_ac6_f1_103 unk_ac6_f1_11 unk_ac6_f1_13 unk_ac6_f1_14 unk_ac6_f1_15 unk_ac6_f1_16 unk_ac6_f1_17 unk_ac6_f1_2 unk_ac6_f1_26 unk_ac6_f1_28 unk_ac6_f1_29 unk_ac6_f1_39 unk_ac6_f1_57 unk_ac6_f1_58 unk_ac6_f1_59 unk_ac6_f1_60 unk_ac6_f1_61 unk_ac6_f1_62 unk_ac6_f1_67 unk_ac6_f1_68 unk_ac6_f1_70 unk_ac6_f1_71 unk_ac6_f1_72 unk_ac6_f1_73 unk_ac6_f1_74 unk_ac6_f1_75 unk_ac6_f1_76 unk_ac6_f1_77 unk_ac6_f1_78 unk_ac6_f1_79 unk_ac6_f1_80 unk_ac6_f1_81 unk_ac6_f1_82 unk_ac6_f1_83 unk_ac6_f1_84 unk_ac6_f1_85 unk_ac6_f1_86 unk_ac6_f1_87 unk_ac6_f1_88 unk_ac6_f1_89 unk_ac6_f1_9 unk_ac6_f1_94 unk_ac6_f1_95 unk_ac6_f2_0 unk_ac6_f2_1 unk_ac6_f2_10 unk_ac6_f2_11 unk_ac6_f2_12 unk_ac6_f2_13 unk_ac6_f2_2 unk_ac6_f2_20 unk_ac6_f2_21 unk_ac6_f2_22 unk_ac6_f2_23 unk_ac6_f2_24 unk_ac6_f2_27 unk_ac6_f2_28 unk_ac6_f2_29 unk_ac6_f2_3 unk_ac6_f2_32 unk_ac6_f2_33 unk_ac6_f2_34 unk_ac6_f2_36 unk_ac6_f2_37 unk_ac6_f2_38 unk_ac6_f2_39 unk_ac6_f2_4 unk_ac6_f2_5 unk_ac6_f2_6 unk_ac6_f2_7 unk_ac6_f2_8 unk_ac6_f2_9 unk_ac6_p1_1 unk_ac6_p1_11 unk_ac6_p1_13 unk_ac6_p1_2 unk_ac6_p1_3 unk_ac6_p2_0 unk_ac6_p2_1 unk_ac6_p2_2 unk_ac6_p2_3 unk_ac6_p2_4 unk_ac6_p2_5 unk_ac6_p2_6 unkDepthBlend1 unkDepthBlend2 unkHideIndoors unkParticleAcceleration updateDistance

    Accessors

    Methods

    Constructors

    Properties

    alphaMultiplier: number

    Alpha multiplier.

    Default: 1

    blendMode: BlendMode

    Blend mode.

    Default: BlendMode.Add

    bloom: boolean

    Controls whether or not the particles have a bloom effect.

    Default: false

    See also:

    bloomColor: Vector4

    Controls the color of the additional bloom effect. The colors of the particle will be multiplied with this color to get the final color of the bloom effect.

    Note:

    • This has no effect if the "Effects Quality" setting is set to "Low".
    • This does not affect the natural bloom effect from high color values.

    Default: [1, 1, 1, 0]

    See also:

    Color multiplier.

    Values in this are unrestricted and can go above 1.

    Default: [1, 1, 1, 1]

    Argument: Particle age

    colorMax: Vector4

    Maximum random variation for the particle color. A random value between this and colorMin will be added to the base color, but it fades out over the life of the particle.

    Default: [0, 0, 0, 0]

    colorMin: Vector4

    Minimum random variation for the particle color. A random value between this and colorMax will be added to the base color, but it fades out over the life of the particle.

    Default: [0, 0, 0, 0]

    concurrentEmissionsLimit: number

    The total number of emissions. This limit is only applied if limitConcurrentEmissions is enabled.

    Default: 0

    emissionInterval: number

    The time between emissions in seconds. Due to the way this field works, the value will be rounded to the nearest 1/30s.

    Default: 0

    See also:

    emissionIntervalMax: number

    The maximum time between emissions in seconds. A random value between this and emissionIntervalMin will be added to emissionInterval to get the final emission interval. Due to the way this field works, the value will be rounded to the nearest 1/30s.

    Default: 0

    See also:

    emissionIntervalMin: number

    The minimum time between emissions in seconds. A random value between this and emissionIntervalMax will be added to emissionInterval to get the final emission interval. Due to the way this field works, the value will be rounded to the nearest 1/30s.

    Default: 0

    See also:

    emissionParticleCount: number

    The number of particles to emit per emission.

    Default: 10

    See also:

    emissionParticleCountMax: number

    The maximum number of particles to emit per emission. A new random value is picked for each emission, and the random value is added to the base emission particle count.

    Default: 0

    See also:

    emissionParticleCountMin: number

    The minimum number of particles to emit per emission. A new random value is picked for each emission, and the random value is added to the base emission particle count.

    Default: 0

    See also:

    emitterDistribution: number

    Controls how the random emission points are distributed within the shape of the emitter. How this works depend on the emitter shape:

    Shape Behavior
    Line A fraction of the line where particles can not be emitted from.
    At 0, particles can be emitted from any point on the line.
    At 1, they can only be emitted from the far end of the line.
    Box A fraction of the box's size where the particles can not be emitted from. Basically an inner box that blocks emission.
    Box2 At 1, any point within the box is equally likely to be picked.
    At 0, particles are more likely to be emitted near the center, but it's not a 100% chance.
    Unk3 Exactly the same as Line?
    Cylinder A fraction of the radius of the cylinder where the particles can not be emitted from. Basically an inner cylinder that blocks emission.

    Default: 0

    emitterRotation: Vector3

    The rotation of the emitter.

    Default: [0, 0, 0]

    emitterShape: EmitterShape

    Controls the shape of the particle emitter. See EmitterShape for more details.

    Default: EmitterShape.Box

    emitterSize: Vector3

    The size of the emitter.

    Default: [1, 1, 1]

    lighting: number

    Unknown integer.

    Default: -1

    limitConcurrentEmissions: boolean

    If enabled, the number of emissions will be limited by concurrentEmissionsLimit.

    Default: false

    limitUpdateDistance: boolean

    If enabled, the particle system stops updating if the camera is beyond the distance specified by updateDistance from the node.

    It will not stop updating immediately after the action becomes active. Instead, it will wait for a little while before stopping if the camera is too far away.

    Default: false

    maxDistance: number

    Minimum view distance. If a particle is farther away than this distance from the camera, it will be hidden. Can be set to -1 to disable the limit.

    This requires maxFadeDistance to be set to a positive value or 0.

    This is different from maxDistanceThreshold, as this controls the start of a distance range that has smooth transitions at each end, while the threshold value is a hard cut-off.

    Default: -1

    See also:

    maxDistanceThreshold: number

    A hard cut-off point for the distance between the camera and the particle. If a particle is farther away than this distance from the camera, it will be hidden. Can be set to -1 to disable the limit.

    Default: -1

    See also:

    maxFadeDistance: number

    This controls a point where the opacity of a particle will start to fade to 0 near the maximum view distance. At maxDistance, the opacity will be 0, and it will linearly approach 1 as the distance between the camera and the particle approaches this distance.

    This requires maxDistance to be set to a positive value or 0. This distance limit can be disabled by setting this and minDistance to -1.

    Default: -1

    See also:

    minDistance: number

    This controls a point where the opacity of a particle will start to fade to 0 near the minimum view distance. At minDistance, the opacity will be 0, and it will linearly approach 1 as the distance between the camera and the particle approaches this distance.

    This requires minDistance to be set to a positive value or 0. This distance limit can be disabled by setting this and minDistance to -1.

    Default: -1

    See also:

    minDistanceThreshold: number

    A hard cut-off point for the distance between the camera and the particle. If a particle is closer than this distance from the camera, it will be hidden. Can be set to -1 to disable the limit.

    Default: -1

    See also:

    minFadeDistance: number

    Minimum view distance. If a particle is closer than this distance from the camera, it will be hidden. Can be set to -1 to disable the limit.

    This requires minFadeDistance to be set to a positive value or 0.

    This is different from minDistanceThreshold, as this controls the start of a distance range that has smooth transitions at each end, while the threshold value is a hard cut-off.

    Default: -1

    See also:

    particleAccelerationX: ScalarValue

    Particle acceleration along the X-axis.

    Default: 0

    particleAccelerationY: ScalarValue

    Particle acceleration along the Y-axis.

    Default: 0

    particleAccelerationZ: ScalarValue

    Particle acceleration along the Z-axis.

    Default: 0

    particleBounciness: number

    Controls how strong the rebound from hitting a surface is when particleCollision is enabled.

    Default: 0

    See also:

    particleCollision: boolean

    When enabled, this makes the particles bounce off of any surface they hit. This collision detection is just based on the depth buffer, not the full 3D scene, so it is not always perfect.

    Default: false

    See also:

    particleDuration: number

    The duration of each particle in seconds. Due to the way this field works, the value will be rounded to the nearest 1/30s.

    Default: 1

    particleDurationMultiplier: number

    Multiplier for particleDuration.

    Default: 1

    particleFollowFactor: ScalarValue

    Controls how well the particles follow the node if it moves.

    Default: 0

    particleGravity: ScalarValue

    Downwards acceleration for particles.

    This requires any of the following fields to have a non-zero value:

    Default: 1

    particleLength: ScalarValue

    The length of the particles.

    Default: 1

    particleLengthMax: number

    Maximum particle length. A random value between this and particleLengthMin will be multiplied by particleLength to get the final particle length.

    Default: 1

    particleLengthMin: number

    Minimum particle length. A random value between this and particleLengthMax will be multiplied by particleLength to get the final particle length.

    Default: 1

    particleOffset: Vector3

    Particle position offset.

    Default: [0, 0, 0]

    See also:

    particleOffsetMax: Vector3

    Maximum particle position offset. A random value between this and particleOffsetMin will be added to particleOffset to get the final position offset.

    Default: [0, 0, 0]

    particleOffsetMin: Vector3

    Minimum particle position offset. A random value between this and particleOffsetMax will be added to particleOffset to get the final position offset.

    Default: [0, 0, 0]

    particleSpeedMax: Vector3

    Maximum particle speed.

    Default: [0.01, 0.01, 0.01]

    See also:

    particleSpeedMin: Vector3

    Minimum particle speed.

    Default: [-0.01, -0.01, -0.01]

    See also:

    particleWidth: ScalarValue

    The width of the particles.

    Default: 0.1

    particleWidthMax: number

    Maximum particle width. A random value between this and particleWidthMin will be multiplied by particleWidth to get the final particle width.

    Default: 1

    particleWidthMin: number

    Minimum particle width. A random value between this and particleWidthMax will be multiplied by particleWidth to get the final particle width.

    Default: 1

    rgbMultiplier: number

    Scalar multiplier for the color that does not affect the alpha. Effectively a brightness multiplier.

    Default: 1

    shadowDarkness: number

    Controls how dark shaded parts of the particle are.

    Default: 1

    texture: number

    The ID of the texture of the particles.

    Default: 1

    The numeric ID for the type of action this represents.

    unk_ac6_f1_10: number

    Unknown float.

    Default: 1

    unk_ac6_f1_101: number

    Unknown float.

    Default: 1

    unk_ac6_f1_102: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_103: number

    Unknown float.

    Default: 1

    unk_ac6_f1_11: number

    Unknown float.

    Default: 1

    unk_ac6_f1_13: number

    Unknown float.

    Default: 0

    unk_ac6_f1_14: number

    Unknown float.

    Default: 0

    unk_ac6_f1_15: number

    Unknown integer.

    Default: -1

    unk_ac6_f1_16: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_17: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_2: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_26: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_28: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_29: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_39: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_57: number

    Unknown integer.

    Default: -1

    unk_ac6_f1_58: number

    Unknown integer.

    Default: -1

    unk_ac6_f1_59: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_60: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_61: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_62: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_67: number

    Unknown float.

    Default: 1

    unk_ac6_f1_68: number

    Unknown float.

    Default: 1

    unk_ac6_f1_70: number

    Unknown float.

    Default: 1

    unk_ac6_f1_71: number

    Unknown float.

    Default: 1

    unk_ac6_f1_72: number

    Unknown float.

    Default: 1

    unk_ac6_f1_73: number

    Unknown float.

    Default: 1

    unk_ac6_f1_74: number

    Unknown float.

    Default: 1

    unk_ac6_f1_75: number

    Unknown float.

    Default: 0

    unk_ac6_f1_76: number

    Unknown float.

    Default: 1

    unk_ac6_f1_77: number

    Unknown float.

    Default: 1

    unk_ac6_f1_78: number

    Unknown float.

    Default: 1

    unk_ac6_f1_79: number

    Unknown float.

    Default: 1

    unk_ac6_f1_80: number

    Unknown float.

    Default: 1

    unk_ac6_f1_81: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_82: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_83: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_84: number

    Unknown float. Seems to make the particles fly around somewhat randomly, but with a specific average direction. unk_ac6_f1_85 works in a similar way, but has the opposite average direction.

    Default: 0

    unk_ac6_f1_85: number

    Unknown float. Seems to make the particles fly around somewhat randomly, but with a specific average direction. unk_ac6_f1_84 works in a similar way, but has the opposite average direction.

    Default: 0

    unk_ac6_f1_86: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_87: number

    Unknown integer.

    Default: 8

    unk_ac6_f1_88: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_89: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_9: number

    Unknown float.

    Default: 1

    unk_ac6_f1_94: number

    Unknown integer.

    Default: 0

    unk_ac6_f1_95: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_0: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_1: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_10: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_11: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_12: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_13: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_2: number

    Unknown integer.

    Default: 8

    unk_ac6_f2_20: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_21: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_22: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_23: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_24: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_27: number

    Unknown integer.

    Default: 1

    unk_ac6_f2_28: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_29: number

    Unknown float.

    Default: 0

    unk_ac6_f2_3: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_32: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_33: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_34: number

    Unknown float.

    Default: 0.5

    unk_ac6_f2_36: number

    Unknown integer.

    Default: -2

    unk_ac6_f2_37: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_38: number

    Unknown float.

    Default: 0

    unk_ac6_f2_39: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_4: number

    Unknown integer.

    Default: 0

    unk_ac6_f2_5: number

    Unknown float.

    Default: 1

    unk_ac6_f2_6: number

    Unknown float.

    Default: 1

    unk_ac6_f2_7: number

    Unknown float.

    Default: 1

    unk_ac6_f2_8: number

    Unknown float.

    Default: 1

    unk_ac6_f2_9: number

    Unknown integer.

    Default: 0

    unk_ac6_p1_1: ScalarValue

    Unknown scalar.

    Default: 0

    unk_ac6_p1_11: ScalarValue

    Unknown scalar.

    Default: 0

    unk_ac6_p1_13: ScalarValue

    Unknown scalar.

    Default: 0

    unk_ac6_p1_2: ScalarValue

    Unknown scalar.

    Default: 0

    unk_ac6_p1_3: ScalarValue

    Unknown scalar.

    Default: 0

    unk_ac6_p2_0: ScalarValue

    Unknown scalar.

    Default: 1

    unk_ac6_p2_1: ScalarValue

    Unknown scalar.

    Default: 1

    unk_ac6_p2_2: ScalarValue

    Unknown scalar.

    Default: 0

    unk_ac6_p2_3: Vector4Value

    Unknown vector4.

    Default: [1, 1, 1, 1]

    unk_ac6_p2_4: Vector4Value

    Unknown vector4.

    Default: [1, 1, 1, 1]

    unk_ac6_p2_5: Vector4Value

    Unknown vector4.

    Default: [1, 1, 1, 1]

    unk_ac6_p2_6: ScalarValue

    Unknown scalar.

    Default: 0

    unkDepthBlend1: number

    Unknown float.

    Default: 1

    unkDepthBlend2: number

    Unknown float.

    Default: 0

    unkHideIndoors: number

    When set to 1, this stops the particles from being shown indoors.

    Other values are used in AC6, but what they do is unknown.

    Default: 0

    unkParticleAcceleration: ScalarValue

    Similar to particleAccelerationZ, but this does not go exactly north?

    This requires any of the following fields to have a non-zero value:

    Default: 0

    updateDistance: number

    Controls how close the camera needs to be to the node for the particle system to update. Requires limitUpdateDistance to be enabled.

    Default: 0

    Accessors

    Methods

    • Creates a minified version of this action.

      Some actions can be minified to make the output smaller. This is done by creating a simpler action that is functionally equivalent to this action.

      Actions that can not be minified will not be changed.

      Returns any

    • Scale the rate of time for the action.

      This method's main purpose is to serve as a fallback for changing the rate of time for Dark Souls 3 effects, which doesn't support the rateOfTime property. The rate of time is automatically scaled when writing effects for DS3, you do not need to do this yourself. As such, this method is only useful if you want to scale the rate of time for individual parts of an effect, or if you need the extra options available for this method.

      Parameters

      • factor: number

        The factor to scale the rate of time by. Setting this to 2 will make the action play twice as fast. Setting it to 0.5 will make it play half as fast.

      • Optionaloptions: { scaleTracerDuration?: boolean } = {}

        Extra options for changing how the scaling is applied to different properties.

      Returns GPUSparkCorrectParticle

    MMNEPVFCICPMFPCPTTAAATR