![]() |
Obi
7.0.5
Unified particle physics for Unity
|
Classes | |
| class | Meristem |
| struct | Node |
| class | SurfacePoint |
Public Types | |
| enum | LeafType { Square, Cross, Diamond, DiamondCross, Long, Custom } |
Public Member Functions | |
| void | Start () |
| int | AddGenerator (ObiPlantGenerator.GeneratorType type, string name, int parent) |
| void | RemoveGenerator (int index) |
| bool | IsGrowing () |
| int | GetGeneratorLevel (ObiPlantGenerator generator) |
| void | InstantGrow () |
| void | GenerateTrunkGeometry () |
| void | GenerateTrunkCurves () |
Public Member Functions inherited from Obi.ObiActor | |
| 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 void | ProvideDeformableEdges (ObiNativeIntList deformableEdges) |
| 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 | SimulationStart (float timeToSimulate, float substepTime) |
| virtual void | SimulationEnd (float simulatedTime, float substepTime) |
| virtual void | RequestReadback () |
| virtual void | Interpolate (float simulatedTime, float substepTime) |
| virtual void | OnSolverVisibilityChanged (bool visible) |
Public Attributes | |
| const float | DEFAULT_PARTICLE_ROTATIONAL_MASS = 0.005f |
| const float | MAX_YOUNG_MODULUS = 25000000000 |
| const float | MIN_YOUNG_MODULUS = 10 |
| int | pooledParticles = 250 |
| bool | instantGrowth = true |
| int | seed = 0 |
| List< ObiPlantGenerator > | generators = new List<ObiPlantGenerator>() |
| List< Meristem > | meristems |
| int[] | parentIndices |
| float[] | parentOffsets |
| int[] | levels |
| SurfacePoint[] | closestSurfaces |
Public Attributes inherited from Obi.ObiActor | |
| 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 | OnEnable () |
| override void | OnDisable () |
| void | LazyMeshInitialization () |
| void | UpdateMesh () |
Protected Member Functions inherited from Obi.ObiActor | |
| virtual void | Awake () |
| virtual void | OnDestroy () |
| virtual void | OnValidate () |
| 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 () |
Properties | |
| int | UsedParticles [get] |
| override ObiActorBlueprint | sourceBlueprint [get] |
Properties inherited from Obi.ObiActor | |
| 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... | |
Properties inherited from Obi.IObiParticleCollection | |
| int | particleCount [get] |
| int | activeParticleCount [get] |
| bool | usesOrientedParticles [get] |
Additional Inherited Members | |
Protected Attributes inherited from Obi.ObiActor | |
| int | m_ActiveParticleCount = 0 |
| ObiSolver | m_Solver |
| bool | m_Loaded = false |
| ObiCollisionMaterial | m_CollisionMaterial |
| bool | m_SurfaceCollisions = false |
| float | m_MassScale = 1 |
Events inherited from Obi.ObiActor | |
| 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... | |
| int Obi.ObiPlant.AddGenerator | ( | ObiPlantGenerator.GeneratorType | type, |
| string | name, | ||
| int | parent | ||
| ) |
Generates the particle based physical representation of the rope. This is the initialization method for the rope object and should not be called directly once the object has been created.
| void Obi.ObiPlant.GenerateTrunkGeometry | ( | ) |
Clears the plant mesh, and then fills it with trunk geometry by first calculating curves and then generating vertices/triangles around them.
| float [] Obi.ObiPlant.parentOffsets |
normalized offset from the parent particle's center