Interface IPhysicBody3D
Interface for the body of 3D physics.
Namespace: Evergine.Framework.Physics3D
Assembly: Evergine.Framework.dll
Syntax
public interface IPhysicBody3D
Properties
AnisotropicFriction
Gets or sets the anisotropic friction.
Declaration
Vector3 AnisotropicFriction { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
BodyComponent
Gets or sets the associated body component.
Declaration
PhysicBody3D BodyComponent { get; set; }
Property Value
Type | Description |
---|---|
PhysicBody3D |
CcdMotionThreshold
Gets or sets the CCD motion threshold.
Declaration
float CcdMotionThreshold { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
CCD motion clamping activates for convex objects that exceed a squared velocity threshold (squared to avoid taking square roots). By default, this threshold is zero, which means this feature is disabled for rigid bodies.
CcdSweptSphereRadius
Gets or sets the CCD swept sphere radius.
Declaration
float CcdSweptSphereRadius { get; set; }
Property Value
Type | Description |
---|---|
float |
Remarks
CCD works on an embedded sphere of radius. Make sure this radius is embedded inside the convex objects, preferably smaller.
ColliderShapes
Gets the collection of colliders.
Declaration
IEnumerable<IColliderShape3D> ColliderShapes { get; }
Property Value
Type | Description |
---|---|
IEnumerable<IColliderShape3D> |
CollisionCategories
Gets or sets the collision category bits.
Declaration
CollisionCategory3D CollisionCategories { get; set; }
Property Value
Type | Description |
---|---|
CollisionCategory3D |
CompanionId
Gets or sets the companion ID.
Declaration
int CompanionId { get; set; }
Property Value
Type | Description |
---|---|
int |
ContactDamping
Gets the contact damping coefficient.
Declaration
float ContactDamping { get; }
Property Value
Type | Description |
---|---|
float |
ContactProcessingThreshold
Gets or sets the contact-processing threshold.
Declaration
float ContactProcessingThreshold { get; set; }
Property Value
Type | Description |
---|---|
float |
ContactStiffness
Gets the contact stiffness.
Declaration
float ContactStiffness { get; }
Property Value
Type | Description |
---|---|
float |
DeactivationTime
Gets or sets the deactivation time.
Declaration
float DeactivationTime { get; set; }
Property Value
Type | Description |
---|---|
float |
Flags
Gets or sets the static body flags.
Declaration
StaticBody3DFlags Flags { get; set; }
Property Value
Type | Description |
---|---|
StaticBody3DFlags |
Friction
Gets or sets the friction of the rigidbody.
Declaration
float Friction { get; set; }
Property Value
Type | Description |
---|---|
float |
HasContactResponse
Gets a value indicating whether there is any contact response.
Declaration
bool HasContactResponse { get; }
Property Value
Type | Description |
---|---|
bool |
HitFraction
Gets or sets the hit fraction.
Declaration
float HitFraction { get; set; }
Property Value
Type | Description |
---|---|
float |
InternalBody
Gets the internal body.
Declaration
object InternalBody { get; }
Property Value
Type | Description |
---|---|
object |
InterpolationAngularVelocity
Gets or sets the interpolated angular velocity.
Declaration
Vector3 InterpolationAngularVelocity { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
InterpolationLinearVelocity
Gets or sets the interpolated linear velocity.
Declaration
Vector3 InterpolationLinearVelocity { get; set; }
Property Value
Type | Description |
---|---|
Vector3 |
InterpolationWorldTransform
Gets or sets the interpolated world transform.
Declaration
Matrix4x4 InterpolationWorldTransform { get; set; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
IsActive
Gets a value indicating whether this body is active.
Declaration
bool IsActive { get; }
Property Value
Type | Description |
---|---|
bool |
IsSensor
Gets or sets a value indicating whether this body collects contact information but never generates a collision response.
Declaration
bool IsSensor { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsStaticObject
Gets a value indicating whether this body is static.
Declaration
bool IsStaticObject { get; }
Property Value
Type | Description |
---|---|
bool |
IslandTag
Gets or sets the island tag.
Declaration
int IslandTag { get; set; }
Property Value
Type | Description |
---|---|
int |
MaskBits
Gets or sets the collision mask bits.
Declaration
CollisionCategory3D MaskBits { get; set; }
Property Value
Type | Description |
---|---|
CollisionCategory3D |
Restitution
Gets or sets the restitution of the rigid body.
Declaration
float Restitution { get; set; }
Property Value
Type | Description |
---|---|
float |
RollingFriction
Gets or sets the rolling friction.
Declaration
float RollingFriction { get; set; }
Property Value
Type | Description |
---|---|
float |
SpinningFriction
Gets or sets the spinning fraction.
Declaration
float SpinningFriction { get; set; }
Property Value
Type | Description |
---|---|
float |
Transform
Gets the world transform of the body.
Declaration
Matrix4x4 Transform { get; }
Property Value
Type | Description |
---|---|
Matrix4x4 |
Methods
AddColliderShape(IColliderShape3D)
Adds a collider shape to the body.
Declaration
void AddColliderShape(IColliderShape3D shape)
Parameters
Type | Name | Description |
---|---|---|
IColliderShape3D | shape | The shape. |
GetColliderShapeByIndex(int)
Gets the collider shape by index.
Declaration
IColliderShape3D GetColliderShapeByIndex(int index)
Parameters
Type | Name | Description |
---|---|---|
int | index | The index. |
Returns
Type | Description |
---|---|
IColliderShape3D | The collider shape. |
RemoveColliderShape(IColliderShape3D)
Removes the collider shape from the body.
Declaration
void RemoveColliderShape(IColliderShape3D shape)
Parameters
Type | Name | Description |
---|---|---|
IColliderShape3D | shape | The shape to remove. |
SetTransform(Vector3, Quaternion, Vector3)
Sets the position of the body's origin and rotation. This breaks any contacts and wakes the other bodies. Manipulating a body's transform may cause non-physical behavior.
Declaration
void SetTransform(Vector3 position, Quaternion orientation, Vector3 scale)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | position | The world position of the body's local origin. |
Quaternion | orientation | The world rotation as a quaternion. |
Vector3 | scale | The world scale. |