Top Banner
A-FRAME VR for Web Developers @andgokevin / @dmarcos / aframe.io SFHTML5 / 25 May 2016
35

A-Frame: VR for Web Developers

Jan 16, 2017

Download

Technology

Kevin Ngo
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A-Frame: VR for Web Developers

A-FRAMEVR for Web Developers

@andgokevin / @dmarcos / aframe.ioSFHTML5 / 25 May 2016

Page 2: A-Frame: VR for Web Developers
Page 3: A-Frame: VR for Web Developers

A-Frame Community Sneak Peeks

Page 4: A-Frame: VR for Web Developers

Too hard to create WebVR experiences.

Import WebVR Polyfill

Initialize scene

Instantiate renderer

Create render loopSearch for VREffect

Build UI for Entering VR

Set up Camera

Add lightingListen to window resize

Declare canvas

Geometry + Material + Add

Page 5: A-Frame: VR for Web Developers

<a-scene>

Page 6: A-Frame: VR for Web Developers

<a-box src=“texture.png” width=“5”>

<a-obj-model src=“fox.obj”>

<a-sky src=“360-image.png”>

Not powerful enough.

Page 7: A-Frame: VR for Web Developers

Escape hatches for extensibility.

Page 8: A-Frame: VR for Web Developers

Entity-Component-System

Page 9: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity>

Page 10: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity geometry=“primitive: sphere; radius: 100” material=“color: skyblue”>

Page 11: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity geometry=“primitive: sphere; radius: 100” material=“color: skyblue”

entity-generator=“mixin: rain; num: 100”>

Page 12: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity geometry=“primitive: sphere; radius: 100” material=“color: skyblue”

entity-generator=“mixin: rain; num: 100”>

<a-mixin id=“rain” geometry=“primitive: sphere; radius: 0.05” material=“color: white; opacity: 0.5”>

Page 13: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity geometry=“primitive: sphere; radius: 100” material=“color: skyblue”

entity-generator=“mixin: rain; num: 100”>

<a-mixin id=“rain” geometry=“primitive: sphere; radius: 0.05” material=“color: white; opacity: 0.5”

event-set=“_event: collide; explode: true”>

Page 14: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity geometry=“primitive: sphere; radius: 100” material=“color: skyblue”

entity-generator=“mixin: rain; num: 100”>

<a-mixin id=“rain” geometry=“primitive: sphere; radius: 0.05” material=“color: white; opacity: 0.5”

event-set=“_event: collide; explode: true” random-position=“min: -10 50 -10; max: 10 80 10”>

Page 15: A-Frame: VR for Web Developers

COMPOSING AN ENTITY

<a-entity geometry=“primitive: sphere; radius: 100” material=“color: skyblue”

entity-generator=“mixin: rain; num: 100”>

<a-mixin id=“rain” geometry=“primitive: sphere; radius: 0.05” material=“color: white; opacity: 0.5”

event-set=“_event: collide; explode: true” random-position=“min: -10 50 -10; max: 10 80 10” template=“src: #rain-animation”>

Page 16: A-Frame: VR for Web Developers

– @wizgrav

“A-Frame is like when MVC landed in traditional front-end work…[where] three.js is like jQuery.”

Page 17: A-Frame: VR for Web Developers

Reduces boilerplate

Empowers web developers and designers

Declarative ECS framework for three.js

Page 18: A-Frame: VR for Web Developers

A-Frame Community Sneak Peeks

Page 19: A-Frame: VR for Web Developers
Page 20: A-Frame: VR for Web Developers

obj-model

rotationscale material

fog geometry

positionlightcontrols

sound

text collada-model

Page 21: A-Frame: VR for Web Developers

obj-model collada-model

rotationscale material

fog geometry

positionlightcontrols

sound

text

along-pathleap-motion-controls

proxy-controls

layout

lazy-load

extrude-geometrycollider

entity-generator

physics

gamepad-controlslathe-geometry

randomizertemplate

gltffbx

firebase audio-visualization

follow

meshlinecrease html-shadermouse-cursor

no-click-look-controls

ocean

universal-controls

draw

hreffence mesh-line

hudgif-shader

aframe-react

grid-helperinterpolation

stereo

aframe-extrasdraggable

selectableexplodenoise

text

fit-texture

look-at

d3

aframe-meteor

altspace

orbit-controls

Page 22: A-Frame: VR for Web Developers

780 members on Slack (http://aframevr-slack.herokuapp.com/)

2000 stars, 40 contributors on GitHub

Over 120 projects featured on https://aframe.io/blog

Page 23: A-Frame: VR for Web Developers

A-Frame Community Sneak Peeks

Page 24: A-Frame: VR for Web Developers

[MULTIUSER]

Multiuser

See you at tiny.cc/aframe-multi

Page 25: A-Frame: VR for Web Developers

A-Frame Editor

Page 26: A-Frame: VR for Web Developers
Page 27: A-Frame: VR for Web Developers

Embedded Scenes

Page 28: A-Frame: VR for Web Developers
Page 29: A-Frame: VR for Web Developers

Room Scale

Page 30: A-Frame: VR for Web Developers
Page 31: A-Frame: VR for Web Developers

Local Multiplayer

Page 32: A-Frame: VR for Web Developers
Page 33: A-Frame: VR for Web Developers

Link Traversal

Page 34: A-Frame: VR for Web Developers
Page 35: A-Frame: VR for Web Developers

Try it out https://aframe.io

Join us on Slack http://aframevr-slack.herokuapp.com/

Follow us @aframevr