0d3b05b7cb723593e03c67e3c49b5b3decaedfb7
[slides.git] / tsmeetup201909 / index.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5   <meta name="Author" content="KaiRo - Robert Kaiser">
6   <title>VR Space: Creating A Solar System With WebXR</title>
7   <link rel="stylesheet" type="text/css" href="slides.css">
8   <script type="text/javascript" src="slides.js"></script>
9   <link rel="contents" href="#index" title="Überblick">
10   <link rel="index" id="link-toc" href="#toc" title="Inhalt">
11   <link rel="start" id="link-start" href="#index" title="Start">
12 </head>
13 <body>
14 <header id="header"><div id="header-text">VR Space</div>
15   <div id="subheader-text"></div>
16   <a id="headerlogo" href="#index" title="Startseite">Mozilla</a>
17 </header>
18 <nav id="slidenav">
19   <a href="#toc" id="nav-toc" accesskey="t">toc</a> ||
20   <a href="#index" id="nav-start" accesskey="s">start</a> ||
21   <a href="#" id="nav-prev" accesskey="p" hidden>&lt; back</a>
22   <span id="nav-prev-nolink" class="nolink">&lt; back</span> |
23   <a href="#" id="nav-next" id="goNext" accesskey="n" hidden>fwd &gt;</a>
24   <span id="nav-next-nolink" class="nolink">fwd &gt;</span>
25 </nav>
26
27 <article id="toc" data-title="Inhalt">
28 <h1><span>Contents</span></h1>
29 <h2>VR Space: Creating A Solar System With WebXR</h2>
30
31 <div class="captionedbox">
32 <p class="captionedbox-caption">The following slides are available in this presentation:</p>
33 <div class="captionedbox-content">
34 <ul id="toc-list">
35 </ul>
36 </article>
37
38 <article id="index" data-title="Start Page" data-seconds="600">
39 <h1><span>VR Space: Creating A Solar System With WebXR</span></h1>
40 <h2>A Step-By-Step Tutorial Of A-Frame</h2>
41
42 <div class="simplebox decofont">
43 <mark><a href="http://home.kairo.at/">Robert Kaiser</a></mark>
44 </div>
45
46 <div class="captionedbox">
47 <p class="captionedbox-caption decofont"><span id="hidesdesc" class="noadvance">Slides:</span>
48   <a href="https://slides.kairo.at/tsmeetup201909/">https://slides.kairo.at/tsmeetup201909/</a></p>
49 <div class="captionedbox-content small">
50 <ul class="small" id="slidesdesc">
51   <li>Created for a presentation at <a href="https://wiki.mozilla.org/TechSpeakers/Meetups/Amsterdam_2019">Mozilla
52     Tech Speakers Meetup 2019</a> in Amsterdam, The Netherlands.</li>
53   <li>Written in HTML 5 with CSS 3 and JavaScript.</li>
54   <li>Navigation via links on all slides, via access keys
55    (e.g. "n"/Alt+Shift+N for "next") or back/forward arrow keys</li>
56   <li><a href="#toc">Contents</a></li>
57   <li><a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img
58       alt="Lizenziert unter CC-BY-SA," class="ccinline" src="cc-by-sa.svg"></a>
59     09/2019 Robert Kaiser -
60     "Mozilla", "Firefox" and their logos are
61     <a href="http://www.mozilla.org/foundation/trademarks/list.html">trademarks
62     of Mozilla Foundation</a>.</li>
63 </ul>
64 </div>
65 </div>
66 </article>
67
68 <article id="introduction" data-title="Introduction - KaiRo">
69 <h1><span>Robert Kaiser - KaiRo</span></h1>
70
71 <div class="simplebox">
72 <img src="kairo.jpg" class="slidepic"
73  alt="Robert Kaiser">
74 <ul>
75   <li>kairo@kairo.at / <a href="https://home.kairo.at/">home.kairo.at</a></li>
76   <li><mark><a href="https://events.mozilla.org/techspeakers">Mozilla Tech Speaker</a></mark></li>
77   <li>Based in Vienna, Austria</li>
78   <li>Not on most major social networks</li>
79   <li>But on <a href="https://joindiaspora.com/people/eb2e0ec0ec0d04bc">Diaspora*</a>,
80       <a href="https://mozillians.org/en-US/u/KaiRo/">Mozillians</a>,
81       <a href="https://telegram.me/KaiRo_at">Telegram</a>,
82       <a href="https://www.linkedin.com/in/robert-kaiser-kairo-at">LinkedIn</a>,
83       <a href="https://github.com/KaiRo-at">KaiRo-at at GitHub</a></li>
84 </ul>
85 <p class="ensurepicinbox"></p>
86 </div>
87 </article>
88
89 <article id="webvr" data-title="WebVR &amp; WebXR">
90 <h1><span>WebVR &amp; WebXR</span></h1>
91
92 <div class="simplebox">
93 <img src="vruser.jpg" class="slidepic"
94  alt="VR headset user">
95 <ul>
96   <li><a href="https://webvr.info/">WebVR</a>: <mark>Virtual Reality</mark>
97     powered by Web technologies</li>
98   <li>Evolving into <a href="https://github.com/immersive-web/webxr">WebXR
99     Device API</a> - Mixed Reality (Virtual + Augmented Reality)</li>
100   <li><mark>Open Standard</mark> (proposal), in concert with WebGL, WebAudio
101     and Gamepad APIs</li>
102   <li>Firefox: Windows (55+) &amp; MacOS X (64+) release,
103     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1310655">Linux in
104     development</a>,
105     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1419190">WebXR coming
106     soon</a></li>
107   <li>Chrome experimental; support on stand-alone headset browsers</li>
108 </ul>
109 <p class="ensurepicinbox"></p>
110 </div>
111 </article>
112
113 <article id="aframe" data-title="A-Frame">
114 <h1><span>A-Frame + The Sun</span></h1>
115
116 <div class="simplebox">
117 <img src="step1-sun.png" class="slidepic"
118  alt="Preview: The Sun">
119 <pre>
120 &lt;<mark>a-scene</mark>&gt;
121   &lt;<mark>a-sphere</mark> id="sun" <small>position="0 0 0" radius="1" color="#FFFF00"</small>&gt;&lt;/a-sphere&gt;
122
123   &lt;a-entity id="cameraRig" <small>position="0 -1 2" movement-controls="speed: .1; fly: true; camera: #head;"&gt;</small>
124     &lt;a-entity id="head" <small>camera="active: true" look-controls position="0 1.6 0"&gt;&lt;/a-entity&gt;</small>
125     &lt;a-entity id="left-hand" <small>link-controls="hand: left "…&gt;&lt;/a-entity&gt;</small>
126     &lt;a-entity id="right-hand" <small>link-controls="hand: right "…&gt;&lt;/a-entity&gt;</small>
127   &lt;a-entity&gt;
128 &lt;/a-scene&gt;
129 </pre>
130 <p><a href="https://glitch.com/~vrspace-1-sun" target="_blank">edit/view</a>
131 - A-Frame documentation at <a href="https://aframe.io/">aframe.io</a>
132 <p class="ensurepicinbox"></p>
133 </div>
134 </article>
135
136 <article id="planet" data-title="Adding a Planet">
137 <h1><span>Adding a Planet</span></h1>
138
139 <div class="simplebox">
140 <img src="step2-planet.png" class="slidepic"
141  alt="Preview: A planet">
142 <pre>
143 &lt;a-scene&gt;
144   …
145   &lt;a-entity position="0 0 0" rotation="0 -120 0"
146             <mark>animation="property: rotation;</mark> to: 0 240 0; <small>loop: true; dur: 600000; easing: linear;"&gt;</small>
147     &lt;<mark>a-sphere id="redplanet"</mark> position="0 0 6" <small>radius=".3" color="#FF8080"&gt;&lt;/a-sphere&gt;</small>
148   &lt;/a-entity&gt;
149   …
150 &lt;/a-scene&gt;
151 </pre>
152 <p><a href="https://glitch.com/~vrspace-2-planet" target="_blank">edit/view</a>
153 <p class="ensurepicinbox"></p>
154 </div>
155 </article>
156
157 <article id="light" data-title="Let There Be Light">
158 <h1><span>Let There Be Light!</span></h1>
159
160 <div class="simplebox">
161 <img src="step3-light.png" class="slidepic"
162  alt="Preview: Better Lights">
163 <pre>
164 &lt;a-scene&gt;
165   &lt;a-entity <mark>light="type: ambient;</mark> color: #BBB; intensity: .1;"&gt;&lt;/a-entity&gt;
166   &lt;a-sphere id="sun" <small>position="0 0 0" radius="1" color="#FFFF00"</small>
167             <mark>material="emissive: #FFFF00;" light="type: point;</mark> <small>intensity: 1; distance: 50; decay: 2"&gt;&lt;/a-sphere&gt;</small>
168   …
169 &lt;/a-scene&gt;
170 </pre>
171 <p><a href="https://glitch.com/~vrspace-3-light" target="_blank">edit/view</a>
172 <p class="ensurepicinbox"></p>
173 </div>
174 </article>
175
176 <article id="realistic" data-title="Realistic Planets">
177 <h1><span>Realistic Planets</span></h1>
178
179 <div class="simplebox">
180 <img src="step4-realistic.png" class="slidepic"
181  alt="Preview: Realistic Planets">
182 <pre>
183 &lt;a-scene&gt;
184   <small>&lt;a-assets&gt;</small>
185     <small>&lt;a-asset-item id="saturnmodel" response-type="arraybuffer" src="Saturn_1_120536.glb"&gt;&lt;/a-asset-item&gt;</small>
186   <small>&lt;/a-assets&gt;</small>
187   …
188   &lt;a-entity …&gt;
189     &lt;a-sphere id="earth" <mark>src="<a href="https://xr.kairo.at//space/earth_equirect.jpg">earth_equirect.jpg</a>"</mark> …&gt;&lt;/a-sphere&gt;
190   &lt;/a-entity&gt;
191   &lt;a-entity …&gt;
192     &lt;a-sphere id="saturn" <mark>gltf-model="#saturnmodel"</mark> scale="0.003 0.003 0.003" …&gt;&lt;/a-sphere&gt;
193   &lt;/a-entity&gt;
194   …
195 &lt;/a-scene&gt;
196 </pre>
197 <p><a href="https://glitch.com/~vrspace-4-realistic" target="_blank">edit/view</a>
198 <p class="ensurepicinbox"></p>
199 </div>
200 </article>
201
202 <article id="ship" data-title="Space Ship">
203 <h1><span>Space Ship</span></h1>
204
205 <div class="simplebox">
206 <img src="step5-ship.png" class="slidepic"
207  alt="Preview: Space ship">
208 <mark>"All I ask is a tall ship, and a star to steer by."</mark>
209 <br><small><i>- James T. Kirk, citing John Masefield</i></small>
210 <pre>
211 &lt;a-scene&gt;
212   …
213   &lt;a-entity …&gt;
214     &lt;a-entity id="ship" …&gt;
215       &lt;<mark>a-cylinder</mark> <small> radius=".4" height="0.04" color="#CCC0DD" …&gt;&lt;/a-cylinder&gt;</small>
216       <small>&lt;a-cylinder rotation="90 0 0" radius=".03" height=".8" …&gt;&lt;/a-cylinder&gt;</small>
217       <small>&lt;a-cylinder rotation="90 0 0" radius=".03" height=".8" …&gt;&lt;/a-cylinder&gt;</small>
218       …
219     &lt;/a-entity&gt;
220   &lt;/a-entity&gt;
221   …
222 &lt;/a-scene&gt;
223 </pre>
224 <p><a href="https://glitch.com/~vrspace-5-ship" target="_blank">edit/view</a>
225 <p class="ensurepicinbox"></p>
226 </div>
227 </article>
228
229 <article id="end" data-title="The End">
230
231 <div class="simplebox endslidecontainer">
232 <h1 class="cent endslidetext"><span>Questions?</span></h1>
233 <h2 class="cent endslidetext"><span><a href="https://glitch.com/~vrspace-1-sun">glitch.com/~vrspace-1-sun</a></span></h2>
234 <h2 class="cent endslidetext"><span><a href="https://glitch.com/~vrspace-5-ship">glitch.com/~vrspace-5-ship</a></span></h2>
235 <h3 class="cent endslidetext"><span><a href="https://xr.kairo.at/space">xr.kairo.at/space</a></span></h3>
236 <h3 class="cent endslidetext"><span><a href="https://github.com/KaiRo-at/xr/tree/master/space">github.com/KaiRo-at/xr/tree/master/space</a></span></h3>
237 <img src="vrspace-large.png" class="sshot endslidepic" alt="VR Space in 2D">
238 </div>
239 </article>
240
241 </body>
242 </html>