Class: CollisionComponent

pc.CollisionComponent

A collision volume. Use this in conjunction with a pc.RigidBodyComponent to make a collision volume that can be simulated using the physics engine.

If the pc.Entity does not have a pc.RigidBodyComponent then this collision volume will act as a trigger volume. When an entity with a dynamic or kinematic body enters or leaves an entity with a trigger volume, both entities will receive trigger events.

The following table shows all the events that can be fired between two Entities:

Rigid Body (Static)Rigid Body (Dynamic or Kinematic)Trigger Volume
Rigid Body (Static) -
  • contact
  • collisionstart
  • collisionend
-
Rigid Body (Dynamic or Kinematic)
  • contact
  • collisionstart
  • collisionend
  • contact
  • collisionstart
  • collisionend
  • triggerenter
  • triggerleave
Trigger Volume -
  • triggerenter
  • triggerleave
-

Constructor

new CollisionComponent(system, entity)

Create a new CollisionComponent
Parameters:
Name Type Description
system pc.CollisionComponentSystem The ComponentSystem that created this Component
entity pc.Entity The Entity that this Component is attached to.
Properties:
Name Type Description
type String The type of the collision volume. Defaults to 'box'. Can be one of the following:
  • box: A box-shaped collision volume.
  • sphere: A sphere-shaped collision volume.
  • capsule: A capsule-shaped collision volume.
  • cylinder: A cylinder-shaped collision volume.
  • mesh: A collision volume that uses a model asset as its shape.
halfExtents pc.Vec3 The half-extents of the box-shaped collision volume in the x, y and z axes. Defaults to [0.5, 0.5, 0.5]
radius Number The radius of the sphere, capsule or cylinder-shaped collision volumes. Defaults to 0.5
axis Number The local space axis with which the capsule or cylinder-shaped collision volume's length is aligned. 0 for X, 1 for Y and 2 for Z. Defaults to 1 (Y-axis).
height Number The total height of the capsule or cylinder-shaped collision volume from tip to tip. Defaults to 2.
asset pc.Asset The asset for the model of the mesh collision volume - can also be an asset id.
model pc.Model The model that is added to the scene graph for the mesh collision volume.
Source:

Extends

Events

collisionend

The 'collisionend' event is fired two rigid-bodies stop touching.
Parameters:
Name Type Description
other pc.Entity The pc.Entity that stopped touching this collision volume.
Source:

collisionstart

The 'collisionstart' event is fired when two rigid bodies start touching.
Parameters:
Name Type Description
result pc.ContactResult Details of the contact between the two Entities.
Source:

contact

The 'contact' event is fired when a contact occurs between two rigid bodies
Parameters:
Name Type Description
result pc.ContactResult Details of the contact between the two rigid bodies.
Source:

triggerenter

The 'triggerenter' event is fired when a rigid body enters a trigger volume. a pc.RigidBodyComponent attached.
Parameters:
Name Type Description
other pc.Entity The pc.Entity that entered this collision volume.
Source:

triggerleave

The 'triggerleave' event is fired when a rigid body exits a trigger volume. a pc.RigidBodyComponent attached.
Parameters:
Name Type Description
other pc.Entity The pc.Entity that exited this collision volume.
Source: