castRay(ray: Ray, maxToi: number, solid: boolean): number
Find the closest intersection between a ray and this collider.
This also computes the normal at the hit point.
Returns
The time-of-impact between this collider and the ray, or -1 if there is no intersection.
Parameters
ray: Ray
The ray to cast.
maxToi: number
The maximum time-of-impact that can be reported by this cast. This effectively
limits the length of the ray to ray.dir.norm() * maxToi.
solid: boolean
If false then the ray will attempt to hit the boundary of a shape, even if its
origin already lies inside of a shape. In other terms, true implies that all shapes are plain,
whereas false implies that all shapes are hollow for this ray-cast.
Find the closest intersection between a ray and this collider.
This also computes the normal at the hit point.
Parameters
ray: Ray
The ray to cast.
maxToi: number
The maximum time-of-impact that can be reported by this cast. This effectively
limits the length of the ray to ray.dir.norm() * maxToi.
solid: boolean
If false then the ray will attempt to hit the boundary of a shape, even if its
origin already lies inside of a shape. In other terms, true implies that all shapes are plain,
whereas false implies that all shapes are hollow for this ray-cast.
The half-extents of this collider if it is a cuboid shape.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns Vector
halfHeight
halfHeight(): number
The half height of this collider if it is a cylinder, capsule, or cone shape.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns number
heightfieldHeights
heightfieldHeights(): Float32Array
If this collider has a heightfield shape, this returns the heights buffer of
the heightfield.
In 3D, the returned height matrix is provided in column-major order.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns Float32Array
heightfieldNCols
heightfieldNCols(): number
If this collider has a heightfield shape, this returns the number of
columns of its height matrix.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns number
heightfieldNRows
heightfieldNRows(): number
If this collider has a heightfield shape, this returns the number of
rows of its height matrix.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns number
heightfieldScale
heightfieldScale(): Vector
If this collider has a heightfield shape, this returns the scale
applied to it.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns Vector
indices
indices(): undefined | Uint32Array
If this collider has a triangle mesh, polyline, or convex polyhedron shape,
this returns the index buffer of said shape.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns undefined | Uint32Array
intersectsRay
intersectsRay(ray: Ray, maxToi: number): boolean
Tests if this collider intersects the given ray.
Parameters
ray: Ray
The ray to cast.
maxToi: number
The maximum time-of-impact that can be reported by this cast. This effectively
limits the length of the ray to ray.dir.norm() * maxToi.
If this is set to true then the collider shapes are considered to
be plain (if the point is located inside of a plain shape, its projection is the point
itself). If it is set to false the collider shapes are considered to be hollow
(if the point is located inside of an hollow shape, it is projected on the shape's
boundary).
Returns null | PointProjection
radius
radius(): number
The radius of this collider if it is a ball, cylinder, capsule, or cone shape.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
The hooks active for contact/intersection pairs involving this collider.
Returns void
setActiveEvents
setActiveEvents(activeEvents: ActiveEvents): void
Set the events active for this collider.
Use this to enable contact and/or intersection event reporting for this collider.
Parameters
activeEvents: ActiveEvents
The events active for contact/intersection pairs involving this collider.
Returns void
setActiveHooks
setActiveHooks(activeHooks: ActiveHooks): void
Set the physics hooks active for this collider.
Use this to enable custom filtering rules for contact/intersecstion pairs involving this collider.
Parameters
activeHooks: ActiveHooks
The hooks active for contact/intersection pairs involving this collider.
Returns void
setCollisionGroups
setCollisionGroups(groups: number): void
Sets the collision groups used by this collider.
Two colliders will interact iff. their collision groups are compatible.
See the documentation of InteractionGroups for details on teh used bit pattern.
Parameters
groups: number
The collision groups used for the collider being built.
Sets the total force magnitude beyond which a contact force event can be emitted.
Parameters
threshold: number
The new force threshold.
Returns void
setContactSkin
setContactSkin(thickness: number): void
Sets the contact skin for this collider.
See the documentation of ColliderDesc.setContactSkin for additional details.
Parameters
thickness: number
The contact skin thickness.
Returns void
setDensity
setDensity(density: number): void
Sets the uniform density of this collider.
This will override any previous mass-properties set by this.setDensity,
this.setMass, this.setMassProperties, ColliderDesc.density,
ColliderDesc.mass, or ColliderDesc.massProperties for this collider.
The mass and angular inertia of this collider will be computed automatically based on its
shape.
Parameters
density: number
Returns void
setEnabled
setEnabled(enabled: boolean): void
Sets whether this collider is enabled or not.
Parameters
enabled: boolean
Set to false to disable this collider (its parent rigid-body won’t be disabled automatically by this).
Returns void
setFriction
setFriction(friction: number): void
Sets the friction coefficient of the collider to be created.
Parameters
friction: number
The friction coefficient. Must be greater or equal to 0. This is generally smaller than 1. The
higher the coefficient, the stronger friction forces will be for contacts with the collider
being built.
Sets the half-extents of this collider if it is a cuboid shape.
Parameters
newHalfExtents: Vector
desired half extents.
Returns void
setHalfHeight
setHalfHeight(newHalfheight: number): void
Sets the half height of this collider if it is a cylinder, capsule, or cone shape.
Parameters
newHalfheight: number
desired half height.
Returns void
setMass
setMass(mass: number): void
Sets the mass of this collider.
This will override any previous mass-properties set by this.setDensity,
this.setMass, this.setMassProperties, ColliderDesc.density,
ColliderDesc.mass, or ColliderDesc.massProperties for this collider.
The angular inertia of this collider will be computed automatically based on its shape
and this mass value.
This will override any previous mass-properties set by this.setDensity,
this.setMass, this.setMassProperties, ColliderDesc.density,
ColliderDesc.mass, or ColliderDesc.massProperties for this collider.
Parameters
mass: number
centerOfMass: Vector
principalAngularInertia: Vector
angularInertiaLocalFrame: Rotation
Returns void
setRadius
setRadius(newRadius: number): void
Sets the radius of this collider if it is a ball, cylinder, capsule, or cone shape.
Parameters
newRadius: number
desired radius.
Returns void
setRestitution
setRestitution(restitution: number): void
Sets the restitution coefficient of the collider to be created.
Parameters
restitution: number
The restitution coefficient in [0, 1]. A value of 0 (the default) means no bouncing behavior
while 1 means perfect bouncing (though energy may still be lost due to numerical errors of the
constraints solver).
This does nothing if a zero quaternion is provided.
Parameters
rot: Rotation
Returns void
setRotationWrtParent
setRotationWrtParent(rot: Rotation): void
Sets the rotation quaternion of this collider relative to its parent rigid-body.
This does nothing if a zero quaternion is provided or if this collider isn't
attached to a rigid-body.
Parameters
rot: Rotation
Returns void
setRoundRadius
setRoundRadius(newBorderRadius: number): void
Sets the radius of the round edges of this collider if it has round edges.
Parameters
newBorderRadius: number
desired round edge radius.
Returns void
setSensor
setSensor(isSensor: boolean): void
Sets whether or not this collider is a sensor.
Parameters
isSensor: boolean
If true, the collider will be a sensor.
Returns void
setShape
setShape(shape: Shape): void
Sets the new shape of the collider.
Parameters
shape: Shape
The collider’s new shape.
Returns void
setSolverGroups
setSolverGroups(groups: number): void
Sets the solver groups used by this collider.
Forces between two colliders in contact will be computed iff their solver
groups are compatible.
See the documentation of InteractionGroups for details on the used bit pattern.
Parameters
groups: number
The solver groups used for the collider being built.
Returns void
setTranslation
setTranslation(tra: Vector): void
Sets the translation of this collider.
Parameters
tra: Vector
The world-space position of the collider.
Returns void
setTranslationWrtParent
setTranslationWrtParent(tra: Vector): void
Sets the translation of this collider relative to its parent rigid-body.
Does nothing if this collider isn't attached to a rigid-body.
Parameters
tra: Vector
The new translation of the collider relative to its parent.
Returns void
shapeType
shapeType(): ShapeType
The type of the shape of this collider.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
Returns ShapeType
solverGroups
solverGroups(): number
The solver groups of this collider.
Returns number
translation
translation(): Vector
The world-space translation of this rigid-body.
Returns Vector
vertices
vertices(): Float32Array
If this collider has a triangle mesh, polyline, convex polygon, or convex polyhedron shape,
this returns the vertex buffer of said shape.
Deprecated
this field will be removed in the future, please access this field on shape member instead.
A geometric entity that can be attached to a body so it can be affected by contacts and proximity queries.