![]() |
Obi
7.0.5
Unified particle physics for Unity
|
Classes | |
class | BonePropertyCurve |
class | IgnoredBone |
Public Member Functions | |
void | UpdateBlueprint () |
override void | RequestReadback () |
override void | SimulationEnd (float simulatedTime, float substepTime) |
override void | ProvideDeformableEdges (ObiNativeIntList deformableEdges) |
void | UpdateRadius () |
void | UpdateMasses () |
Vector3 | GetSkinRadiiBackstop (ObiSkinConstraintsBatch batch, int constraintIndex) |
float | GetSkinCompliance (ObiSkinConstraintsBatch batch, int constraintIndex) |
Vector3 | GetBendTwistCompliance (ObiBendTwistConstraintsBatch batch, int constraintIndex) |
Vector2 | GetBendTwistPlasticity (ObiBendTwistConstraintsBatch batch, int constraintIndex) |
Vector3 | GetStretchShearCompliance (ObiStretchShearConstraintsBatch batch, int constraintIndex) |
float | GetDrag (ObiAerodynamicConstraintsBatch batch, int constraintIndex) |
float | GetLift (ObiAerodynamicConstraintsBatch batch, int constraintIndex) |
void | FixedUpdate () |
override void | SimulationStart (float timeToSimulate, float substepTime) |
void | LateUpdate () |
void | ResetToCurrentShape () |
Resets particle orientations/positions to match the current pose of the bone hierarchy, and sets all their velocities to zero. More... | |
![]() | |
delegate void | ActorCallback (ObiActor actor) |
delegate void | ActorStepCallback (ObiActor actor, float simulatedTime, float substepTime) |
delegate void | ActorBlueprintCallback (ObiActor actor, ObiActorBlueprint blueprint) |
void | AddToSolver () |
Adds this actor to its solver, if any. Automatically called by ObiSolver. More... | |
void | RemoveFromSolver () |
Remove this actor from its solver, if any. Automatically called by ObiSolver. More... | |
virtual void | ProvideDeformableTriangles (ObiNativeIntList deformableTriangles, ObiNativeVector2List deformableUVs) |
virtual int | GetDeformableEdgeCount () |
virtual bool | CopyParticle (int actorSourceIndex, int actorDestIndex) |
Copies all data (position, velocity, phase, etc) from one particle to another one. More... | |
void | TeleportParticle (int actorIndex, Vector3 position) |
Teleports one actor particle to a certain position in solver space. More... | |
virtual Matrix4x4 | Teleport (Vector3 position, Quaternion rotation) |
Teleports the entire actor to a new location / orientation. More... | |
virtual bool | ActivateParticle () |
Activates one particle. More... | |
virtual bool | DeactivateParticle (int actorIndex) |
Deactivates one particle. More... | |
virtual bool | IsParticleActive (int actorIndex) |
Returns whether a given particle is active. More... | |
virtual void | SetSelfCollisions (bool selfCollisions) |
Updates particle phases in the solver at runtime, including or removing the self-collision flag. More... | |
virtual void | SetOneSided (bool oneSided) |
Updates particle phases in the solver at runtime, including or removing the one-sided flag. More... | |
void | SetSimplicesDirty () |
Marks simplices dirty. More... | |
void | SetConstraintsDirty (Oni.ConstraintType constraintType) |
Marks a given constraint type as dirty. More... | |
void | SetRenderingDirty (Oni.RenderingSystemType rendererType) |
Marks rendering dirty. More... | |
IObiConstraints | GetConstraintsByType (Oni.ConstraintType type) |
Returns the data representation of constraints of a given type being simulated by this solver. More... | |
virtual void | UpdateParticleProperties () |
Call when some particle properties have been modified and need updating. More... | |
int | GetParticleRuntimeIndex (int actorIndex) |
Returns the index of this particle in the solver arrays. More... | |
Vector3 | GetParticlePosition (int solverIndex) |
Given a solver particle index, returns the position of that particle in world space. More... | |
Quaternion | GetParticleOrientation (int solverIndex) |
Given a solver particle index, returns the orientation of that particle in world space. More... | |
Vector3 | GetParticleRestPosition (int solverIndex) |
Given a solver particle index, returns the rest position of that particle. More... | |
Quaternion | GetParticleRestOrientation (int solverIndex) |
Given a solver particle index, returns the rest orientation of that particle. More... | |
void | GetParticleAnisotropy (int solverIndex, ref Vector4 b1, ref Vector4 b2, ref Vector4 b3) |
Given a solver particle index, returns the anisotropic frame of that particle in world space. More... | |
float | GetParticleMaxRadius (int solverIndex) |
Given a solver particle index, returns the maximum world space radius of that particle, in any axis. More... | |
Color | GetParticleColor (int solverIndex) |
Given a solver particle index, returns the color of that particle. More... | |
void | SetFilterCategory (int newCategory) |
Sets a given category value for all particles in the actor. More... | |
void | SetFilterMask (int newMask) |
Sets a given mask value for all particles in the actor. More... | |
void | SetMass (float mass) |
Sets the inverse mass of each particle so that the total actor mass matches the one passed by parameter. More... | |
float | GetMass (out Vector3 com) |
Returns the actor's mass (sum of all particle masses), and the position of its center of mass. More... | |
void | AddForce (Vector3 force, ForceMode forceMode) |
Adds an external force to all particles in the actor. More... | |
void | AddTorque (Vector3 force, ForceMode forceMode) |
Adds a torque to the actor. More... | |
void | ResetParticles () |
Resets the position and velocity of all particles, to the values stored in the blueprint. More... | |
bool | SaveStateToBlueprint (ObiActorBlueprint bp) |
Resets the position and velocity of all particles, to the values stored in the blueprint. More... | |
void | ClearState () |
virtual void | Interpolate (float simulatedTime, float substepTime) |
virtual void | OnSolverVisibilityChanged (bool visible) |
Public Attributes | |
bool | fixRoot = true |
bool | stretchBones = true |
List< IgnoredBone > | ignored = new List<IgnoredBone>() |
![]() | |
ObiNativeIntList | solverIndices |
Index of each one of the actor's particles in the solver. More... | |
List< int >[] | solverBatchOffsets |
For each of the actor's constraint types, offset of every batch in the solver. More... | |
int | groupID = 0 |
Protected Member Functions | |
override void | Awake () |
override void | OnDestroy () |
override void | OnValidate () |
![]() | |
virtual void | OnEnable () |
virtual void | OnDisable () |
void | SetSolver (ObiSolver newSolver) |
Forcibly changes the solver in charge of this actor More... | |
void | SetMassScale (float scale) |
Sets the mass of all particles in the actor to their blueprint values, multiplied by a scale factor. More... | |
virtual void | OnBlueprintRegenerate (ObiActorBlueprint blueprint) |
void | UpdateCollisionMaterials () |
virtual void | SwapWithFirstInactiveParticle (int actorIndex) |
void | StoreState () |
Protected Attributes | |
ObiBoneBlueprint | m_BoneBlueprint |
bool | m_SelfCollisions = false |
BonePropertyCurve | _radius = new BonePropertyCurve(0.1f, 1) |
BonePropertyCurve | _mass = new BonePropertyCurve(0.1f, 1) |
BonePropertyCurve | _rotationalMass = new BonePropertyCurve(0.1f, 1) |
bool | _skinConstraintsEnabled = true |
BonePropertyCurve | _skinCompliance = new BonePropertyCurve(0.01f, 1) |
BonePropertyCurve | _skinRadius = new BonePropertyCurve(0.1f, 1) |
bool | _stretchShearConstraintsEnabled = true |
BonePropertyCurve | _stretchCompliance = new BonePropertyCurve(0, 1) |
BonePropertyCurve | _shear1Compliance = new BonePropertyCurve(0, 1) |
BonePropertyCurve | _shear2Compliance = new BonePropertyCurve(0, 1) |
bool | _bendTwistConstraintsEnabled = true |
BonePropertyCurve | _torsionCompliance = new BonePropertyCurve(0, 1) |
BonePropertyCurve | _bend1Compliance = new BonePropertyCurve(0, 1) |
BonePropertyCurve | _bend2Compliance = new BonePropertyCurve(0, 1) |
BonePropertyCurve | _plasticYield = new BonePropertyCurve(0, 1) |
BonePropertyCurve | _plasticCreep = new BonePropertyCurve(0, 1) |
bool | _aerodynamicsEnabled = true |
BonePropertyCurve | _drag = new BonePropertyCurve(0.05f, 1) |
BonePropertyCurve | _lift = new BonePropertyCurve(0.02f, 1) |
![]() | |
int | m_ActiveParticleCount = 0 |
ObiSolver | m_Solver |
bool | m_Loaded = false |
ObiCollisionMaterial | m_CollisionMaterial |
bool | m_SurfaceCollisions = false |
float | m_MassScale = 1 |
Properties | |
int | Filter [get, set] |
Collision filter value used by fluid particles. More... | |
bool | selfCollisions [get, set] |
Whether particles in this actor colide with particles using the same phase value. More... | |
BonePropertyCurve | radius [get, set] |
Particle radius distribution over this bone hierarchy length. More... | |
BonePropertyCurve | mass [get, set] |
Mass distribution over this bone hierarchy length. More... | |
BonePropertyCurve | rotationalMass [get, set] |
Rotational mass distribution over this bone hierarchy length. More... | |
bool | skinConstraintsEnabled [get, set] |
Whether this actor's skin constraints are enabled. More... | |
BonePropertyCurve | skinCompliance [get, set] |
Compliance of this actor's skin constraints. More... | |
BonePropertyCurve | skinRadius [get, set] |
Compliance of this actor's skin radius More... | |
bool | stretchShearConstraintsEnabled [get, set] |
Whether this actor's stretch/shear constraints are enabled. More... | |
BonePropertyCurve | stretchCompliance [get, set] |
Compliance of this actor's stretch/shear constraints, along their length. More... | |
BonePropertyCurve | shear1Compliance [get, set] |
Shearing compliance of this actor's stretch/shear constraints, along the first axis orthogonal to their length. More... | |
BonePropertyCurve | shear2Compliance [get, set] |
Shearing compliance of this actor's stretch/shear constraints, along the second axis orthogonal to their length. More... | |
bool | bendTwistConstraintsEnabled [get, set] |
Whether this actor's bend/twist constraints are enabled. More... | |
BonePropertyCurve | torsionCompliance [get, set] |
Torsional compliance of this actor's bend/twist constraints along their length. More... | |
BonePropertyCurve | bend1Compliance [get, set] |
Bending compliance of this actor's bend/twist constraints along the first axis orthogonal to their length. More... | |
BonePropertyCurve | bend2Compliance [get, set] |
Bending compliance of this actor's bend/twist constraints along the second axis orthogonal to their length. More... | |
BonePropertyCurve | plasticYield [get, set] |
Threshold for plastic behavior. More... | |
BonePropertyCurve | plasticCreep [get, set] |
Percentage of deformation that gets absorbed into the rest shape per second, once deformation goes above the plasticYield threshold. More... | |
bool | aerodynamicsEnabled [get, set] |
Whether this actor's aerodynamic constraints are enabled. More... | |
BonePropertyCurve | drag [get, set] |
Aerodynamic drag value. More... | |
BonePropertyCurve | lift [get, set] |
Aerodynamic lift value. More... | |
override ObiActorBlueprint | sourceBlueprint [get] |
ObiBoneBlueprint | boneBlueprint [get, set] |
![]() | |
int | deformableEdgesOffset [get, set] |
ObiSolver | solver [get] |
The solver in charge of simulating this actor. More... | |
bool | isLoaded [get] |
True if the actor blueprint has been loaded into a solver. If true, it guarantees actor.solver, actor.solverIndices and actor.solverBatchOffsets won't be null. More... | |
ObiCollisionMaterial | collisionMaterial [get, set] |
The collision material being used by this actor. More... | |
virtual bool | surfaceCollisions [get, set] |
Whether to use simplices (triangles, edges) for contact generation. More... | |
float | massScale [get, set] |
Scale applied to this actor's particle masses. More... | |
int | particleCount [get] |
Amount of particles allocated by this actor. More... | |
int | activeParticleCount [get] |
Amount of particles in use by this actor. More... | |
bool | usesOrientedParticles [get] |
Whether this actors makes use of particle orientations or not. More... | |
virtual bool | usesAnisotropicParticles [get] |
If true, it means particles may not be completely spherical, but ellipsoidal. More... | |
Oni.SimplexType | simplexTypes [get] |
Matrix4x4 | actorLocalToSolverMatrix [get] |
Matrix that transforms from the actor's local space to the solver's local space. More... | |
Matrix4x4 | actorSolverToLocalMatrix [get] |
Matrix that transforms from the solver's local space to the actor's local space. More... | |
abstract ObiActorBlueprint | sourceBlueprint [get] |
Reference to the blueprint asset used by this actor. More... | |
ObiActorBlueprint | sharedBlueprint [get] |
Reference to the blueprint in use by this actor. More... | |
ObiActorBlueprint | blueprint [get] |
Returns a unique instance of this actor's sourceBlueprint. More... | |
![]() | |
int | particleCount [get] |
int | activeParticleCount [get] |
bool | usesOrientedParticles [get] |
![]() | |
bool | stretchShearConstraintsEnabled [get, set] |
![]() | |
bool | bendTwistConstraintsEnabled [get, set] |
![]() | |
bool | skinConstraintsEnabled [get, set] |
![]() | |
bool | aerodynamicsEnabled [get, set] |
Additional Inherited Members | |
![]() | |
ActorBlueprintCallback | OnBlueprintLoaded |
Called when the actor blueprint has been loaded into the solver. More... | |
ActorBlueprintCallback | OnBlueprintUnloaded |
Called when the actor blueprint has been unloaded from the solver. More... | |
ActorBlueprintCallback | OnBlueprintRegenerated |
Called when the blueprint currently in use has been re-generated. This will always be preceded by a call to OnBlueprintUnloaded and OnBlueprintLoaded. More... | |
ActorStepCallback | OnSimulationStart |
Called before simulation starts. More... | |
ActorStepCallback | OnSimulationEnd |
Called after simulation ends. More... | |
ActorCallback | OnRequestReadback |
You can use this callback to issue GPU->CPU readbacks. More... | |
ActorStepCallback | OnInterpolate |
Called at the end of each frame, after interpolation but before rendering. More... | |
void Obi.ObiBone.ResetToCurrentShape | ( | ) |
Resets particle orientations/positions to match the current pose of the bone hierarchy, and sets all their velocities to zero.
|
getset |
Whether this actor's aerodynamic constraints are enabled.
|
getset |
Bending compliance of this actor's bend/twist constraints along the first axis orthogonal to their length.
|
getset |
Bending compliance of this actor's bend/twist constraints along the second axis orthogonal to their length.
|
getset |
Whether this actor's bend/twist constraints are enabled.
|
getset |
Aerodynamic drag value.
|
getset |
Collision filter value used by fluid particles.
|
getset |
Aerodynamic lift value.
|
getset |
Mass distribution over this bone hierarchy length.
|
getset |
Percentage of deformation that gets absorbed into the rest shape per second, once deformation goes above the plasticYield threshold.
|
getset |
Threshold for plastic behavior.
Once bending goes above this value, a percentage of the deformation (determined by plasticCreep) will be permanently absorbed into the rod's rest shape.
|
getset |
Particle radius distribution over this bone hierarchy length.
|
getset |
Rotational mass distribution over this bone hierarchy length.
|
getset |
Whether particles in this actor colide with particles using the same phase value.
|
getset |
Shearing compliance of this actor's stretch/shear constraints, along the first axis orthogonal to their length.
|
getset |
Shearing compliance of this actor's stretch/shear constraints, along the second axis orthogonal to their length.
|
getset |
Compliance of this actor's skin constraints.
|
getset |
Whether this actor's skin constraints are enabled.
|
getset |
Compliance of this actor's skin radius
|
getset |
Compliance of this actor's stretch/shear constraints, along their length.
|
getset |
Whether this actor's stretch/shear constraints are enabled.
|
getset |
Torsional compliance of this actor's bend/twist constraints along their length.