![]() |
Obi
7.0.5
Unified particle physics for Unity
|
Public Member Functions | |
delegate void | BlueprintCallback (ObiActorBlueprint blueprint) |
bool | IsParticleActive (int index) |
bool | ActivateParticle (int index) |
bool | DeactivateParticle (int index) |
void | RecalculateBounds () |
IEnumerable< IObiConstraints > | GetConstraints () |
IObiConstraints | GetConstraintsByType (Oni.ConstraintType type) |
int | GetParticleRuntimeIndex (int blueprintIndex) |
Vector3 | GetParticlePosition (int index) |
Quaternion | GetParticleOrientation (int index) |
Vector3 | GetParticleRestPosition (int index) |
Quaternion | GetParticleRestOrientation (int index) |
void | GetParticleAnisotropy (int index, ref Vector4 b1, ref Vector4 b2, ref Vector4 b3) |
float | GetParticleMaxRadius (int index) |
Color | GetParticleColor (int index) |
void | GenerateImmediate () |
IEnumerator | Generate () |
virtual void | CommitBlueprintChanges () |
void | Clear () |
ObiParticleGroup | InsertNewParticleGroup (string name, int index, bool saveImmediately=true) |
ObiParticleGroup | AppendNewParticleGroup (string name, bool saveImmediately=true) |
bool | RemoveParticleGroupAt (int index, bool saveImmediately=true) |
bool | SetParticleGroupName (int index, string name, bool saveImmediately=true) |
void | ClearParticleGroups (bool registerUndo=true, bool saveImmediately=true) |
virtual void | RemoveSelectedParticles (ref bool[] selected, bool optimize=true) |
void | RestoreRemovedParticles () |
virtual void | GenerateTethers (bool[] selected) |
virtual void | ClearTethers () |
Public Attributes | |
Vector3[] | positions = null |
Vector4[] | restPositions = null |
Quaternion[] | orientations = null |
Quaternion[] | restOrientations = null |
Vector3[] | velocities = null |
Vector3[] | angularVelocities = null |
float[] | invMasses = null |
float[] | invRotationalMasses = null |
int[] | filters = null |
Vector3[] | principalRadii = null |
Color[] | colors = null |
int[] | points = null |
int[] | edges = null |
int[] | triangles = null |
ObiDistanceConstraintsData | distanceConstraintsData = null |
ObiBendConstraintsData | bendConstraintsData = null |
ObiSkinConstraintsData | skinConstraintsData = null |
ObiTetherConstraintsData | tetherConstraintsData = null |
ObiStretchShearConstraintsData | stretchShearConstraintsData = null |
ObiBendTwistConstraintsData | bendTwistConstraintsData = null |
ObiShapeMatchingConstraintsData | shapeMatchingConstraintsData = null |
ObiAerodynamicConstraintsData | aerodynamicConstraintsData = null |
ObiChainConstraintsData | chainConstraintsData = null |
ObiVolumeConstraintsData | volumeConstraintsData = null |
List< ObiParticleGroup > | groups = new List<ObiParticleGroup>() |
Protected Member Functions | |
virtual void | SwapWithFirstInactiveParticle (int index) |
void | GenerateChecksum () |
abstract IEnumerator | Initialize () |
Protected Attributes | |
uint | m_Checksum |
bool | m_Empty = true |
bool | m_Edited = false |
int | m_ActiveParticleCount = 0 |
int | m_InitialActiveParticleCount = 0 |
Bounds | _bounds = new Bounds() |
Properties | |
uint | checksum [get] |
int | particleCount [get] |
int | activeParticleCount [get] |
Oni.SimplexType | simplexTypes [get] |
bool | usesOrientedParticles [get] |
virtual bool | usesTethers [get] |
bool | edited [get, set] |
bool | empty [get] |
Bounds | bounds [get] |
![]() | |
int | particleCount [get] |
int | activeParticleCount [get] |
bool | usesOrientedParticles [get] |
Events | |
BlueprintCallback | OnBlueprintGenerate |
bool Obi.ObiActorBlueprint.ActivateParticle | ( | int | index | ) |
Activates one particle. This operation preserves the relative order of all particles.
bool Obi.ObiActorBlueprint.DeactivateParticle | ( | int | index | ) |
Deactivates one particle. This operation does not preserve the relative order of other particles, because the last active particle will swap positions with the particle being deactivated.
Vector3 [] Obi.ObiActorBlueprint.angularVelocities = null |
Particle angular velocities.
Color [] Obi.ObiActorBlueprint.colors = null |
Particle colors (not used by all actors, can be null)
ObiDistanceConstraintsData Obi.ObiActorBlueprint.distanceConstraintsData = null |
Constraint components. Each constraint type contains a list of constraint batches.
int [] Obi.ObiActorBlueprint.filters = null |
Particle filters
List<ObiParticleGroup> Obi.ObiActorBlueprint.groups = new List<ObiParticleGroup>() |
Particle groups.
float [] Obi.ObiActorBlueprint.invMasses = null |
Particle inverse masses
|
protected |
Whether there's been any modifications to blueprint data since generating it. This is used to tell whether it can be re-generated without data loss.
Quaternion [] Obi.ObiActorBlueprint.orientations = null |
Particle orientations.
int [] Obi.ObiActorBlueprint.points = null |
Simplices
Vector3 [] Obi.ObiActorBlueprint.positions = null |
Particle components Particle positions.
Vector3 [] Obi.ObiActorBlueprint.principalRadii = null |
Particle ellipsoid principal radii. These are the ellipsoid radius in each axis.
Quaternion [] Obi.ObiActorBlueprint.restOrientations = null |
Particle rest orientations.
Vector4 [] Obi.ObiActorBlueprint.restPositions = null |
Particle rest positions, used to filter collisions.
Vector3 [] Obi.ObiActorBlueprint.velocities = null |
Particle velocities.
|
get |
Checksum value generated from particle positions and orientations.
|
get |
Returns the amount of particles used by this blueprint.
|
get |
Returns whether this group uses oriented particles.