A collection of awesome resources for the A-Frame WebVR framework.
This list is synced now and then. For some of the more recent stuff, check out the recent A Week of A-Frame roundups on the blog
Straight from the horse's mouth.
- Official Site
- Documentation and Guides
- Blog
- Examples
- Inspector
- Registry
- Presentation Kit
- Team Site
- Command Line Interface
Scenes built by the A-Frame team.
Find human beings using A-Frame.
Learn about A-Frame.
- Official Introduction and Guide
- Wikipedia Page
- A-Frame - Virtual Reality on the Web Simplified
- A-Frame: The Easiest Way to Bring VR to the Web Today - Getting started on WebVR with A-Frame
- Getting Started With A-Frame - Building the Olympic rings using A-Frame
- Relative Positioning in A-Frame - How to use
<a-entity>
as a wrapper to create local coordinate spaces - Entity-Component-System Wikipedia
- Schneller Einstieg in die WebVR Entwicklung mit A-Frame (German) - Translated
- WebVR mit A-Frame: Einführung & Grundlagen (German) - Translated
- First Steps in VR - Building a maze game in VR
- Why iStaging Chose A-Frame - Building a large-scale real estate tour application
- Building Ghost Train Builder - Building a Halloween ghost train builder application
- Build a Simple First-Person-Shooter Using Components - Entity-component-system pattern workflow to build an interactive scene
- Building Cardboard Dungeon with A-Frame - A case study on building a simple dungeon game usign A-Frame
- Developing an A-Frame Teleport Component - Building a component to teleport with tracked controllers
- Building a Simple Web VR UI with A-Frame - Using cursor and components to swap photospheres
- Lightmapping on the Server - Server-side lightmapping with Blender
- Scene Export - Exporting A-Frame-based scenes in SceneVR
- Using Thingiverse Files in A-Frame
- Head Tracked Transformations - How to look behind an object in VR if you can't walk around it
- Porting a Water Shader to A-Frame for the Track Demo
- Interactive 360 Video: Accurate Positioning and Smooth Tracking - Interactive 360 videos by overlaying DOM elements and live editing 360 videos
- Hands-on With Virtual Reality Using A-Frame, React and Redux
- A-Frame WebVR Tutorials - A-Frame WebVR tutorial series
- Responsive Web Design with A-Frame
- D3 + 3D: Using d3.js with A-Frame
- Using A-Frame with Epson Moverio and Crosswalk - Tech talk on building WebVR and VR apps with Crosswalk and A-Frame for the Epson Moverio augmented-reality smart glasses
- A Review of Mozilla's A-Frame WebVR Framework
- A-Frame - Lightning talk on A-Frame introduction at W3C WebVR Workshop [slides]
- A-Frame: VR for Developers - Talk on A-Frame at SFHTML5 [slides]
- How to Build Pokemon Go in 100% JS - Talk at JSConf AU 2016 [slides]
- Building Virtual Reality on the Web - Talk on A-Frame at NingJS 2016
- Build the Virtual Reality Web with A-Frame - Talk on A-Frame at ForwardJS
- Building a Virtual Reality Web Experience - A sneak peek of A-Frame before it was released
- VR on the Open Web with A-Frame and WebVR - Voices of VR podcast featuring Josh Carpenter
- Introducing WebVR with A-Frame at RunJumpDev July 2016 Monthly Meeting - Talk on WebVR
Community components. To create and share a component, see angle or the Component Boilerplate. For curated components, see the Registry.
- Along Path - Interpolating an entity's position along a path
- Always Fullscreen - Provide ways to enable Fullscreen on iOS (Scroll to Minimal-UI) and Android/Desktop (Fullscreen API)
- Asset Lazy Load - Assign asset loading order and delays
- Asset On-Demand - Load Assets dynamically when needed (and properly clean them up if not)
- Audio Visualizer - Audio visualizations using WebAudio API
- Bmfont - Renders bitmap/SDF fonts for high-quality 2D text
- Broadcast - Multiuser with WebSockets
- Checkpoint Controls - Eased linear locomotion between designated hotspots
- Collider, Explode, Spawner - Collection of components for collision, geometry explosions, and entity spawning
- Crawling Cursor - Cursor projected onto surfaces
- Crease - Creased shading
- Cubemap - Create a skybox from a cubemap
- Drag Look - Look controls in the opposite direction with changing cursor style
- Draw - HTML5
<canvas>
as a material texture, with support for extension components - Entity Generator - Generate entities
- Event Set - Set properties in response to events, replacement for declarative events
- Extras - Don's collection of A-Frame components
- Extrude and Lathe - Extrude and lathe geometries
- Faceset - Geometry from vertices and faces
- Fence - Set boundaries on entity position
- Firebase - Multiuser with Firebase
- Fit Texture - Automatically scale entities relative to their texture, so you don't need to set width/height manually
- FPS Look - Facilitates controlling entity rotation directly with captured mouse
- Gamepad Controls - Gamepad controls using HTML5 Gamepad API
- GIF - Display GIF as a texture by using a Canvas
- glTF - glTF models
- Gradient Sky - Gradient sky box
- Grid Helper - Create customizable grids
- Height Grid - Terrain
- href - Link to other pages using cursor component
- HTML Texture - Using HTML as a texture, powered by html2canvas
- Interpolation - Interpolate positional and rotational updates for entities, useful for fetching from server for multiplayer
- k-frame - Kevin's collection of A-Frame components
- Keyboard - Full VR keyboard for use with WebVR controllers
- Layout - 3D layout of child entities
- Leap Hands - Leap Motion
- Mario Star Texture - Texture that cycles colors like stars in Mario using canvas
- Mesh Line - Draw thick lines
- Mouse Cursor - Use mouse as a direct pointer
- No-click Look Controls - Intuitive desktop view controls without requiring mousedown + drag
- Ocean - Flat-shaded ocean primitive and component, with animated waves
- Orbit Controls - Orbit camera around an entity
- Particle System - Particle systems (e.g., rain, dust, snow, fire)
- Passthrough - Show video feed from device's camera
- Physics + Vive Controls -
grab
andsphere-collider
components for combining Vive controllers with aframe-extras.physics - Physics - Rigid-body physics using Cannon.js
- PLY Loader - Model loader for
.PLY
models, wrapping THREE.PLYLoader - Polygon - n-sided polygons
- Proxy Controls - Connect input devices from your desktop to your mobile phone with WebRTC
- Randomizer - Set random values
- Selectable by @scenevr- Click on an entity to select it, handy for editors
- Shadows - Realtime shadows
- Shake-to-Show - Using shake.js to toggle UI
- Star - 2D stars
- Stereo - Enable rendering different entities for each eye, using THREE.js layers so you can render 3D stereoscopic videos (full and half-dome)
- Teleport Controls - Teleportation with tracked controllers
- Template - Integration with Handlebars, Jade, mustache, Nunjucks JS template engines
- Text Wrap - Wrapping text dynamically rendered onto the
draw
component - Text - Polygonal text
- THREE Loader - Model loader for
.json
models, wrapping THREE.JSONLoader and THREE.ObjectLoader - Tube - Cylindrical primitive that shapes itself to a given path
- UI Modal - Show dialog box or a menu in front of the camera
- Universal Controls - Refactored A-Frame controls that supports gamepad, HMD, keyboard, mouse + pointerlock, touch-to-move, with physics compatibility
- Video Controls - Video controls (play/pause/jump) for A-Frame video assets
- Vive Cursor - A cursor for HTC Vive controllers
- WebVR Controller - HTC Vive controllers
- Look At and Billboard - Component to tell an entity to face another entity, or to face the camera
- Animation - New and improved animation system using components. [Code]
- ChartBuilder - A component for using ChartBuilder charts
- Stereo Cube - A component for stereo cubemap textures (i.e., left and right eye textures)
- Trigger Box - A component that emits an event when it enters or leaves a predefined area
- L-System - A component for rendering Lindenmayer systems
- Terrain Model - Generating terrains using TerrainLoader
- Orbit Controls Component - Allow desktop users to rotate the camera around an object
- Sprite Component - Creates bitmap images that always face the camera
- UI Components - A collection of components related to UI
- Pipe - A pipe with inner and outer radius
- Draw - Render from canvas
- HTML - Render from HTML
- Video - iOS-compatible video material
- GIF - Render animated GIFs
Integration with existing tools, frameworks, and libraries.
- aframe-jade-boilerplate - A-Frame with the Jade templating engine
- D3.js - Many A-Frame projects done with D3.js [Video Tutorial]
- aframe-d3-3d-graph-example - An example of a 3D weighted graph using D3 and A-Frame
- aframe-d3-3d-bars-example - An example of a 3D bar chart using D3 and A-Frame
- Vue.js + TweenMax demo - Example of A-Frame with Vue.js for reactive components
- aframe-templating-examples - A-Frame with templating engines such as Handlebars, mustache, Nunjucks
- SpineFrame - Component for 2D sprite animation with Spine
- Meteor - A-Frame with Meteor, a JavaScript app framework
- Altspace - Integration with AltspaceVR
- IdeaSpace - IdeaSpace CMS for the virtual reality web
- Drupal - Drupal module for integration with A-Frame.
- Mixin Style Sheets - CSS-like stylesheets for A-Frame for declaring mixins. [Code]
Use React with A-Frame. Share your A-Frame React Components!
- aframe-react
- aframe-react-boilerplate (with Webpack)
- React + Redux Demo (including switching between 2D and 3D)
- React + TweenMax Demo
- React Redux Boilerplate - Combining React, Redux, React Router, A-Frame, and Webpack
- A-Painter - Paint in VR [Code] [Post]
- a-invaders - Space invaders game [Code]
- VR Website Navigation
- Tron-Inspired VR Website Experience
- Minecraft-Inspired VR Website Experience
- Movie Theater
- threeschwifty - 360-degree photo and video viewer [Code]
- 360-Degree Photosphere Viewer - 360-degree photo viewer with navigation [Code]
- Space-themed E-commerce Store
- Tunnel Ride
- Wheel Ride
- Equalizer Ride
- Cardboard Dungeon - A first-person dungeon crawler designed for mobile [Code]
- Cardboard Treasure Hunt - An A-Frame implementation of the Google Cardboard "Treasure Hunt" demo [Code]
- Where in the World Is Carmen Sandiego? - A scavenger hunt game inspired by the popular series [Code]
- Monument - Monument Valley scene exported from MagicaVoxel [Code]
- Drop - Look down and free-fall
- Minecraft Viewer Boilerplate - Boilerplate for viewing Minecraft-esque scenes [Code]
- Aztec Pong - Play Pong floating atop an Aztec monument [Code]
- Hello, Pizza! - If a pizza spins in a forest and no one is around to eat it, does it make a sound? [Code]
- GadgetPlus VR Online Store - Shop in VR for electronics and gifts
- Lullabot - VR teaser page for Lullabot, an interactive strategy, design, and development company (P.S. meet the team)
- Random Forest Treasure Hunt - Can you find the red cube? Randomly generated forest built with Handlebars template
- E-commerce Spy Store - Black & white environment with fire
- E-commerce Gallery - Product gallery in a large well-lit building
- Living Room - Watch TV from your luxurious living room by the beach
- Alien Abduction - Alien Abduction demo
- Hello VR - Moody dark scene with cool shadows, reflections, and animated clouds
- 32Studios Lounge - Enjoy a lounge with coffee machines, laptops, and VR headsets while grooving to SoundCloud
- Mars: An Interactive Journey - Explore Mars in virtual reality. Published by the Washington Post and created by a group at University of Texas at Austin. Read their thoughts on A-Frame and WebVR
- 360 Syria - View the devastation of barrel bombs in Aleppo, Syria. Created in partnership with AllJunior and Amnesty International UK
- Escape Game - Can you escape?
- Escape Game 2: The Game - Can you escape again?
- Tron World - Carpet Ride
- OverWater - SkyIslands VR piece
- Lava Cave Game - Don't touch the lava
- Castle Game - Hidden doors and gems
- Electrocat - Groove to Topanga's music
- Island - Voxel-based island in the ocean
- Purple Rain - Prince tribute
- Green Laser Pointer Store - Shop for lasers
- Tiny Hands for Trump - Donald Trump parody
- Starfox - Fly through a Starfox-themed space
- Moon Bowling - Bowling in space with moons
- Moss March - SkyIslandsVR piece on a foggy swamp
- Space Blob Towers - SkyIslandsVR piece on a pointy alien world
- Carnival Globe Trees - SkyIslandsVR piece with globe-shaped trees
- A-Brush - Doodle in 3D space with WASD and Cardboard cursor
- HelloWorldVR - Stonehenge after dark
- May the 4th Be With You - Star Wars
- Pirate - Cannon balls, knocking down blocks
- Mini Golf - 9 Holes
- Welcome to A-Frame - Quick introduction to A-Frame
- Photo Sphere Diver - Dive into your photo spheres
- Sketch VR - Doodle on paper, take a picture, and view it in VR [Code]
- Dark Lotus - Lotus flowers on churning water
- Aquila VR - Mapping of the universe using actual star data
- Plink - Can you make it into the middle slot?
- Foosball - Everyone's second favorite tabletop game, with physics
- Redwood Dusk - Meditate under nature's giants
- Womynography - An immersive map-based archive of urban women's experiences in Cairo
- EVA - Prototype mecha in lava
- Space Shark Room - Hinduist shark cage in space
- Metal Gear REX - Return to Shadow Moses. SNAKE!
- Meditation Orbs - A place to meditate
- Vapor Wave - Trippy purgatory room
- Jump Island - Can you make it to the top?
- Roof Escape - Parkour!
- TumbVR - VR gallery for Tumblr
- VR Wiki Museum - Full Wikipedia in VR
- Where is Piers Morgan Disliked the Most? - D3 data visualization
- First Citdael - Citadel with flowing waterfalls
- Missed Connections - Visualization of Craigslist "Missed Connections" section
- Aeon - Aeon is a 3D environment with VR support, where the user runs an island that tells about the prequel to the main story of Aeon
- SlideAmaze - Turns your slideshow presentation into a 3D maze
- A-Frame AR - Experimenting with AR using A-Frame and getUserMedia
- Outside Lands VR - VR preview of the San Francisco Outside Lands music festival
- Multiplayer Tic Tac Toe - Prototype of networked Vives playing Tic Tac Toe. [Video]
- 30 Days of WebVR - One order of A-Frame and WebVR per day, all on CodePen
- Dominoes - Demonstration of HTC Vive with physics using dominoes. [Code, Video]
- Ball Throw - Throw balls at blocks using Vive controllers and Don McCurdy's physics. [Code]
- Lyrics VR - Watch lyrics fly past you in time with the music. [Code]
- Rubik's Cube - Spinning Rubik's Cube featuring a multicolored-cube component.[Code]
- Shopify - City Shoes - Shop in VR! Pick up some trainers and see if they match your swagger
- Vrogger - Frogger in VR. Hop and get across the road
- A-Frame Statistics Dashboard - d3.js calendar heatmap of A-Frame GitHub Stargazers per day
- Pokemon Stadium - Face off against Charizard on the Pokemon Stadium
- Design Portfolio - About pages in 3D space with neat transitions
- Stand at the Edge of Geologic Time - A virtual reality tour from NPR of Rocky Mountain National Park. [Code]
- MagicaVoxel: A-Frame - A-Frame in MagicaVoxel in A-Frame
- Earth Rover - Controlling a physical robot from outer space using Intel Edison and Leap Motion
- Imagined Reality - Stereoscopic cubemaps, taken from winners of OTOY’s Render the Metaverse context
- Star Crossed - Piano and stars
- Vive Starter - Simple boilerplate for a Vive project using the third-party aframe-webvr-controller component
- Procedural Forest - A procedural forest with procedural trees using the L-System Component
- MagicaVoxel: City - A city built using MagicaVoxel. [Tutorial]
- Sad Island - An island in the sea. Strangely you feel like you are being watched
- iStaging LiveTour - 360° real estate tours with a neat mini-map
- Choose Your Own VR - Which cup will you choose?
- Cat Garden - Float through a space of cats and balloons
- Virtual Symphony - Experience music in a new way on this symphonic trip through Martin Garrix and Third Party - Lions in the Wild
- Brexit in Berlin - Listen to Europeans talk and react to Brexit
- Virtual Symphony II - Fly through particles, eagles, and horses while listening to Chainsmokers - Inside Out (Remix)
- VRVisitors - Multi-user gallery of photogrammetric museum artifacts
- Head-Tracked Transformations - VR UX prototype of transforming objects’ orientations with your head to enhance VR experiences that don’t have positional tracking. Read the instructions listed at #6. [Code]
- SFMTA Van Ness BRT Model - Model of the new Bus Rapid Transit project in San Francisco
- Weather Room - What’s the forecast for WebVR? Sunny with no chance of rain. [Code]
- CinemVR Design Prototype - Design prototype of a VR cinema
- Insurance World - Insurance in suburbia
- JM Visual Creativity - Web designer and motion graphics artist Jose Manuel Serna’s portfolio
- WebVR Forest - At A-Frame National Park
- Breathing Scape - A tree-adorned hill that slowly breathes
- A-Runner - Infinite runner game with cubes
- FireFrame - Multiuser experiment using Firebase for synchronizing users connected to the same A-Frame scene
- Zenspot- Relaxing nature experiences with soothing music
- World - Explore 360° photos using globe navigation
- Matrix - Jump and push around raining blocks in the Matrix
- Force Push - Become a block bender
- SpaceTrek - Explore 360° videos of space and atmosphere
- Firebase Presentation - A multiuser demo scene for the SFHTML5 presentation
- Low Nausea FPS Locomotion - Locomotion prototype for using 6DoF controllers (e.g., Vive) to grab and swing through scenes
- WebVR Soccer Stadium Complex - Watch several video feeds at once in a soccer stadium. [Code]
- Trident - Code experiment with cursor events in d3.js
- VR Inception School - Learn a bit about WebVR in WebVR.
- GuriVR - Create sharable VR scenes using natural language and zero code. [Code]
- VR Space Builder - Simple VR builder for kids using a form to import models and images
- WebVR API Simulation Extension - Run WebVR 1.0 content without a supported headset or even a compatible browser/platform. Great for development
- WebVR Solar System - Solar System using A-Frame
- Track - Zooming on the track with the ocean water reflecting the sunset sky. [Code]
- AaMAZE Music Festival - Fully responsive official VR website for the AaMAZE music festival in Denmark
- Heart - An educating and interactive tour of the heart. But a life is at stake
- Miradas 360 - 360 experiences created by media production teams. [Code]
- Interactive 360 Videos - Upload and edit 360 interactive videos by overlaying DOM elements
- Unity Exporter to A-Frame - Export Unity scenes to three.js or A-Frame with lightmapping
- WordPress Template - WordPress template that displays the four most recent posts in VR
- Web Speech API Test - A demo of the Speech Recognition API to change object colors
- Apollo 11 Scan - View the inside of the Apollo 11 Command Module, thanks to the National Air and Space Museum
- Olympic Rings - A-Frame gets the gold at Rio 2016
- Covo - Architectural visualization with baked global illumination
- Humanity - Day 8 of Dave’s 30 Days of WebVR
- TrippyVR.Tech - A showcase of various trippy VR experiences
- Speed VReader - A Virtual Reality Speed Reader built with React and A-Frame
- Asteroids - FPS of Asteroids made with A-Frame and React.
- ScreenVR - Use your desktop in the Web in VR
- Let it Snow - Snowflake maker
- City Builder - Room scale city builder [code]
- PhantomJS Continuous Streaming - Browse the Web in VR by live-streaming a web page using PhantomJS and ffmpeg
Contributions and suggestions are very welcome. Check out the guidelines and make a pull request