(calming music)
- My name is Josh,
(drum kit beats)
I'm the developer advocate
for Mixed Reality.
You have Virtual Reality
and Augmented Reality.
We think of those as a spectrum.
So on one side is VR,
where you're completely
immersed in the environment.
On the other end is AR,
where you can see the
real world around you,
with computer graphics overlaid on top.
Mixed Reality is a big part of the future.
I feel like it's the
next level of interface.
It's the way we're going to interact
with our computer devices
for a lot of things.
You won't even need to use your phone,
it'll be built into your sunglasses,
or into your headphones.
We produced a web browser
specifically for VR.
Firefox Reality.
Even if you're looking at
traditional 2D web pages,
you can view them inside of a VR headset,
and then if they have 3D content,
jump into that 3D content.
We also created a service called, Hubs.
Hubs is a VR chat system,
where you can create a room.
Anyone else can join you in that room.
You just send them a link.
Regardless of what device they're on,
they could just be on a phone.
They could be on their desktop.
They would get a 2D view.
If they're in their VR headset,
they get a fully immersive 3D view.
We also created Spoke,
which is a composer tool,
which lets you take 3D
objects others have created
and put them together in a
scene, to then use with hubs.
Working with 3D is very different than 2D.
I come from a 2D
background, so I'm learning
a lot of these things as I go along.
And the tools are traditionally have been
for different areas.
Some were just for TV,
some were for movies,
some were for games.
And very high end,
required a lot of training,
and or expensive to use.
But all of those things are changing.
So the biggest problem is probably
there's just so much stuff, you don't know
what you should start with.
That headsets often have
their own app stores.
It's much like mobile phones,
where everybody has their own silo.
But the web is everywhere,
and so you can make a
web page that will work
on any of these devices.
(drum kit beats)
WebGL is a web standard for
hardware accelerated graphics.
It essentially is OpenGL2.0,
similar to what you would get
on the modern smart phone.
ThreeJS is probably the most popular
JavaScript library for
doing 3D on the web.
The key thing is it
gives you a scene graph
that uses hardware acceleration.
So you can say, create
a cube, create a sphere,
and the library handles
creating the underlying
WebGL calls that draw it on the screen.
Sketchfab is an online
marketplace for 3D models.
Their are some incredibly talented people
who are amazing artists,
they're essentially sculptors.
They sculpt with digital tools,
but they are making these
three dimensional objects.
And they could upload them on Sketchfab
to share with other people.
Either for free or for pay.
They're all tagged, so you can search
and find all sorts of amazing things
to imbed in your website,
or your web project.
So when you are building a 3D environment,
it's inherently a visual task.
Spoke is a composer,
where I can bring in 3D objects,
combine then into a scene,
set up some lighting.
And then export to a single file.
In this case, glTF, which
is like the JPEG for 3D.
So glTF is an open specification,
actually created by the Khronos Group,
which is one of the big
standard groups for 3D.
Pretty much every 3D
modeler tool supports it.
So if you're using Maya,
or Blender, or Autocad,
you can export a glTF file, in addition
to their own native files.
(drum kit beats)
so my niece Lauren is
gonna turn eight soon,
and I thought it'd be fun to
give her a VR birthday card.
So it'll be a card where
I will send her a link,
she'll open the link on her phone,
or in her VR headset, and be able to jump
into this little 3D world I created,
with a birthday cake and I want it to say,
"Happy Birthday Lauren"
and maybe play some music.
When you come in, you'll start here,
and then you can walk
around to different points.
So to make this work,
we're gonna need a model
of the cake, a model of
one or two kinds of trees.
Text, we can generate in code.
(drum kit beats)
It's really early days.
This is a good time to jump in.
Like the early days of the web,
we were still experimenting.
We didn't know what was
really gonna take off.
But it was also really fun.
You don't even need to have a headset.
You can test things just on your desktop.
It's really easy to get started.
Now's the time to jump in
and start experimenting.
