Documentation
¶
Overview ¶
ParticleProcessMaterial defines particle properties and behavior. It is used in the process_material of the GPUParticles2D and GPUParticles3D nodes. Some of this material's properties are applied to each particle when emitted, while others can have a CurveTexture or a GradientTexture1D applied to vary numerical or color values over the lifetime of the particle.
Index ¶
- type Advanced
- type Any
- type CollisionMode
- type EmissionShape
- type Extension
- type ID
- type Instance
- func (self Instance) AlphaCurve() Texture2D.Instance
- func (self Instance) Angle() Vector2.XY
- func (self Instance) AngleCurve() Texture2D.Instance
- func (self Instance) AngleMax() Angle.Radians
- func (self Instance) AngleMin() Angle.Radians
- func (self Instance) AngularVelocity() Vector2.XY
- func (self Instance) AngularVelocityCurve() Texture2D.Instance
- func (self Instance) AngularVelocityMax() Float.X
- func (self Instance) AngularVelocityMin() Float.X
- func (self Instance) AnimOffset() Vector2.XY
- func (self Instance) AnimOffsetCurve() Texture2D.Instance
- func (self Instance) AnimOffsetMax() Float.X
- func (self Instance) AnimOffsetMin() Float.X
- func (self Instance) AnimSpeed() Vector2.XY
- func (self Instance) AnimSpeedCurve() Texture2D.Instance
- func (self Instance) AnimSpeedMax() Float.X
- func (self Instance) AnimSpeedMin() Float.X
- func (self Instance) AsMaterial() Material.Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsParticleProcessMaterial() Instance
- func (self Instance) AsRefCounted() [1]gd.RefCounted
- func (self Instance) AsResource() Resource.Instance
- func (self Instance) AttractorInteractionEnabled() bool
- func (self Instance) CollisionBounce() Float.X
- func (self Instance) CollisionFriction() Float.X
- func (self Instance) CollisionMode() CollisionMode
- func (self Instance) CollisionUseScale() bool
- func (self Instance) Color() Color.RGBA
- func (self Instance) ColorInitialRamp() Texture2D.Instance
- func (self Instance) ColorRamp() Texture2D.Instance
- func (self Instance) Damping() Vector2.XY
- func (self Instance) DampingCurve() Texture2D.Instance
- func (self Instance) DampingMax() Float.X
- func (self Instance) DampingMin() Float.X
- func (self Instance) Direction() Vector3.XYZ
- func (self Instance) DirectionalVelocity() Vector2.XY
- func (self Instance) DirectionalVelocityCurve() Texture2D.Instance
- func (self Instance) DirectionalVelocityMax() Float.X
- func (self Instance) DirectionalVelocityMin() Float.X
- func (self Instance) EmissionBoxExtents() Vector3.XYZ
- func (self Instance) EmissionColorTexture() Texture2D.Instance
- func (self Instance) EmissionCurve() Texture2D.Instance
- func (self Instance) EmissionNormalTexture() Texture2D.Instance
- func (self Instance) EmissionPointCount() int
- func (self Instance) EmissionPointTexture() Texture2D.Instance
- func (self Instance) EmissionRingAxis() Vector3.XYZ
- func (self Instance) EmissionRingConeAngle() Angle.Radians
- func (self Instance) EmissionRingHeight() Float.X
- func (self Instance) EmissionRingInnerRadius() Float.X
- func (self Instance) EmissionRingRadius() Float.X
- func (self Instance) EmissionShape() EmissionShape
- func (self Instance) EmissionShapeOffset() Vector3.XYZ
- func (self Instance) EmissionShapeScale() Vector3.XYZ
- func (self Instance) EmissionSphereRadius() Float.X
- func (self Instance) Flatness() Float.X
- func (self Instance) Gravity() Vector3.XYZ
- func (self Instance) HueVariation() Vector2.XY
- func (self Instance) HueVariationCurve() Texture2D.Instance
- func (self Instance) HueVariationMax() Float.X
- func (self Instance) HueVariationMin() Float.X
- func (self Instance) ID() ID
- func (self Instance) InheritVelocityRatio() Float.X
- func (self Instance) InitialVelocity() Vector2.XY
- func (self Instance) InitialVelocityMax() Float.X
- func (self Instance) InitialVelocityMin() Float.X
- func (self Instance) LifetimeRandomness() Float.X
- func (self Instance) LinearAccel() Vector2.XY
- func (self Instance) LinearAccelCurve() Texture2D.Instance
- func (self Instance) LinearAccelMax() Float.X
- func (self Instance) LinearAccelMin() Float.X
- func (self Instance) OnEmissionShapeChanged(cb func(), flags ...Signal.Flags)
- func (self Instance) OrbitVelocity() Vector2.XY
- func (self Instance) OrbitVelocityCurve() Texture2D.Instance
- func (self Instance) OrbitVelocityMax() Float.X
- func (self Instance) OrbitVelocityMin() Float.X
- func (self Instance) ParticleFlagAlignY() bool
- func (self Instance) ParticleFlagDampingAsFriction() bool
- func (self Instance) ParticleFlagDisableZ() bool
- func (self Instance) ParticleFlagRotateY() bool
- func (self Instance) RadialAccel() Vector2.XY
- func (self Instance) RadialAccelCurve() Texture2D.Instance
- func (self Instance) RadialAccelMax() Float.X
- func (self Instance) RadialAccelMin() Float.X
- func (self Instance) RadialVelocity() Vector2.XY
- func (self Instance) RadialVelocityCurve() Texture2D.Instance
- func (self Instance) RadialVelocityMax() Float.X
- func (self Instance) RadialVelocityMin() Float.X
- func (self Instance) Scale() Vector2.XY
- func (self Instance) ScaleCurve() Texture2D.Instance
- func (self Instance) ScaleMax() Float.X
- func (self Instance) ScaleMin() Float.X
- func (self Instance) ScaleOverVelocity() Vector2.XY
- func (self Instance) ScaleOverVelocityCurve() Texture2D.Instance
- func (self Instance) ScaleOverVelocityMax() Float.X
- func (self Instance) ScaleOverVelocityMin() Float.X
- func (self Instance) SetAlphaCurve(value Texture2D.Instance)
- func (self Instance) SetAngle(value Vector2.XY)
- func (self Instance) SetAngleCurve(value Texture2D.Instance)
- func (self Instance) SetAngleMax(value Angle.Radians)
- func (self Instance) SetAngleMin(value Angle.Radians)
- func (self Instance) SetAngularVelocity(value Vector2.XY)
- func (self Instance) SetAngularVelocityCurve(value Texture2D.Instance)
- func (self Instance) SetAngularVelocityMax(value Float.X)
- func (self Instance) SetAngularVelocityMin(value Float.X)
- func (self Instance) SetAnimOffset(value Vector2.XY)
- func (self Instance) SetAnimOffsetCurve(value Texture2D.Instance)
- func (self Instance) SetAnimOffsetMax(value Float.X)
- func (self Instance) SetAnimOffsetMin(value Float.X)
- func (self Instance) SetAnimSpeed(value Vector2.XY)
- func (self Instance) SetAnimSpeedCurve(value Texture2D.Instance)
- func (self Instance) SetAnimSpeedMax(value Float.X)
- func (self Instance) SetAnimSpeedMin(value Float.X)
- func (self Instance) SetAttractorInteractionEnabled(value bool)
- func (self Instance) SetCollisionBounce(value Float.X)
- func (self Instance) SetCollisionFriction(value Float.X)
- func (self Instance) SetCollisionMode(value CollisionMode)
- func (self Instance) SetCollisionUseScale(value bool)
- func (self Instance) SetColor(value Color.RGBA)
- func (self Instance) SetColorInitialRamp(value Texture2D.Instance)
- func (self Instance) SetColorRamp(value Texture2D.Instance)
- func (self Instance) SetDamping(value Vector2.XY)
- func (self Instance) SetDampingCurve(value Texture2D.Instance)
- func (self Instance) SetDampingMax(value Float.X)
- func (self Instance) SetDampingMin(value Float.X)
- func (self Instance) SetDirection(value Vector3.XYZ)
- func (self Instance) SetDirectionalVelocity(value Vector2.XY)
- func (self Instance) SetDirectionalVelocityCurve(value Texture2D.Instance)
- func (self Instance) SetDirectionalVelocityMax(value Float.X)
- func (self Instance) SetDirectionalVelocityMin(value Float.X)
- func (self Instance) SetEmissionBoxExtents(value Vector3.XYZ)
- func (self Instance) SetEmissionColorTexture(value Texture2D.Instance)
- func (self Instance) SetEmissionCurve(value Texture2D.Instance)
- func (self Instance) SetEmissionNormalTexture(value Texture2D.Instance)
- func (self Instance) SetEmissionPointCount(value int)
- func (self Instance) SetEmissionPointTexture(value Texture2D.Instance)
- func (self Instance) SetEmissionRingAxis(value Vector3.XYZ)
- func (self Instance) SetEmissionRingConeAngle(value Angle.Radians)
- func (self Instance) SetEmissionRingHeight(value Float.X)
- func (self Instance) SetEmissionRingInnerRadius(value Float.X)
- func (self Instance) SetEmissionRingRadius(value Float.X)
- func (self Instance) SetEmissionShape(value EmissionShape)
- func (self Instance) SetEmissionShapeOffset(value Vector3.XYZ)
- func (self Instance) SetEmissionShapeScale(value Vector3.XYZ)
- func (self Instance) SetEmissionSphereRadius(value Float.X)
- func (self Instance) SetFlatness(value Float.X)
- func (self Instance) SetGravity(value Vector3.XYZ)
- func (self Instance) SetHueVariation(value Vector2.XY)
- func (self Instance) SetHueVariationCurve(value Texture2D.Instance)
- func (self Instance) SetHueVariationMax(value Float.X)
- func (self Instance) SetHueVariationMin(value Float.X)
- func (self Instance) SetInheritVelocityRatio(value Float.X)
- func (self Instance) SetInitialVelocity(value Vector2.XY)
- func (self Instance) SetInitialVelocityMax(value Float.X)
- func (self Instance) SetInitialVelocityMin(value Float.X)
- func (self Instance) SetLifetimeRandomness(value Float.X)
- func (self Instance) SetLinearAccel(value Vector2.XY)
- func (self Instance) SetLinearAccelCurve(value Texture2D.Instance)
- func (self Instance) SetLinearAccelMax(value Float.X)
- func (self Instance) SetLinearAccelMin(value Float.X)
- func (self *Instance) SetObject(obj [1]gd.Object) bool
- func (self Instance) SetOrbitVelocity(value Vector2.XY)
- func (self Instance) SetOrbitVelocityCurve(value Texture2D.Instance)
- func (self Instance) SetOrbitVelocityMax(value Float.X)
- func (self Instance) SetOrbitVelocityMin(value Float.X)
- func (self Instance) SetParticleFlagAlignY(value bool)
- func (self Instance) SetParticleFlagDampingAsFriction(value bool)
- func (self Instance) SetParticleFlagDisableZ(value bool)
- func (self Instance) SetParticleFlagRotateY(value bool)
- func (self Instance) SetRadialAccel(value Vector2.XY)
- func (self Instance) SetRadialAccelCurve(value Texture2D.Instance)
- func (self Instance) SetRadialAccelMax(value Float.X)
- func (self Instance) SetRadialAccelMin(value Float.X)
- func (self Instance) SetRadialVelocity(value Vector2.XY)
- func (self Instance) SetRadialVelocityCurve(value Texture2D.Instance)
- func (self Instance) SetRadialVelocityMax(value Float.X)
- func (self Instance) SetRadialVelocityMin(value Float.X)
- func (self Instance) SetScale(value Vector2.XY)
- func (self Instance) SetScaleCurve(value Texture2D.Instance)
- func (self Instance) SetScaleMax(value Float.X)
- func (self Instance) SetScaleMin(value Float.X)
- func (self Instance) SetScaleOverVelocity(value Vector2.XY)
- func (self Instance) SetScaleOverVelocityCurve(value Texture2D.Instance)
- func (self Instance) SetScaleOverVelocityMax(value Float.X)
- func (self Instance) SetScaleOverVelocityMin(value Float.X)
- func (self Instance) SetSpread(value Float.X)
- func (self Instance) SetSubEmitterAmountAtCollision(value int)
- func (self Instance) SetSubEmitterAmountAtEnd(value int)
- func (self Instance) SetSubEmitterAmountAtStart(value int)
- func (self Instance) SetSubEmitterFrequency(value Float.X)
- func (self Instance) SetSubEmitterKeepVelocity(value bool)
- func (self Instance) SetSubEmitterMode(value SubEmitterMode)
- func (self Instance) SetTangentialAccel(value Vector2.XY)
- func (self Instance) SetTangentialAccelCurve(value Texture2D.Instance)
- func (self Instance) SetTangentialAccelMax(value Float.X)
- func (self Instance) SetTangentialAccelMin(value Float.X)
- func (self Instance) SetTurbulenceEnabled(value bool)
- func (self Instance) SetTurbulenceInfluence(value Vector2.XY)
- func (self Instance) SetTurbulenceInfluenceMax(value Float.X)
- func (self Instance) SetTurbulenceInfluenceMin(value Float.X)
- func (self Instance) SetTurbulenceInfluenceOverLife(value Texture2D.Instance)
- func (self Instance) SetTurbulenceInitialDisplacement(value Vector2.XY)
- func (self Instance) SetTurbulenceInitialDisplacementMax(value Float.X)
- func (self Instance) SetTurbulenceInitialDisplacementMin(value Float.X)
- func (self Instance) SetTurbulenceNoiseScale(value Float.X)
- func (self Instance) SetTurbulenceNoiseSpeed(value Vector3.XYZ)
- func (self Instance) SetTurbulenceNoiseSpeedRandom(value Float.X)
- func (self Instance) SetTurbulenceNoiseStrength(value Float.X)
- func (self Instance) SetVelocityLimitCurve(value Texture2D.Instance)
- func (self Instance) SetVelocityPivot(value Vector3.XYZ)
- func (self Instance) Spread() Float.X
- func (self Instance) SubEmitterAmountAtCollision() int
- func (self Instance) SubEmitterAmountAtEnd() int
- func (self Instance) SubEmitterAmountAtStart() int
- func (self Instance) SubEmitterFrequency() Float.X
- func (self Instance) SubEmitterKeepVelocity() bool
- func (self Instance) SubEmitterMode() SubEmitterMode
- func (self Instance) TangentialAccel() Vector2.XY
- func (self Instance) TangentialAccelCurve() Texture2D.Instance
- func (self Instance) TangentialAccelMax() Float.X
- func (self Instance) TangentialAccelMin() Float.X
- func (self Instance) TurbulenceEnabled() bool
- func (self Instance) TurbulenceInfluence() Vector2.XY
- func (self Instance) TurbulenceInfluenceMax() Float.X
- func (self Instance) TurbulenceInfluenceMin() Float.X
- func (self Instance) TurbulenceInfluenceOverLife() Texture2D.Instance
- func (self Instance) TurbulenceInitialDisplacement() Vector2.XY
- func (self Instance) TurbulenceInitialDisplacementMax() Float.X
- func (self Instance) TurbulenceInitialDisplacementMin() Float.X
- func (self Instance) TurbulenceNoiseScale() Float.X
- func (self Instance) TurbulenceNoiseSpeed() Vector3.XYZ
- func (self Instance) TurbulenceNoiseSpeedRandom() Float.X
- func (self Instance) TurbulenceNoiseStrength() Float.X
- func (self Instance) VelocityLimitCurve() Texture2D.Instance
- func (self Instance) VelocityPivot() Vector3.XYZ
- func (self Instance) Virtual(name string) reflect.Value
- type Parameter
- type ParticleFlags
- type SubEmitterMode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type CollisionMode ¶
type CollisionMode int //gd:ParticleProcessMaterial.CollisionMode
const ( // No collision for particles. Particles will go through [GPUParticlesCollision3D] nodes. // // [GPUParticlesCollision3D]: https://pkg.go.dev/graphics.gd/classdb/GPUParticlesCollision3D CollisionDisabled CollisionMode = 0 // [RigidBody3D]-style collision for particles using [GPUParticlesCollision3D] nodes. // // [GPUParticlesCollision3D]: https://pkg.go.dev/graphics.gd/classdb/GPUParticlesCollision3D // [RigidBody3D]: https://pkg.go.dev/graphics.gd/classdb/RigidBody3D CollisionRigid CollisionMode = 1 // Hide particles instantly when colliding with a [GPUParticlesCollision3D] node. This can be combined with a subemitter that uses the [CollisionRigid] collision mode to "replace" the parent particle with the subemitter on impact. // // [GPUParticlesCollision3D]: https://pkg.go.dev/graphics.gd/classdb/GPUParticlesCollision3D CollisionHideOnContact CollisionMode = 2 // Represents the size of the [CollisionMode] enum. CollisionMax CollisionMode = 3 )
type EmissionShape ¶
type EmissionShape int //gd:ParticleProcessMaterial.EmissionShape
const ( // All particles will be emitted from a single point. EmissionShapePoint EmissionShape = 0 // Particles will be emitted in the volume of a sphere. EmissionShapeSphere EmissionShape = 1 // Particles will be emitted on the surface of a sphere. EmissionShapeSphereSurface EmissionShape = 2 // Particles will be emitted in the volume of a box. EmissionShapeBox EmissionShape = 3 // Particles will be emitted at a position determined by sampling a random point on the [EmissionPointTexture]. Particle color will be modulated by [EmissionColorTexture]. // // [EmissionColorTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.EmissionColorTexture // [EmissionPointTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.EmissionPointTexture EmissionShapePoints EmissionShape = 4 // Particles will be emitted at a position determined by sampling a random point on the [EmissionPointTexture]. Particle velocity and rotation will be set based on [EmissionNormalTexture]. Particle color will be modulated by [EmissionColorTexture]. // // [EmissionColorTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.EmissionColorTexture // [EmissionNormalTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.EmissionNormalTexture // [EmissionPointTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.EmissionPointTexture EmissionShapeDirectedPoints EmissionShape = 5 // Particles will be emitted in a ring or cylinder. EmissionShapeRing EmissionShape = 6 // Represents the size of the [EmissionShape] enum. EmissionShapeMax EmissionShape = 7 )
type Extension ¶
Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension
func (*Extension[T]) AsMaterial ¶
func (*Extension[T]) AsParticleProcessMaterial ¶
func (*Extension[T]) AsRefCounted ¶
func (self *Extension[T]) AsRefCounted() [1]gd.RefCounted
func (*Extension[T]) AsResource ¶
type ID ¶
ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.
type Instance ¶
type Instance [1]gdclass.ParticleProcessMaterial
Instance of the class with convieniently typed arguments and results.
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AlphaCurve ¶
The alpha value of each particle's color will be multiplied by this CurveTexture over its lifetime.
Note: AlphaCurve multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, AlphaCurve will have no visible effect.
func (Instance) AngleCurve ¶
Each particle's rotation will be animated along this CurveTexture.
func (Instance) AngleMax ¶
Maximum initial rotation applied to each particle, in degrees.
Only applied when ParticleFlagDisableZ or ParticleFlagRotateY are true or the BaseMaterial3D being used to draw the particle is using [Basematerial3d.BillboardParticles].
func (Instance) AngularVelocity ¶
func (Instance) AngularVelocityCurve ¶
Each particle's angular velocity (rotation speed) will vary along this CurveTexture over its lifetime.
func (Instance) AngularVelocityMax ¶
Maximum initial angular velocity (rotation speed) applied to each particle in degrees per second.
Only applied when ParticleFlagDisableZ or ParticleFlagRotateY are true or the BaseMaterial3D being used to draw the particle is using [Basematerial3d.BillboardParticles].
func (Instance) AngularVelocityMin ¶
Minimum equivalent of AngularVelocityMax.
func (Instance) AnimOffset ¶
func (Instance) AnimOffsetCurve ¶
Each particle's animation offset will vary along this CurveTexture.
func (Instance) AnimOffsetMax ¶
Maximum animation offset that corresponds to frame index in the texture. 0 is the first frame, 1 is the last one. See CanvasItemMaterial.ParticlesAnimation.
func (Instance) AnimOffsetMin ¶
Minimum equivalent of AnimOffsetMax.
func (Instance) AnimSpeedCurve ¶
Each particle's animation speed will vary along this CurveTexture.
func (Instance) AnimSpeedMax ¶
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.
With animation speed greater than 1, remember to enable CanvasItemMaterial.ParticlesAnimLoop property if you want the animation to repeat.
func (Instance) AnimSpeedMin ¶
Minimum equivalent of AnimSpeedMax.
func (Instance) AsMaterial ¶
func (Instance) AsParticleProcessMaterial ¶
func (Instance) AsRefCounted ¶
func (self Instance) AsRefCounted() [1]gd.RefCounted
func (Instance) AsResource ¶
func (Instance) AttractorInteractionEnabled ¶
If true, interaction with particle attractors is enabled. In 3D, attraction only occurs within the area defined by the GPUParticles3D node's GPUParticles3D.VisibilityAabb.
func (Instance) CollisionBounce ¶
The particles' bounciness. Values range from 0 (no bounce) to 1 (full bounciness). Only effective if CollisionMode is CollisionRigid.
func (Instance) CollisionFriction ¶
The particles' friction. Values range from 0 (frictionless) to 1 (maximum friction). Only effective if CollisionMode is CollisionRigid.
func (Instance) CollisionMode ¶
func (self Instance) CollisionMode() CollisionMode
The particles' collision mode.
Note: 3D Particles can only collide with GPUParticlesCollision3D nodes, not PhysicsBody3D nodes. To make particles collide with various objects, you can add GPUParticlesCollision3D nodes as children of PhysicsBody3D nodes. In 3D, collisions only occur within the area defined by the GPUParticles3D node's GPUParticles3D.VisibilityAabb.
Note: 2D Particles can only collide with LightOccluder2D nodes, not PhysicsBody2D nodes.
func (Instance) CollisionUseScale ¶
If true, GPUParticles3D.CollisionBaseSize is multiplied by the particle's effective scale (see ScaleMin, ScaleMax, ScaleCurve, and ScaleOverVelocityCurve).
func (Instance) Color ¶
Each particle's initial color. If the GPUParticles2D's texture is defined, it will be multiplied by this color.
Note: Color multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, Color will have no visible effect.
func (Instance) ColorInitialRamp ¶
Each particle's initial color will vary along this GradientTexture1D (multiplied with Color).
Note: ColorInitialRamp multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, ColorInitialRamp will have no visible effect.
func (Instance) ColorRamp ¶
Each particle's color will vary along this GradientTexture1D over its lifetime (multiplied with Color).
Note: ColorRamp multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, ColorRamp will have no visible effect.
func (Instance) DampingCurve ¶
Damping will vary along this CurveTexture.
func (Instance) DampingMax ¶
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.
func (Instance) DampingMin ¶
Minimum equivalent of DampingMax.
func (Instance) DirectionalVelocity ¶
func (Instance) DirectionalVelocityCurve ¶
A curve that specifies the velocity along each of the axes of the particle system along its lifetime.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) DirectionalVelocityMax ¶
Maximum directional velocity value, which is multiplied by DirectionalVelocityCurve.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) DirectionalVelocityMin ¶
Minimum directional velocity value, which is multiplied by DirectionalVelocityCurve.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) EmissionBoxExtents ¶
The box's extents if EmissionShape is set to EmissionShapeBox.
Note: EmissionBoxExtents starts from the center point and applies the X, Y, and Z values in both directions. The size is twice the area of the extents.
func (Instance) EmissionColorTexture ¶
Particle color will be modulated by color determined by sampling this texture at the same point as the EmissionPointTexture.
Note: EmissionColorTexture multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, EmissionColorTexture will have no visible effect.
func (Instance) EmissionCurve ¶
Each particle's color will be multiplied by this CurveTexture over its lifetime.
Note: EmissionCurve multiplies the particle mesh's vertex colors. To have a visible effect on a BaseMaterial3D, BaseMaterial3D.VertexColorUseAsAlbedo must be true. For a ShaderMaterial, ALBEDO *= COLOR.rgb; must be inserted in the shader's fragment() function. Otherwise, EmissionCurve will have no visible effect.
func (Instance) EmissionNormalTexture ¶
Particle velocity and rotation will be set by sampling this texture at the same point as the EmissionPointTexture. Used only in EmissionShapeDirectedPoints. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
func (Instance) EmissionPointCount ¶
The number of emission points if EmissionShape is set to EmissionShapePoints or EmissionShapeDirectedPoints.
func (Instance) EmissionPointTexture ¶
Particles will be emitted at positions determined by sampling this texture at a random position. Used with EmissionShapePoints and EmissionShapeDirectedPoints. Can be created automatically from mesh or node by selecting "Create Emission Points from Mesh/Node" under the "Particles" tool in the toolbar.
func (Instance) EmissionRingAxis ¶
The axis of the ring when using the emitter EmissionShapeRing.
func (Instance) EmissionRingConeAngle ¶
The angle of the cone when using the emitter EmissionShapeRing. The default angle of 90 degrees results in a ring, while an angle of 0 degrees results in a cone. Intermediate values will result in a ring where one end is larger than the other.
Note: Depending on EmissionRingHeight, the angle may be clamped if the ring's end is reached to form a perfect cone.
func (Instance) EmissionRingHeight ¶
The height of the ring when using the emitter EmissionShapeRing.
func (Instance) EmissionRingInnerRadius ¶
The inner radius of the ring when using the emitter EmissionShapeRing.
func (Instance) EmissionRingRadius ¶
The radius of the ring when using the emitter EmissionShapeRing.
func (Instance) EmissionShape ¶
func (self Instance) EmissionShape() EmissionShape
Particles will be emitted inside this region.
func (Instance) EmissionShapeOffset ¶
The offset for the EmissionShape, in local space.
func (Instance) EmissionShapeScale ¶
The scale of the EmissionShape, in local space.
func (Instance) EmissionSphereRadius ¶
The sphere's radius if EmissionShape is set to EmissionShapeSphere.
func (Instance) HueVariation ¶
func (Instance) HueVariationCurve ¶
Each particle's hue will vary along this CurveTexture.
func (Instance) HueVariationMax ¶
Maximum initial hue variation applied to each particle. It will shift the particle color's hue.
func (Instance) HueVariationMin ¶
Minimum equivalent of HueVariationMax.
func (Instance) InheritVelocityRatio ¶
Percentage of the velocity of the respective GPUParticles2D or GPUParticles3D inherited by each particle when spawning.
func (Instance) InitialVelocity ¶
func (Instance) InitialVelocityMax ¶
Maximum initial velocity magnitude for each particle. Direction comes from Direction and Spread.
func (Instance) InitialVelocityMin ¶
Minimum equivalent of InitialVelocityMax.
func (Instance) LifetimeRandomness ¶
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.
func (Instance) LinearAccel ¶
func (Instance) LinearAccelCurve ¶
Each particle's linear acceleration will vary along this CurveTexture.
func (Instance) LinearAccelMax ¶
Maximum linear acceleration applied to each particle in the direction of motion.
func (Instance) LinearAccelMin ¶
Minimum equivalent of LinearAccelMax.
func (Instance) OnEmissionShapeChanged ¶
Emitted when this material's emission shape is changed in any way. This includes changes to EmissionShape, EmissionShapeScale, or EmissionSphereRadius, and any other property that affects the emission shape's offset, size, scale, or orientation.
Note: This signal is only emitted inside the editor for performance reasons.
func (Instance) OrbitVelocity ¶
func (Instance) OrbitVelocityCurve ¶
Each particle's orbital velocity will vary along this CurveTexture.
Note: For 3D orbital velocity, use a CurveXYZTexture.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) OrbitVelocityMax ¶
Maximum orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) OrbitVelocityMin ¶
Minimum equivalent of OrbitVelocityMax.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) ParticleFlagAlignY ¶
Align Y axis of particle with the direction of its velocity.
func (Instance) ParticleFlagDampingAsFriction ¶
Changes the behavior of the damping properties from a linear deceleration to a deceleration based on speed percentage.
func (Instance) ParticleFlagDisableZ ¶
If true, particles will not move on the z axis.
func (Instance) ParticleFlagRotateY ¶
If true, particles rotate around Y axis by AngleMin.
func (Instance) RadialAccel ¶
func (Instance) RadialAccelCurve ¶
Each particle's radial acceleration will vary along this CurveTexture.
func (Instance) RadialAccelMax ¶
Maximum radial acceleration applied to each particle. Makes particle accelerate away from the origin or towards it if negative.
func (Instance) RadialAccelMin ¶
Minimum equivalent of RadialAccelMax.
func (Instance) RadialVelocity ¶
func (Instance) RadialVelocityCurve ¶
A CurveTexture that defines the velocity over the particle's lifetime away (or toward) the VelocityPivot.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) RadialVelocityMax ¶
Maximum radial velocity applied to each particle. Makes particles move away from the VelocityPivot, or toward it if negative.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) RadialVelocityMin ¶
Minimum radial velocity applied to each particle. Makes particles move away from the VelocityPivot, or toward it if negative.
Note: Animated velocities will not be affected by damping, use VelocityLimitCurve instead.
func (Instance) ScaleCurve ¶
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.
func (Instance) ScaleOverVelocity ¶
func (Instance) ScaleOverVelocityCurve ¶
Either a CurveTexture or a CurveXYZTexture that scales each particle based on its velocity.
func (Instance) ScaleOverVelocityMax ¶
Maximum velocity value reference for ScaleOverVelocityCurve.
ScaleOverVelocityCurve will be interpolated between ScaleOverVelocityMin and ScaleOverVelocityMax.
func (Instance) ScaleOverVelocityMin ¶
Minimum velocity value reference for ScaleOverVelocityCurve.
ScaleOverVelocityCurve will be interpolated between ScaleOverVelocityMin and ScaleOverVelocityMax.
func (Instance) SetAlphaCurve ¶
SetAlphaCurve sets the property returned by [GetAlphaCurve].
func (Instance) SetAngleCurve ¶
SetAngleCurve sets the property returned by [GetParamTexture].
func (Instance) SetAngleMax ¶
SetAngleMax sets the property returned by [GetParamMax].
func (Instance) SetAngleMin ¶
SetAngleMin sets the property returned by [GetParamMin].
func (Instance) SetAngularVelocity ¶
SetAngularVelocity sets the property returned by [GetParam].
func (Instance) SetAngularVelocityCurve ¶
SetAngularVelocityCurve sets the property returned by [GetParamTexture].
func (Instance) SetAngularVelocityMax ¶
SetAngularVelocityMax sets the property returned by [GetParamMax].
func (Instance) SetAngularVelocityMin ¶
SetAngularVelocityMin sets the property returned by [GetParamMin].
func (Instance) SetAnimOffset ¶
SetAnimOffset sets the property returned by [GetParam].
func (Instance) SetAnimOffsetCurve ¶
SetAnimOffsetCurve sets the property returned by [GetParamTexture].
func (Instance) SetAnimOffsetMax ¶
SetAnimOffsetMax sets the property returned by [GetParamMax].
func (Instance) SetAnimOffsetMin ¶
SetAnimOffsetMin sets the property returned by [GetParamMin].
func (Instance) SetAnimSpeed ¶
SetAnimSpeed sets the property returned by [GetParam].
func (Instance) SetAnimSpeedCurve ¶
SetAnimSpeedCurve sets the property returned by [GetParamTexture].
func (Instance) SetAnimSpeedMax ¶
SetAnimSpeedMax sets the property returned by [GetParamMax].
func (Instance) SetAnimSpeedMin ¶
SetAnimSpeedMin sets the property returned by [GetParamMin].
func (Instance) SetAttractorInteractionEnabled ¶
SetAttractorInteractionEnabled sets the property returned by [IsAttractorInteractionEnabled].
func (Instance) SetCollisionBounce ¶
SetCollisionBounce sets the property returned by [GetCollisionBounce].
func (Instance) SetCollisionFriction ¶
SetCollisionFriction sets the property returned by [GetCollisionFriction].
func (Instance) SetCollisionMode ¶
func (self Instance) SetCollisionMode(value CollisionMode)
SetCollisionMode sets the property returned by [GetCollisionMode].
func (Instance) SetCollisionUseScale ¶
SetCollisionUseScale sets the property returned by [IsCollisionUsingScale].
func (Instance) SetColorInitialRamp ¶
SetColorInitialRamp sets the property returned by [GetColorInitialRamp].
func (Instance) SetColorRamp ¶
SetColorRamp sets the property returned by [GetColorRamp].
func (Instance) SetDamping ¶
SetDamping sets the property returned by [GetParam].
func (Instance) SetDampingCurve ¶
SetDampingCurve sets the property returned by [GetParamTexture].
func (Instance) SetDampingMax ¶
SetDampingMax sets the property returned by [GetParamMax].
func (Instance) SetDampingMin ¶
SetDampingMin sets the property returned by [GetParamMin].
func (Instance) SetDirection ¶
SetDirection sets the property returned by [GetDirection].
func (Instance) SetDirectionalVelocity ¶
SetDirectionalVelocity sets the property returned by [GetParam].
func (Instance) SetDirectionalVelocityCurve ¶
SetDirectionalVelocityCurve sets the property returned by [GetParamTexture].
func (Instance) SetDirectionalVelocityMax ¶
SetDirectionalVelocityMax sets the property returned by [GetParamMax].
func (Instance) SetDirectionalVelocityMin ¶
SetDirectionalVelocityMin sets the property returned by [GetParamMin].
func (Instance) SetEmissionBoxExtents ¶
SetEmissionBoxExtents sets the property returned by [GetEmissionBoxExtents].
func (Instance) SetEmissionColorTexture ¶
SetEmissionColorTexture sets the property returned by [GetEmissionColorTexture].
func (Instance) SetEmissionCurve ¶
SetEmissionCurve sets the property returned by [GetEmissionCurve].
func (Instance) SetEmissionNormalTexture ¶
SetEmissionNormalTexture sets the property returned by [GetEmissionNormalTexture].
func (Instance) SetEmissionPointCount ¶
SetEmissionPointCount sets the property returned by [GetEmissionPointCount].
func (Instance) SetEmissionPointTexture ¶
SetEmissionPointTexture sets the property returned by [GetEmissionPointTexture].
func (Instance) SetEmissionRingAxis ¶
SetEmissionRingAxis sets the property returned by [GetEmissionRingAxis].
func (Instance) SetEmissionRingConeAngle ¶
SetEmissionRingConeAngle sets the property returned by [GetEmissionRingConeAngle].
func (Instance) SetEmissionRingHeight ¶
SetEmissionRingHeight sets the property returned by [GetEmissionRingHeight].
func (Instance) SetEmissionRingInnerRadius ¶
SetEmissionRingInnerRadius sets the property returned by [GetEmissionRingInnerRadius].
func (Instance) SetEmissionRingRadius ¶
SetEmissionRingRadius sets the property returned by [GetEmissionRingRadius].
func (Instance) SetEmissionShape ¶
func (self Instance) SetEmissionShape(value EmissionShape)
SetEmissionShape sets the property returned by [GetEmissionShape].
func (Instance) SetEmissionShapeOffset ¶
SetEmissionShapeOffset sets the property returned by [GetEmissionShapeOffset].
func (Instance) SetEmissionShapeScale ¶
SetEmissionShapeScale sets the property returned by [GetEmissionShapeScale].
func (Instance) SetEmissionSphereRadius ¶
SetEmissionSphereRadius sets the property returned by [GetEmissionSphereRadius].
func (Instance) SetFlatness ¶
SetFlatness sets the property returned by [GetFlatness].
func (Instance) SetGravity ¶
SetGravity sets the property returned by [GetGravity].
func (Instance) SetHueVariation ¶
SetHueVariation sets the property returned by [GetParam].
func (Instance) SetHueVariationCurve ¶
SetHueVariationCurve sets the property returned by [GetParamTexture].
func (Instance) SetHueVariationMax ¶
SetHueVariationMax sets the property returned by [GetParamMax].
func (Instance) SetHueVariationMin ¶
SetHueVariationMin sets the property returned by [GetParamMin].
func (Instance) SetInheritVelocityRatio ¶
SetInheritVelocityRatio sets the property returned by [GetInheritVelocityRatio].
func (Instance) SetInitialVelocity ¶
SetInitialVelocity sets the property returned by [GetParam].
func (Instance) SetInitialVelocityMax ¶
SetInitialVelocityMax sets the property returned by [GetParamMax].
func (Instance) SetInitialVelocityMin ¶
SetInitialVelocityMin sets the property returned by [GetParamMin].
func (Instance) SetLifetimeRandomness ¶
SetLifetimeRandomness sets the property returned by [GetLifetimeRandomness].
func (Instance) SetLinearAccel ¶
SetLinearAccel sets the property returned by [GetParam].
func (Instance) SetLinearAccelCurve ¶
SetLinearAccelCurve sets the property returned by [GetParamTexture].
func (Instance) SetLinearAccelMax ¶
SetLinearAccelMax sets the property returned by [GetParamMax].
func (Instance) SetLinearAccelMin ¶
SetLinearAccelMin sets the property returned by [GetParamMin].
func (Instance) SetOrbitVelocity ¶
SetOrbitVelocity sets the property returned by [GetParam].
func (Instance) SetOrbitVelocityCurve ¶
SetOrbitVelocityCurve sets the property returned by [GetParamTexture].
func (Instance) SetOrbitVelocityMax ¶
SetOrbitVelocityMax sets the property returned by [GetParamMax].
func (Instance) SetOrbitVelocityMin ¶
SetOrbitVelocityMin sets the property returned by [GetParamMin].
func (Instance) SetParticleFlagAlignY ¶
SetParticleFlagAlignY sets the property returned by [GetParticleFlag].
func (Instance) SetParticleFlagDampingAsFriction ¶
SetParticleFlagDampingAsFriction sets the property returned by [GetParticleFlag].
func (Instance) SetParticleFlagDisableZ ¶
SetParticleFlagDisableZ sets the property returned by [GetParticleFlag].
func (Instance) SetParticleFlagRotateY ¶
SetParticleFlagRotateY sets the property returned by [GetParticleFlag].
func (Instance) SetRadialAccel ¶
SetRadialAccel sets the property returned by [GetParam].
func (Instance) SetRadialAccelCurve ¶
SetRadialAccelCurve sets the property returned by [GetParamTexture].
func (Instance) SetRadialAccelMax ¶
SetRadialAccelMax sets the property returned by [GetParamMax].
func (Instance) SetRadialAccelMin ¶
SetRadialAccelMin sets the property returned by [GetParamMin].
func (Instance) SetRadialVelocity ¶
SetRadialVelocity sets the property returned by [GetParam].
func (Instance) SetRadialVelocityCurve ¶
SetRadialVelocityCurve sets the property returned by [GetParamTexture].
func (Instance) SetRadialVelocityMax ¶
SetRadialVelocityMax sets the property returned by [GetParamMax].
func (Instance) SetRadialVelocityMin ¶
SetRadialVelocityMin sets the property returned by [GetParamMin].
func (Instance) SetScaleCurve ¶
SetScaleCurve sets the property returned by [GetParamTexture].
func (Instance) SetScaleMax ¶
SetScaleMax sets the property returned by [GetParamMax].
func (Instance) SetScaleMin ¶
SetScaleMin sets the property returned by [GetParamMin].
func (Instance) SetScaleOverVelocity ¶
SetScaleOverVelocity sets the property returned by [GetParam].
func (Instance) SetScaleOverVelocityCurve ¶
SetScaleOverVelocityCurve sets the property returned by [GetParamTexture].
func (Instance) SetScaleOverVelocityMax ¶
SetScaleOverVelocityMax sets the property returned by [GetParamMax].
func (Instance) SetScaleOverVelocityMin ¶
SetScaleOverVelocityMin sets the property returned by [GetParamMin].
func (Instance) SetSubEmitterAmountAtCollision ¶
SetSubEmitterAmountAtCollision sets the property returned by [GetSubEmitterAmountAtCollision].
func (Instance) SetSubEmitterAmountAtEnd ¶
SetSubEmitterAmountAtEnd sets the property returned by [GetSubEmitterAmountAtEnd].
func (Instance) SetSubEmitterAmountAtStart ¶
SetSubEmitterAmountAtStart sets the property returned by [GetSubEmitterAmountAtStart].
func (Instance) SetSubEmitterFrequency ¶
SetSubEmitterFrequency sets the property returned by [GetSubEmitterFrequency].
func (Instance) SetSubEmitterKeepVelocity ¶
SetSubEmitterKeepVelocity sets the property returned by [GetSubEmitterKeepVelocity].
func (Instance) SetSubEmitterMode ¶
func (self Instance) SetSubEmitterMode(value SubEmitterMode)
SetSubEmitterMode sets the property returned by [GetSubEmitterMode].
func (Instance) SetTangentialAccel ¶
SetTangentialAccel sets the property returned by [GetParam].
func (Instance) SetTangentialAccelCurve ¶
SetTangentialAccelCurve sets the property returned by [GetParamTexture].
func (Instance) SetTangentialAccelMax ¶
SetTangentialAccelMax sets the property returned by [GetParamMax].
func (Instance) SetTangentialAccelMin ¶
SetTangentialAccelMin sets the property returned by [GetParamMin].
func (Instance) SetTurbulenceEnabled ¶
SetTurbulenceEnabled sets the property returned by [GetTurbulenceEnabled].
func (Instance) SetTurbulenceInfluence ¶
SetTurbulenceInfluence sets the property returned by [GetParam].
func (Instance) SetTurbulenceInfluenceMax ¶
SetTurbulenceInfluenceMax sets the property returned by [GetParamMax].
func (Instance) SetTurbulenceInfluenceMin ¶
SetTurbulenceInfluenceMin sets the property returned by [GetParamMin].
func (Instance) SetTurbulenceInfluenceOverLife ¶
SetTurbulenceInfluenceOverLife sets the property returned by [GetParamTexture].
func (Instance) SetTurbulenceInitialDisplacement ¶
SetTurbulenceInitialDisplacement sets the property returned by [GetParam].
func (Instance) SetTurbulenceInitialDisplacementMax ¶
SetTurbulenceInitialDisplacementMax sets the property returned by [GetParamMax].
func (Instance) SetTurbulenceInitialDisplacementMin ¶
SetTurbulenceInitialDisplacementMin sets the property returned by [GetParamMin].
func (Instance) SetTurbulenceNoiseScale ¶
SetTurbulenceNoiseScale sets the property returned by [GetTurbulenceNoiseScale].
func (Instance) SetTurbulenceNoiseSpeed ¶
SetTurbulenceNoiseSpeed sets the property returned by [GetTurbulenceNoiseSpeed].
func (Instance) SetTurbulenceNoiseSpeedRandom ¶
SetTurbulenceNoiseSpeedRandom sets the property returned by [GetTurbulenceNoiseSpeedRandom].
func (Instance) SetTurbulenceNoiseStrength ¶
SetTurbulenceNoiseStrength sets the property returned by [GetTurbulenceNoiseStrength].
func (Instance) SetVelocityLimitCurve ¶
SetVelocityLimitCurve sets the property returned by [GetVelocityLimitCurve].
func (Instance) SetVelocityPivot ¶
SetVelocityPivot sets the property returned by [GetVelocityPivot].
func (Instance) SubEmitterAmountAtCollision ¶
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.
Note: This value shouldn't exceed GPUParticles2D.Amount or GPUParticles3D.Amount defined on the subemitter node (not the main node), relative to the subemitter's particle lifetime. If the number of particles is exceeded, no new particles will spawn from the subemitter until enough particles have expired.
func (Instance) SubEmitterAmountAtEnd ¶
The amount of particles to spawn from the subemitter node when the particle expires.
Note: This value shouldn't exceed GPUParticles2D.Amount or GPUParticles3D.Amount defined on the subemitter node (not the main node), relative to the subemitter's particle lifetime. If the number of particles is exceeded, no new particles will spawn from the subemitter until enough particles have expired.
func (Instance) SubEmitterAmountAtStart ¶
The amount of particles to spawn from the subemitter node when the particle spawns.
Note: This value shouldn't exceed GPUParticles2D.Amount or GPUParticles3D.Amount defined on the subemitter node (not the main node), relative to the subemitter's particle lifetime. If the number of particles is exceeded, no new particles will spawn from the subemitter until enough particles have expired.
func (Instance) SubEmitterFrequency ¶
The frequency at which particles should be emitted from the subemitter node. One particle will be spawned every SubEmitterFrequency seconds.
Note: This value shouldn't exceed GPUParticles2D.Amount or GPUParticles3D.Amount defined on the subemitter node (not the main node), relative to the subemitter's particle lifetime. If the number of particles is exceeded, no new particles will spawn from the subemitter until enough particles have expired.
func (Instance) SubEmitterKeepVelocity ¶
If true, the subemitter inherits the parent particle's velocity when it spawns.
func (Instance) SubEmitterMode ¶
func (self Instance) SubEmitterMode() SubEmitterMode
The particle subemitter mode (see GPUParticles2D.SubEmitter and GPUParticles3D.SubEmitter).
func (Instance) TangentialAccel ¶
func (Instance) TangentialAccelCurve ¶
Each particle's tangential acceleration will vary along this CurveTexture.
func (Instance) TangentialAccelMax ¶
Maximum tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
func (Instance) TangentialAccelMin ¶
Minimum equivalent of TangentialAccelMax.
func (Instance) TurbulenceEnabled ¶
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.
Note: Enabling turbulence has a high performance cost on the GPU. Only enable turbulence on a few particle systems at once at most, and consider disabling it when targeting mobile/web platforms.
func (Instance) TurbulenceInfluence ¶
func (Instance) TurbulenceInfluenceMax ¶
Maximum turbulence influence on each particle.
The actual amount of turbulence influence on each particle is calculated as a random value between TurbulenceInfluenceMin and TurbulenceInfluenceMax and multiplied by the amount of turbulence influence from TurbulenceInfluenceOverLife.
func (Instance) TurbulenceInfluenceMin ¶
Minimum turbulence influence on each particle.
The actual amount of turbulence influence on each particle is calculated as a random value between TurbulenceInfluenceMin and TurbulenceInfluenceMax and multiplied by the amount of turbulence influence from TurbulenceInfluenceOverLife.
func (Instance) TurbulenceInfluenceOverLife ¶
Each particle's amount of turbulence will be influenced along this CurveTexture over its life time.
func (Instance) TurbulenceInitialDisplacement ¶
func (Instance) TurbulenceInitialDisplacementMax ¶
Maximum displacement of each particle's spawn position by the turbulence.
The actual amount of displacement will be a factor of the underlying turbulence multiplied by a random value between TurbulenceInitialDisplacementMin and TurbulenceInitialDisplacementMax.
func (Instance) TurbulenceInitialDisplacementMin ¶
Minimum displacement of each particle's spawn position by the turbulence.
The actual amount of displacement will be a factor of the underlying turbulence multiplied by a random value between TurbulenceInitialDisplacementMin and TurbulenceInitialDisplacementMax.
func (Instance) TurbulenceNoiseScale ¶
This value controls the overall scale/frequency of the turbulence noise pattern.
A small scale will result in smaller features with more detail while a high scale will result in smoother noise with larger features.
func (Instance) TurbulenceNoiseSpeed ¶
A scrolling velocity for the turbulence field. This sets a directional trend for the pattern to move in over time.
The default value of Vector3(0, 0, 0) turns off the scrolling.
func (Instance) TurbulenceNoiseSpeedRandom ¶
The in-place rate of change of the turbulence field. This defines how quickly the noise pattern varies over time.
A value of 0.0 will result in a fixed pattern.
func (Instance) TurbulenceNoiseStrength ¶
The turbulence noise strength. Increasing this will result in a stronger, more contrasting, flow pattern.
func (Instance) VelocityLimitCurve ¶
A CurveTexture that defines the maximum velocity of a particle during its lifetime.
func (Instance) VelocityPivot ¶
A pivot point used to calculate radial and orbital velocity of particles.
type Parameter ¶
type Parameter int //gd:ParticleProcessMaterial.Parameter
const ( // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set initial velocity properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamInitialLinearVelocity Parameter = 0 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set angular velocity properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamAngularVelocity Parameter = 1 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set orbital velocity properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamOrbitVelocity Parameter = 2 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set linear acceleration properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamLinearAccel Parameter = 3 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set radial acceleration properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamRadialAccel Parameter = 4 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set tangential acceleration properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamTangentialAccel Parameter = 5 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set damping properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamDamping Parameter = 6 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set angle properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamAngle Parameter = 7 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set scale properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamScale Parameter = 8 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set hue variation properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamHueVariation Parameter = 9 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set animation speed properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamAnimSpeed Parameter = 10 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set animation offset properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamAnimOffset Parameter = 11 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set radial velocity properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamRadialVelocity Parameter = 15 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set directional velocity properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamDirectionalVelocity Parameter = 16 // Use with [SetParamMin], [SetParamMax], and [SetParamTexture] to set scale over velocity properties. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamScaleOverVelocity Parameter = 17 // Represents the size of the [Parameter] enum. ParamMax Parameter = 18 // Use with [SetParamMin] and [SetParamMax] to set the turbulence minimum und maximum influence on each particles velocity. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin ParamTurbVelInfluence Parameter = 13 // Use with [SetParamMin] and [SetParamMax] to set the turbulence minimum and maximum displacement of the particles spawn position. // // [SetParamMax]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMax // [SetParamMin]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamMin ParamTurbInitDisplacement Parameter = 14 // Use with [SetParamTexture] to set the turbulence influence over the particles life time. // // [SetParamTexture]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParamTexture ParamTurbInfluenceOverLife Parameter = 12 )
type ParticleFlags ¶
type ParticleFlags int //gd:ParticleProcessMaterial.ParticleFlags
const ( // Use with [SetParticleFlag] to set [ParticleFlagAlignY]. // // [ParticleFlagAlignY]: https://pkg.go.dev/graphics.gd/classdb/#Instance.ParticleFlagAlignY // [SetParticleFlag]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParticleFlag ParticleFlagAlignYToVelocity ParticleFlags = 0 // Use with [SetParticleFlag] to set [ParticleFlagRotateY]. // // [ParticleFlagRotateY]: https://pkg.go.dev/graphics.gd/classdb/#Instance.ParticleFlagRotateY // [SetParticleFlag]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParticleFlag ParticleFlagRotateY ParticleFlags = 1 // Use with [SetParticleFlag] to set [ParticleFlagDisableZ]. // // [ParticleFlagDisableZ]: https://pkg.go.dev/graphics.gd/classdb/#Instance.ParticleFlagDisableZ // [SetParticleFlag]: https://pkg.go.dev/graphics.gd/classdb/#Instance.SetParticleFlag ParticleFlagDisableZ ParticleFlags = 2 ParticleFlagDampingAsFriction ParticleFlags = 3 // Represents the size of the [ParticleFlags] enum. ParticleFlagMax ParticleFlags = 4 )
type SubEmitterMode ¶
type SubEmitterMode int //gd:ParticleProcessMaterial.SubEmitterMode
const ( SubEmitterDisabled SubEmitterMode = 0 SubEmitterConstant SubEmitterMode = 1 SubEmitterAtEnd SubEmitterMode = 2 SubEmitterAtCollision SubEmitterMode = 3 SubEmitterAtStart SubEmitterMode = 4 // Represents the size of the [SubEmitterMode] enum. SubEmitterMax SubEmitterMode = 5 )