Skip to content

ngokevin/aframe-physics-components

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

aframe-physics-components

Also check out Don McCurdy's physics implementation in aframe-extras.

Experimental physics components for A-Frame VR using cannon.js.

physics2

Usage

Browser Installation

Install and use by directly including the browser files:

<head>
  <title>My A-Frame Scene</title>
  <script src="https://aframe.io/releases/0.2.0/aframe.min.js"></script>
  <script src="https://github.com/ngokevin/aframe-physics-components/blob/master/dist/aframe-physics-components.min.js"></script>
</head>

<body>
  <a-scene physics-world="gravity: 0 -9.8 0">
    <a-entity physics-body="boundingBox: 1 1 1; mass: 5; velocity: 0.2 0 0"
              geometry="primitive: box" material="color: red"></a-entity>
  </a-scene>
</body>

NPM Installation

Install via NPM:

npm install aframe-physics-components

Then register and use.

require('aframe');
require('aframe-physics-components');

API

physics-body Component

Property Description Type Default Value
angularVelocity (in deg/s) vec3 0 0 0
boundingBox Collision box (in m). vec3 0 0 0
mass (in kg) number 1
velocity (in m/s) vec3 0 0 0
Event Name Description
collide Emitted when entity collides with another entity. Event contains contact.
applyImpulse (impulseVec3, positionVec3)

Applies an impulse (indicated by impulseVec3) at the body's local point (indicated by positionVec3). forceVec3 is in Force / Time (Newtons / Seconds).

// Applies a small force from left-to-right to the top-left of the body.
var hitMeBody = document.querySelector('#hit-me-entity').components['physics-body'];
hitMeBody.applyImpulse({ x: 10, y: 0, z: 0 }, { x: -1, y: 1, z: 0 });

physics-world Component

Property Description Default Value
gravity vec3 0 -9.8 0
Event Name Description
beginContact Emitted when an entity in the world begins contact with another entity. Event contains bodyA and bodyB.
endContact Emitted when an entity in the world ends contact with another entity. Event contains bodyA and bodyB.

About

Physics components for A-Frame VR.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published