A web framework for building virtual reality experiences.
JavaScript CSS HTML
Latest commit 0d561d5 Dec 27, 2016 @machenmusik machenmusik committed with dmarcos Compatibility changes to 0.4.0 for separate gearvr controller compone…
…nt (#2192)

* The Carmel 'Gear VR Touchpad' will be bound to hand-controls="right" if present.
NOTE:
Carmel currently defers sending the button down event, and doesn't send touches,
so holding down the button to see where you're teleporting doesn't work

works well with teleport; currently hardcoded to bind to right hand only

added documentation, and changed default to right hand

added tests, fixed typo

support Samsung Internet GearVR browser; rename to gearvr-controls

don't apply controller offset if not present

don't inject gearvr-controls automatically from hand-controls, per discussion on PR

* separate gearvr-controls, remove files but retain compatibility changes

remove docs reference in hand-controls

minor formatting changes per discussion on PR

remove isViveController per discussion on PR

add comments per discussion on PR

put the candle back so codecov doesn't complain

* add some hand-controls tests

fix tests

* fix whitespace per discussion on PR

* Remove next tick from hand controls test

* remove dependency on tick time per #2207

* jsdoc and minor changes per discussion on PR

* editorial comment changes per discussion on PR
Permalink
Failed to load latest commit information.
.github Ask for link to reproducable code within Issue template (#1830) Aug 22, 2016
dist bump dist to get rid of mapping warnings Dec 18, 2016
docs Fix null parse test of coordinates (#2209) Dec 27, 2016
examples Refactor hand controls, oculus touch support (#2132) Dec 17, 2016
scripts fix eslint warnings (#2201) Dec 22, 2016
src Compatibility changes to 0.4.0 for separate gearvr controller compone… Dec 27, 2016
tests Compatibility changes to 0.4.0 for separate gearvr controller compone… Dec 27, 2016
vendor Bump VREFfect and VRControls Nov 15, 2016
.ackrc add `.ackrc` so `ack` does not search build files Nov 13, 2015
.gitattributes Aframe gitattributes based on conversations #1586 (#1825) Aug 20, 2016
.gitignore Update npmignore and gitignore for coverage (#1787) Aug 12, 2016
.jshintrc Add browserify env to .jshintrc (#1831) Aug 20, 2016
.nojekyll allow `ghpages` npm command to push to GH Pages of fork (fixes #197) Sep 24, 2015
.npmignore Update npmignore and gitignore for coverage (#1787) Aug 12, 2016
.travis.yml add documentation tester for link checking (fixes #2079) (#2080) Nov 10, 2016
CHANGELOG.md note auto enter vr to changelog Dec 17, 2016
CODE_OF_CONDUCT.md adapt rust code of conduct as base for aframe code of conduct (fixes #… Jul 22, 2016
CONTRIBUTING.md docs server (fixes #1818) Oct 31, 2016
LICENSE update license May 26, 2016
ORGANIZATION.md organization.md file (fixes #970) Mar 20, 2016
README.md update readme Dec 21, 2016
ROADMAP.md add link traversal to roadmap Dec 18, 2016
codecov.yml make codecov find the codecov.yml config Aug 22, 2016
index.html The Purge II: add vr-markup examples, change port to 9001 Sep 24, 2015
package.json Bump Three.js to r83 (#2214) Dec 26, 2016

README.md

A-Frame

A-Frame

A web framework for building virtual reality experiences.

Build Status Coverage Status Downloads Version License

SiteDocsSlackBlogawesome-aframe

Features

👓 Virtual reality made simple: A-Frame handles the 3D and WebVR boilerplate required to get running across platforms including mobile, desktop, Vive, and Rift just by dropping in <a-scene>.

❤️ Declarative HTML: A-Frame is accessible to all developers due to its easy-to-read and copy-and-pastable HTML.

Entity-component pattern: A-Frame is a powerful framework for three.js, providing an declarative, composable, reusable entity-component architecture.

🔨 Tool agnostic: A-Frame interoperates beautifully with JavaScript DOM APIs and most libraries such as React, Vue.js, Angular, or d3.js.

🔍 Visual Inspector: A-Frame provides a built-in visual inspector that acts just like your browser's DevTools; open up a scene and hit <ctrl> + <alt> + i.

📦 Registry: A-Frame has a Registry, a curated component repository similar to the Unity Asset Store. Install some components and use them right from your HTML.

Usage

Basic Example

To get started playing now, open this CodePen example scene.

<html>
  <head>
    <title>My A-Frame Scene</title>
    <script src="https://aframe.io/releases/0.4.0/aframe.min.js"></script>
  </head>
  <body>
    <a-scene>
      <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
      <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
      <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
      <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
      <a-sky color="#ECECEC"></a-sky>
    </a-scene>
  </body>
</html>

Builds

To use the latest stable build of A-Frame, include aframe.min.js:

<head>
  <script src="https://aframe.io/releases/0.4.0/aframe.min.js"></script.
</head>

To check out the stable and master builds, see the dist/ folder.

npm

npm install --save aframe
require('aframe')  // e.g., with Browserify or Webpack.

Local Development

git clone https://github.com/aframevr/aframe.git  # Clone the repository.
cd aframe && npm install  # Install dependencies.
npm start  # Start the local development server.

And open in your browser http://localhost:9000.

Generating Builds

npm run dist

Questions

For questions and support, ask on StackOverflow.

Stay in Touch

Contributing

Get involved! Check out the Contributing Guide for how to get started.

License

This program is free software and is distributed under an MIT License.