8. VR is out of
the Hype
Cycle
"cellphone-based VR will still have
the most users" (when compared to
other VR setups) – J. Carmack (2017)
"integrated" headsets that combine the
power of PCs with mobile portability will
be "the mainstream of the VR market in
the next few years – P. Lucky
is the future of XR mobile?
source: https://ihsmarkit.com/research-
analysis/virtual-reality-in-retail.html
10. ??
?
?
?
??
• Position tracking
• Orientation tracking
• Spatial sound
• Immersive content
• Different inputs
• Low latency
Expectations from XR
11. • Many devices
• Limited by hardware
• Different performance
• Different Inputs
• Complex 3D format workflow
• Fragmentated development
pipeline
Real Reality - challenges
12. Real Reality - distribution
pre-approved
closed environment
wait several minutes
download 100s of MBs
experience you discard after 1
use
15. Modern Effective VR
JavaScript
69.8%
web
Most commonly used
programming languages*
HTML
68.5%
CSS
65.1%
SQL
57.0%
Java
45.3%
*source: https://insights.stackoverflow.com/survey/2018/
16. Modern Effective VRweb
This specification describes support
for accessing virtual reality (VR) and
augmented reality (AR) devices,
including sensors and head-mounted
displays, on the Web
XR
17. Modern Effective VRweb
XR
WebVR 1.1
WebXR
var vrDisplay;
navigator.getVRDisplays().then(function (displays) {
if (displays.length > 0) {
vrDisplay = displays[0];
}
});
navigator.xr.requestDevice().then(device => {
onXRAvailable(device);
}).catch(error => {
console.error('Unable to retrieve an XR device: ', e
});
41. pandapix
init: function(){
this.data.items = this.el.children;
let curComp = this.el.components['a-layout’];
//set mutationObserver to the current element
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
for (var i = 0; i < mutation.addedNodes.length; i++)
curComp.refreshLayout();
});
});
observer.observe(this.el, { childList: true });
document.querySelector('a-scene').addEventListener('loaded', function(){
curComp.refreshLayout();
});
}
44. LOVE Sculpture
AFRAME.registerComponent("fly", {
schema: {
stepFactor: { type: "number", default: 0.005 },
isFlying: { type: "boolean", default: true }
},
tick: function () {
if (this.data.isFlying) {
let newP =
this.el.components.camera.camera.parent.position.add(this.el.components.camera.camera
.getWorldDirection().multiplyScalar(this.data.stepFactor));
this.el.setAttribute('position', newP)
}
}
});is.data.stepFactor));
}
});
-Build, mix and match with components from the community
45. LOVE Sculpture
<a-assets>
<img id=“myImgId" src=“path/to/image.png">
</a-assets>
<a-image src="#myImgId" position="11.009 1.776 5.347"
rotation="0 90 0" scale="15 15 15"></a-image>
-Preload assets before using them
52. Limitations
• Performance is still a bit lower than native XR
• Resolution is a bit lower than native XR
• AR is still experimental
• Specification is under development
• Size of assets on mobile connections might be too big
53. • AR on WebXR
• 5G for better, faster experiences
• New devices with growing capabilities
• Declarative Depth? CSS 3D?
Coming up next
54. Effective Mobile XR
• Accesible XR
• Linkability – The power of the URL
• Immediacy
• Democratic
• Bring designers and creative people to the development mix
55. Effective Mobile XR
• Explore new storytelling
• Play with depth and semantics of elements
• Progressive enhancement in a whole new dimension
• Allows you to explore and interact with data in new ways
• It’s ready now!*
56. Some Examples
Dance Tonite
LCD SoundSystem
/ Google
A-Painter
Mozilla
Renault Kadjar
Little Workshop
Dr. Who Time
Travel
BBC / goodboy