Aerodynamic Objects Core 2.0.0
Loading...
Searching...
No Matches
AerodynamicObjects.Demos.SurfaceParticles Class Reference

An experimental script used to manage particles which are spawned on a surface like the ground. More...

Inheritance diagram for AerodynamicObjects.Demos.SurfaceParticles:
AerodynamicObjects.FlowParticles AerodynamicObjects.FlowAffected

Public Member Functions

override void OnValidate ()
 
override void GetParticleComponents ()
 
override void UpdateParticleSystemSettings ()
 
- Public Member Functions inherited from AerodynamicObjects.FlowParticles
virtual void OnValidate ()
 
virtual void Start ()
 
virtual void GetParticleComponents ()
 
virtual void OnEnable ()
 
virtual void OnDisable ()
 
virtual void UpdateParticleSystemSettings ()
 
virtual void CheckParticleArrayLength ()
 
- Public Member Functions inherited from AerodynamicObjects.FlowAffected
void GetInteractionID ()
 Obtains a unique interaction ID for the object. More...
 
void IgnoreInteraction (FlowPrimitive primitive)
 Tells the flow interaction manager that this object and the provided flow primitive should not interact. More...
 
void IgnoreInteraction (FluidVolume fluidVolume)
 Tells the flow interaction manager that this object and the provided fluid volume should not interact. More...
 
virtual void OnDestroy ()
 
virtual void Awake ()
 
virtual void FixedUpdate ()
 
void SubscribeToFluidVolume (FluidVolume fluidVolume)
 Add this fluid volume to the object's list of fluid volumes. More...
 
void UnsubscribeFromFluidVolume (FluidVolume fluidVolume)
 Remove this fluid volume from the object's list of fluid volumes. More...
 
void UpdateFluidVolumes ()
 Looks at the fluid volumes which are currently affecting this object and removes any that have become null or are now ignored. More...
 
void RemoveNullVolumes ()
 Removes any fluid volumes which have become null from the list of interacting fluid volumes for this object. More...
 
Vector3 GetFluidVelocity (Vector3 position)
 Gets the fluid velocity at the provided position and checks whether to include the global fluid velocity or not. More...
 
Vector3 GetFluidVelocityNoInteractionCheck (Vector3 position)
 Gets the fluid velocity at the provided position and checks whether to include the global fluid velocity or not. More...
 
Vector3 GetFluidVelocityWithGlobal (Vector3 position)
 Gets the fluid velocity at the provided position under the assumption that the object IS affected by the global fluid. More...
 
Vector3 GetFluidVelocityWithGlobalNoInteractionCheck (Vector3 position)
 
Vector3 GetFluidVelocityWithoutGlobal (Vector3 position)
 

Public Attributes

bool movingSource = false
 To spawn surface particles efficiently from a moving object, e.g. More...
 
float gravityModifier = 1
 Sets the rate at which particles fall back to the floor after being disturbed. More...
 
bool isBounded = true
 
- Public Attributes inherited from AerodynamicObjects.FlowParticles
bool enableParticleTrails = true
 How will the particles know which fluid zones to collect velocities from. More...
 
float particleSpawnRate = 100
 
float particleSize = 0.1f
 
float particleLife = 3f
 
int nParticles
 
- Public Attributes inherited from AerodynamicObjects.FlowAffected
bool affectedByGlobalFluid = true
 Will the global fluid velocity affect this object? More...
 
int interactionID = 0
 The unique ID number for this object, used for identifying pairs of ignored interactions by the FlowInteractionManager. More...
 
List< FluidVolumelocalFluidVolumes = new List<FluidVolume>()
 The local fluid volumes that are currently affecting this object. More...
 
Fluid fluid = new Fluid()
 The state and properties of the fluid around the object. More...
 

Additional Inherited Members

- Protected Attributes inherited from AerodynamicObjects.FlowParticles
ParticleSystem m_ParticleSystem
 
ParticleSystem.TrailModule trailModule
 
ParticleSystem.MainModule mainModule
 
ParticleSystem.EmissionModule emissionModule
 
ParticleSystemRenderer particleSystemRenderer
 
ParticleSystem.Particle[] particles = new ParticleSystem.Particle[1]
 

Detailed Description

An experimental script used to manage particles which are spawned on a surface like the ground.

Member Function Documentation

◆ GetParticleComponents()

override void AerodynamicObjects.Demos.SurfaceParticles.GetParticleComponents ( )
virtual

Reimplemented from AerodynamicObjects.FlowParticles.

◆ OnValidate()

override void AerodynamicObjects.Demos.SurfaceParticles.OnValidate ( )
virtual

Reimplemented from AerodynamicObjects.FlowParticles.

◆ UpdateParticleSystemSettings()

override void AerodynamicObjects.Demos.SurfaceParticles.UpdateParticleSystemSettings ( )
virtual

Reimplemented from AerodynamicObjects.FlowParticles.

Member Data Documentation

◆ gravityModifier

float AerodynamicObjects.Demos.SurfaceParticles.gravityModifier = 1

Sets the rate at which particles fall back to the floor after being disturbed.

Default value is 1.

◆ isBounded

bool AerodynamicObjects.Demos.SurfaceParticles.isBounded = true

◆ movingSource

bool AerodynamicObjects.Demos.SurfaceParticles.movingSource = false

To spawn surface particles efficiently from a moving object, e.g.

debris thrown up by tyres, set Moving Source to true. This changes the particle spawn method to 'over distance', rather than 'over time'. For debris fixed in the world, e.g. mud patch, puddle, etc Moving Source should be false


The documentation for this class was generated from the following file: