Describes the NxParameterized::Interface for 'ParticleIosAssetParam' : Contains the asset properties for an IOS. More...
#include <params.h>
Classes | |
union | ParticleType |
Public Attributes | |
ParticleType | particleType |
U32 | maxParticleCount |
'maxParticleCount' : Maximum particle count | |
F32 | particleRadius |
'particleRadius' : Particle radius | |
F32 | maxInjectedParticleCount |
'maxInjectedParticleCount' : Maximum number of newly created particles on each frame | |
F32 | maxMotionDistance |
'maxMotionDistance' : Max motion distance | |
F32 | contactOffset |
'contactOffset' : Contact offset | |
F32 | restOffset |
'restOffset' : Rest offset | |
F32 | gridSize |
'gridSize' : Grid size | |
F32 | damping |
'damping' : Velocity damping constant | |
Vec3 | externalAcceleration |
'externalAcceleration' : External acceleration | |
Vec3 | projectionPlaneNormal |
'projectionPlaneNormal' : The normal of the plane the particles are projected to | |
F32 | projectionPlaneDistance |
'projectionPlaneDistance' : Constant term of the plane the particles are projected to | |
F32 | particleMass |
'particleMass' : Mass of a particle | |
F32 | restitution |
'restitution' : Restitution coefficient | |
F32 | dynamicFriction |
'dynamicFriction' : Dynamic friction | |
F32 | staticFriction |
'staticFriction' : Static friction | |
String | simulationFilterData |
'simulationFilterData' : The name for the collision filtering data for PhysX object interaction. | |
String | fieldSamplerFilterData |
'fieldSamplerFilterData' : The name for collision filtering data for APEX FieldSampler interaction. | |
Bool | CollisionTwoway |
'CollisionTwoway' : Enable/disable two way collision of particles with the rigid body scene | |
Bool | CollisionWithDynamicActors |
'CollisionWithDynamicActors' : Enable/disable collision of particles with dynamic actors | |
Bool | Enable |
'Enable' : Enables collision with static shapes | |
Bool | ProjectToPlane |
'ProjectToPlane' : Whether the particles of this particle system should be projected to a plane | |
Bool | PerParticleRestOffset |
'PerParticleRestOffset' : Enable/disable per particle rest offsets | |
Bool | PerParticleCollisionCacheHint |
'PerParticleCollisionCacheHint' : Ename/disable per particle collision caches | |
Bool | DensityBuffer |
'DensityBuffer' : Enables reading particle densities from the SDK. (PxParticleFluid only) | |
Bool | enableTemperatureBuffer |
'enableTemperatureBuffer' : Enables temperature buffer. |
Describes the NxParameterized::Interface for 'ParticleIosAssetParam' : Contains the asset properties for an IOS.
ParticleIosAssetParam contains 32 fully qualified names --------------------------------------------- 1 : Bool particleType.GridDensity.Enabled RefVariant[SimpleParticleSystemParams] 2 : Resolution particleType.GridDensity.Resolution RefVariant[SimpleParticleSystemParams] 3 : F32 particleType.GridDensity.GridSize RefVariant[SimpleParticleSystemParams] 4 : U32 particleType.GridDensity.MaxCellCount RefVariant[SimpleParticleSystemParams] 5 : F32 particleType.restParticleDistance RefVariant[FluidParticleSystemParams] 6 : F32 particleType.stiffness RefVariant[FluidParticleSystemParams] 7 : F32 particleType.viscosity RefVariant[FluidParticleSystemParams] 8 : U32 maxParticleCount 9 : F32 particleRadius 10 : F32 maxInjectedParticleCount 11 : F32 maxMotionDistance 12 : F32 contactOffset 13 : F32 restOffset 14 : F32 gridSize 15 : F32 damping 16 : Vec3 externalAcceleration 17 : Vec3 projectionPlaneNormal 18 : F32 projectionPlaneDistance 19 : F32 particleMass 20 : F32 restitution 21 : F32 dynamicFriction 22 : F32 staticFriction 23 : String simulationFilterData 24 : String fieldSamplerFilterData 25 : Bool CollisionTwoway 26 : Bool CollisionWithDynamicActors 27 : Bool Enable 28 : Bool ProjectToPlane 29 : Bool PerParticleRestOffset 30 : Bool PerParticleCollisionCacheHint 31 : Bool DensityBuffer 32 : Bool enableTemperatureBuffer
'CollisionTwoway' : Enable/disable two way collision of particles with the rigid body scene
In either case, particles are influenced by colliding rigid bodies. If eCOLLISION_TWOWAY is not set, rigid bodies are not influenced by colliding particles. Use PxParticleBaseDesc.particleMass to control the strength of the feedback force on rigid bodies. Switching this flag while the particle system is part of a scene will fail.
'CollisionWithDynamicActors' : Enable/disable collision of particles with dynamic actors
The flag can be turned off as a hint to the sdk to save memory space and execution time. In principle any collisions can be turned off using filters but without or reduced memory and performance benefits. Switching this flag while the particle system is part of a scene might have a negative impact on performance.
'contactOffset' : Contact offset
Specifies a skin around the particles within which contacts will be generated Objects that come within contactOffset distance of the particles will count as being in contact (the contactOffset of the other object has no influence). The contactOffset has to be greater than zero and also be greater than the particle systems restOffset. Having a contactOffset bigger than the restOffset is important to avoid jittering and sticking. The contactOffset needs to be positive and the sum maxMotionDistance + contactOffset must not be higher than gridSize.
'damping' : Velocity damping constant
It generally reduces the velocity of the particles. Setting the damping to 0 will leave the particles unaffected.
'DensityBuffer' : Enables reading particle densities from the SDK. (PxParticleFluid only)
'dynamicFriction' : Dynamic friction
A value of 1 will cause the particle to lose its velocity tangential to the surface normal of the shape at the collision location; i.e. it will not slide along the surface. A value of 0 will preserve the particle's velocity in the tangential surface direction; i.e. it will slide without resistance on the surface.
'Enable' : Enables collision with static shapes
'enableTemperatureBuffer' : Enables temperature buffer.
'externalAcceleration' : External acceleration
Acceleration (m/s^2) applied to all particles at all time steps. Useful to simulate smoke or fire. This acceleration is additive to the scene gravity. The scene gravity can be turned off for the particle system, using the flag PxActorFlag::eDISABLE_GRAVITY.
'fieldSamplerFilterData' : The name for collision filtering data for APEX FieldSampler interaction.
The namespace is NSCollisionGroup64, the type returned should be NxGroupsMask64.
'gridSize' : Grid size
This parameter controls the parallelization of the particle system. The spatial domain is divided into equal sized cubes, aligned in a grid. The parameter given defines the scale of the grid. The sdk may internally choose a different, larger value which can be queried with PxParticleBase.getGridSize(). Therefore the parameter has to be considered as a hint only. Large values will have a negative effect on performance, while too small values are problematic due to spatial data structure buffer limits. Balancing this value is important to achieve a good effect while maintaining good performance.
'maxInjectedParticleCount' : Maximum number of newly created particles on each frame
The maximum number of new particles to be spawned on each frame. Use values >1 to provide the absolute value, or 0 <= x <= 1 to provide the percentage rate to overall number of particles.
'maxMotionDistance' : Max motion distance
Max distance a particle can travel in a single simulation step
'maxParticleCount' : Maximum particle count
'particleMass' : Mass of a particle
The mass is used to translate force or impulses to velocities for collisions (in case PxParticleBaseFlag::eCOLLISION_TWOWAY is set) or for particle updates.
'particleRadius' : Particle radius
Query the authored radius of the instanced objects simulated by this IOS. Emitters need this value for volume fill effects and an IOFX may need it for rendering purposes
'PerParticleCollisionCacheHint' : Ename/disable per particle collision caches
Per particle collision caches improve collision detection performance at the cost of increased memory usage. Switching this flag while the particle system is part of a scene might have a negative impact on performance.
'PerParticleRestOffset' : Enable/disable per particle rest offsets
Per particle rest offsets can be used to support particles having different sizes with respect to collision. This configuration cannot be changed after the particle system was created.
'projectionPlaneDistance' : Constant term of the plane the particles are projected to
This parameter is only used if PxParticleBaseFlag::ePROJECT_TO_PLANE is set. Together with the parameter projectionPlaneNormal a plane is formed. For each point p on the plane the following equation has to hold: (projectionPlaneNormal.x * p.x) + (projectionPlaneNormal.y * p.y) + (projectionPlaneNormal.z * p.z) + projectionPlaneDistance = 0
'projectionPlaneNormal' : The normal of the plane the particles are projected to
This parameter is only used if PxParticleBaseFlag::ePROJECT_TO_PLANE is set. Together with the parameter projectionPlaneDistance a plane is formed. For each point p on the plane the following equation has to hold: (projectionPlaneNormal.x * p.x) + (projectionPlaneNormal.y * p.y) + (projectionPlaneNormal.z * p.z) + projectionPlaneDistance = 0
'ProjectToPlane' : Whether the particles of this particle system should be projected to a plane
This can be used to build 2D applications, for instance. The projection plane is defined by the parameter PxParticleBaseDesc.projectionPlaneNormal and PxParticleBaseDesc.projectionPlaneDistance.
'restitution' : Restitution coefficient
A value of 0 causes the colliding particle to get a zero velocity component in the direction of the surface normal of the shape at the collision location; i.e. it will not bounce. A value of 1 causes a particle's velocity component in the direction of the surface normal to invert; i.e. the particle bounces off the surface with the same velocity magnitude as it had before collision. (Caution: values near 1 may have a negative impact on stability)
'restOffset' : Rest offset
Specifies an offset at which particles will come to rest relative to an objects surface Particles will maintain a distance equal to the restOffset to rigid bodies (the restOffset of the rigid body has no influence). If the restOffset is zero the particles should rest exactly on the object surface. The restOffset can alternatively be specified per particle. However the per particle restOffset needs to be smaller or equal to the PxParticleBaseDesc.restOffset.
'simulationFilterData' : The name for the collision filtering data for PhysX object interaction.
The namespace is NSCollisionGroup128, the type returned should be physx::PxFilterData.
'staticFriction' : Static friction
The value defines a limit at which a particle starts to slide along a surface depending on relative tangential and normal velocity components of the particle. A value of 0 will turn off static friction.