Phive
Phive is Nintendo's physics library built on top of an external physics library, either Havok or PhysX 3.4 have been observed. The PhysX branch doesn't implement the full feature set and is unused by the game it appears in. The library has an optional cloth and navigation mesh extension. It's responsible for providing actors many different physics controllers in a ControllerSet.
PhiveBackEnd
This is a manager responsible for bootstrapping and handling the memory management of the external physics library.
PhiveConfig
This is a global manager of the application's phive settings.
DynamicsFramework
This is the main application manager for phive. It provides an additional set of managers.
ControllerSetBinder
ControllerSetConfig
ControllerSet
This is a set of all physics controller for an actor. Wrapped by ModuleSystem's PhysicsComponent.
CharacterController
Character controllers put the hands of physics into the game developers. The game can extend character controllers with Update, Result, MoveState, and External components.
CharacterProperty
CharacterMatterRigidBodyEntity
Extension of RigidBodyEntity for character controllers.
Name | Function Arguments | Description |
---|---|---|
ChangeIsRigidBodyMode | Appears to toggle whether the rigid body is treated as such? | |
SetAngularVelocity | Extension to base request. | |
SetLinearVelocity | Extension to base request. | |
SetPositionAndRotation | Extension to base request. |
CharacterParam
CharacterUpdate
CharacterMoveState
CharacterResult
CharacterExternal
RigidBodyControllerEntity
Top level controller for a RigidBodyEntity.
RigidBodyControllerSensor
Top level controller for a RigidBodySensor.
RigidBody
The base RigidBody class. The game can file change requests for a RigidBody which will be applied in the next frame.
Name | Function Arguments | Description |
---|---|---|
AddToWorld | Adds RigidBody as a member of their respective Physics world | |
RemoveFromWorld | ||
NoHit | ||
ChangeCollisionQuality | ||
ChangeEnableHitRayCast | ||
ChangeLayerMask | ||
ChangeMotionType | ||
ChangeShape | ||
SetLayer | ||
SetLayerMask | ||
SetAngularVelocity | ||
SetLinearVelocity | ||
SetPositionAndRotation | ||
SetSubLayer |
RigidBodyEntity
These are rigid bodies that exist for the purpose of being a physical object.
RigidBodyEntityForceField
RigidBodySensor
These are rigid bodies that exist for the purpose of sensing.
ContactCollectionEntity
ContactCollectionSensor
Shape
Shapes are used to provide form to a RigidBody
Name | Value | Description |
---|---|---|
Sphere | 0 | |
Capsule | 1 | |
Polytope | 2 | A shape created out of an array of vertices |
Box | 3 | |
Cylinder | 4 | |
Cone | 5 | |
CharacterPrism | 6 | |
Compound | 7 | Combines other shapes into one |
Mesh | 8 | A shape created from the mesh of a Bphsh file |
HeightField | 9 | Base class for all height fields |
HeightFieldBox | 10 | Used in Bphsc for Water |
HeightFieldSphere | 11 | |
HeightFieldCylinder | 12 | Used in Bphsc for Water |
HeightFieldQuadrant | 13 | Used in Bphsc for Water |
HeightFieldVertices | 14 | |
StaticCompound | 15 | Used in Bphsc for compound shapes |
SDFSurfaceOfRevolution | 16 | |
SDFHeightField | 17 | |
Dummy | 18 |
ConstraintController
Constraint
Name | Description |
---|---|
BallAndSocket | |
CogWheel | |
Fixed | |
FreeSlider | |
Hinge | |
Pulley | |
RackAndPinion | |
Range | |
Slider | |
SpringDamper |
Placement
StaticCompoundController
Extension
RopeExtension
PhiveEntityControlExtension
GraphicsControllerSet
This is a sub controller set of phive::ControllerSet responsible for physics controllers used for graphical effects.