Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    ParticleChildInitializer Class

    Namespace: Stride.Particles.Initializers
    Assembly: Stride.Particles.dll

    Base class for initializers which reference a parent particle emitter

    System.Object → ParticleTransform → ParticleModule → ParticleInitializer → ParticleChildInitializer
    Derived from ParticleChildInitializer: InitialColorParent InitialOrderParent InitialPositionParent InitialSizeParent InitialVelocityParent

    [DataContract("ParticleChildInitializer")]
    public abstract class ParticleChildInitializer : ParticleInitializer
    Name Description
    Fields
    Parent

    Referenced parent emitter

    Properties
    ParentControlFlag

    Some initializers require fine control between parent and child emitters. Use the control group to assign such meta-fields.

    ParentName

    Name by which to reference a followed (parent) emitter

    ParentSeedOffset

    The parent seed offset is used to determine which particle from the pool should be picked as a parent in case there is no control group

    Methods
    AddControlGroup()

    Adds the required control group field to the parent emitter's pool

    GetSpawnControlField()

    Gets a field accessor to the parent emitter's spawn control field, if it exists

    InvalidateRelations()

    Invalidates relation of this emitter to any other emitters that might be referenced

    RemoveControlGroup()

    Removes the old required control group field from the parent emitter's pool

    SetParentTRS(ParticleTransform, ParticleSystem)

    Sets the parent (particle system's) translation, rotation and scale (uniform) The module can choose to inherit, use or ignore any of the elements

    | Improve this Doc View Source

    Fields


    Parent

    Referenced parent emitter

    protected ParticleEmitter Parent
    Field Value
    Type Description
    ParticleEmitter
    | Improve this Doc View Source

    Properties


    ParentControlFlag

    Some initializers require fine control between parent and child emitters. Use the control group to assign such meta-fields.

    [DataMember(13)]
    [Display("Spawn Control Group", null)]
    public ParentControlFlag ParentControlFlag { get; set; }
    Property Value
    Type Description
    ParentControlFlag

    ParentName

    Name by which to reference a followed (parent) emitter

    [DataMember(11)]
    [Display("Parent emitter", null)]
    public string ParentName { get; set; }
    Property Value
    Type Description
    System.String

    ParentSeedOffset

    The parent seed offset is used to determine which particle from the pool should be picked as a parent in case there is no control group

    [DataMember(12)]
    [Display("Parent Offset", null)]
    public uint ParentSeedOffset { get; set; }
    Property Value
    Type Description
    System.UInt32
    | Improve this Doc View Source

    Methods


    AddControlGroup()

    Adds the required control group field to the parent emitter's pool

    protected virtual void AddControlGroup()

    GetSpawnControlField()

    Gets a field accessor to the parent emitter's spawn control field, if it exists

    protected ParticleFieldAccessor<ParticleChildrenAttribute> GetSpawnControlField()
    Returns
    Type Description
    ParticleFieldAccessor<ParticleChildrenAttribute>

    InvalidateRelations()

    Invalidates relation of this emitter to any other emitters that might be referenced

    public override void InvalidateRelations()
    Overrides
    ParticleModule.InvalidateRelations()

    RemoveControlGroup()

    Removes the old required control group field from the parent emitter's pool

    protected virtual void RemoveControlGroup()

    SetParentTRS(ParticleTransform, ParticleSystem)

    Sets the parent (particle system's) translation, rotation and scale (uniform) The module can choose to inherit, use or ignore any of the elements

    public override void SetParentTRS(ParticleTransform transform, ParticleSystem parentSystem)
    Parameters
    Type Name Description
    ParticleTransform transform

    ParticleSystem's transform (from the Transform component) or identity if local space is used

    ParticleSystem parentSystem
    Overrides
    ParticleModule.SetParentTRS(ParticleTransform, ParticleSystem)

    Inherited Members

    ParticleInitializer.Initialize(ParticlePool, Int32, Int32, Int32)
    ParticleModule.Enabled
    ParticleModule.ResetSimulation()
    ParticleModule.TryGetDebugDrawShape(DebugDrawShape, Vector3, Quaternion, Vector3)
    ParticleModule.RequiredFields
    ParticleModule.PreUpdate()
    ParticleTransform.InheritPosition
    ParticleTransform.Position
    ParticleTransform.InheritRotation
    ParticleTransform.Rotation
    ParticleTransform.InheritScale
    ParticleTransform.Scale
    ParticleTransform.ScaleUniform
    ParticleTransform.DisplayParticlePosition
    ParticleTransform.DisplayParticleRotation
    ParticleTransform.DisplayParticleScale
    ParticleTransform.DisplayParticleScaleUniform
    ParticleTransform.WorldPosition
    ParticleTransform.WorldRotation
    ParticleTransform.WorldScale
    ParticleTransform.SetParentTransform(ParticleTransform)

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation