- Thanks Diego.
So I'm gonna talk about space and VR.
Are you ready with your wide view?
Perfect.
So when creators design for real walking VR experiences,
they typically set them onto the tracking volume first.
In this case, there's 25 square meters.
And then they design the virtual content,
in this case this is a fairytale VR
experience we implemented.
So what if the user has less space,
let's say 12 square meters and the rest is occupied.
This is where scenograph comes in.
So this is the rendition of this fairytale experience,
as such as, it consists of three locations,
a dark forest, an upstairs bedroom,
and an indoor scene.
I want you to pay attention to this scene now.
As scenograph reduces the track in volume from
25 square meters down to 12.
What scenograph here did
it maintained the narrative structure
across tracking volumes.
Why are we doing this?
So the true cost for virtual reality is not
the hardware anymore.
I get like the visors for 4,000 bucks.
The true cost is, this here,
it is space to walk on.
- [Presenter] So when researchers have come up with
different ways of solving this issue.
So for example you can not use space at all.
You can have a hardware solution like a treadmill or
a virtual locomotion technique like teleportation, and
this is fantastic but it's just not as
submersive as real walking.
So as a second approach, you can just use less
space somehow with a space compression techniques
such as re-directed walking but your users'
orientation shifts all the time on possible
spaces where you overlay virtual architecture.
This is all also fantastic but not sort of
for smaller tracking volumes
and this is why I tested this third approach.
We can basically use any space,
make it a tracking volume so
you have enough space.
So projects like Oasis or substitutional reality fit this.
And this is fantastic as well.
But ignores the narrative structure
and this is where scenograph steps in.
So scenograph is a software system for creating
real-walking VR experiences
independent of a tracking volume size or shape.
Okay, so what is an experience,
what's a data structure, we need an example
and for that I want to welcome Oliver Snyde on the stage.
And for the technic, can you dim the light please?
So now you need to know
for those of you who don't know the fairytale
of Goldilocks and three bears
this is for you.
Oliver are you ready?
- Yeah (Clears throat)
Goldilocks and the Three Bears.
(Laughter)
- Once upon a time
there was a little girl named Goldilocks.
She went for a walk in the forest and came upon a house.
She knocked and when no one answered
she walked right in.
At the table in the kitchen
there were three bowls of porridge.
Goldilocks was hungry.
She tasted the porridge from the first bowl.
This porridge is too hot! she exclaimed,
so she tasted the porridge from the second bowl.
This porridge is too cold she said.
So she tasted the last bowl of porridge.
Ahh this porridge is just right
she said happily and she ate it all up.
After she'd eaten the three bears breakfasts
she decided she was feeling a little tired.
Goldilocks saw three chairs and
sat in the first chair to rest her feet.
This chair is too big, she exclaimed
so she sat in the second chair.
This chair is too big too, she whined.
So she tried the last and smallest chair.
Ahh This chair is just right, she sighed.
But just as she settle down to the chair to rest
it broke into pieces.
Goldilocks was very tired by this time.
So she went upstairs to the bedroom.
She laid down in the first bed but it was too hard.
Then she laid in the second bed
but it was too soft.
Then she laid down in the third bed and it was just right.
Goldilocks fell right asleep.
- [Presenter] And this is where I have to interrupt you
Oliver, I'm so sorry.
So the story ends as follows,
the bears return home and
Goldilocks runs back in the forest.
I just found yesterday that
in the Brother Grimm's' version
Goldilocks gets eaten alive.
Which I find somewhat more fair.
Okay so,
in case, so you all like Oliver talking right?
So you can continue listen to Oliver in the next
session by the way.
There's a fantastic talk going on.
Fantastic co-authors as well.
I know that for a fact.
Okay, so some of you might have caught this,
the narrative structure here is a petri-net
as such it consists of nodes and transitions.
So spatial nodes,
so the location Goldilocks is at
and logical nodes.
For example depicting whether Goldilocks is hungry or not
allowing her to eat this porridge,
the transition of the virtual object in the environment.
So, scenograph adapts this petri-net for
different tracking volumes and this
is what we mean when we say we maintain the experience.
So the system starts
Goldilocks enters the bears home
and then she's in the first room
and the first room
as you can see here has three porridges.
She eats the first porridge to change
this hungry-state to false.
Alright, and you remember from the story
there's more than just the porridges.
There's also the chairs.
And where are the chairs?
Well for 25 square meters we could have fit
in the chairs as well as the porridges.
For 12 square meters, we cannot.
So this is what scenograph does.
It splits this location node into two and
places the porridges in the first one
and the chairs in the second.
Why?
Because in the story the porridges come first
and then the chairs.
And this is the main contribution of this whole
peg on this twog.
It basically allows maintaining this narration of structure,
across tracking volumes by splitting those locational nodes.
Alright.
And then Goldilocks enters the second room
and there are the chairs.
Breaks the chair.
So the narrative structure is perceived the same
for the user.
And she goes upstairs, sleeps in little bears bed and
runs back into the forest.
Alright.
So how does this work?
Let's get nerdy.
Under the hood.
So apps like Goldilocks can define
the size of virtual objects.
So for example, the porridge has a size of one square meter.
The Papa bears chair has four square meters and
is placed close to a wall.
Little bears bed has two square meters.
And now we have, also, information on how
scenograph needs to virtualize a space.
So it called the tessellation of one square meter tiles.
I can either define this manually or also automatically.
So any kind of tracking volume is possible.
So what scenograph now does,
it places these objects into the spatial nodes.
So can see the porridges and the chairs are placed here.
And what if objects now do not fit?
Well, we split the nodes
as discussed before.
And what scenograph solves algorithmically at it's core
is basically a 3D packing problem.
So we have all those virtual objects and
we place them in the different locations.
And which objects belong together?
Well, we've got this stainlessly emission essentially.
We've got this grass structure and now we
can derive the distances between each transition pair.
So for example, if you look at the chairs
of Momma bear and Papa bear we can define this
as a distance of zero because you can interact
with one chair after the other and vise versa.
You cannot interact with Papa bears chair
after you interacted with the baby bear's chair
because the state already changes and
interaction is not possible anymore.
So interaction distance of one and
the porridges and the chairs have nothing to do
with each other so it's even an even higher distance.
So let's look at those six objects
and we know the distance between each pair.
This allows us to create a hierarchical structure,
or clustering and this directed show our tracking volume.
So we have a large and and fitting tracking volume
we just need one scene.
For small or regular one we can have six scenes.
And here, for example, eight square meters in
an L-shape, we need four.
So in this problem would be rather simple if
the narrative was just a sequence.
So in the story, Goldilocks is hungry, eats the porridge,
is tired, sits on the chair, is sleepy, sleeps on the bed.
But since we have a petri-net we can go way more complex.
So can have concurrency,
after eating the porridge she can interact
with the chair or the bed.
Can have conflict.
So only interaction with one other chair is possible.
We can have a merge, synchronization, confusion.
You know those terms, if you know
something about graph theory.
So it does work for any kind of narrative.
But does it also work for any kind of tracking volume?
Let's talk about tracking volumes minimal size and shape.
So we already know the size of each object.
So for example Papa bear's chair is four square meters.
What an app also needs to define is
how the split locations are linked.
So their split one location,
you insert those additional transition objects,
which allows Goldilocks to switch locations.
In this case, we can either have a sequence,
a loop, or I could just link it incompletely.
For Goldilocks we chose a sequence.
So we've put those two together,
we got the largest object is four square meters,
and you have at least two transitional objects in each room
and this adds up to eight square meters for Goldilocks.
The design is essentially responsible
for this minimum tracking volume.
So what does the designer need to do?
Let's talk about authoring.
So virtual objects or transitions need to be linked.
So say I want to place those three porridges
into the bear's home.
This I do by simply defining the in and out
tokens of the different transitions.
All the porridges are placed.
If I want to connect different locations
I can also use those objects.
So Goldilocks can go into the house and out.
I can make this conditional,
Goldilocks only enters the home if she is curious,
and can only exit if she's frightened.
Let's define the rest of the narrative
so we've got the chairs, as well the tired state.
She goes upstairs in the bedroom with the three beds
and we allow her to run back into the forest.
And this can be done quite quickly and also on the fly.
This linkage can all be tested
so scenograph tests the
neurulation of structure for deadlocks
to make sure your story actually ends.
Okay, we validated this whole system in a small user study
with 12 participants, we had it within subjects design.
We had an experimental condition which was
scenograph and two controls.
So the one we had a virtual locomotion technique
teleport where users just point to
a place and then they're there.
And motion scanning where users traverse physical space
but virtually cover more distance.
We tested different kind of tracking volumes
25, nine, and eight square meters.
I know for simplicity,
just want to talk about the eight square meters,
which is the smallest tracking volume for Goldilocks.
Measured the perceived realism and what you can see here
is that scenograph performed way better than the controller.
Controller conditions, participants commented that
scenograph felt natural and realistic but
also found it harder, whereas teleport
was more artificial but also seemed familiar to the users.
Motion scanning was deemed uncomfortable
but became natural over time.
And the main take away here is what
we wanted to prove and show,
is that scenograph actually creates
realistic, real-walking VR experiences.
To sum up, at it's core
scenograph has a tracking volume
independent representation of real-walking experiences.
It maintains the narrative structure across
different tracking volumes by splitting the location nodes.
And this enables real-walking experiences for the home.
So in the beginning, I've talked to you about
different approaches how to save space,
so not use space, use less space, or use any space.
We are seeing, just right now what you can also do.
You can also just share space.
What we called we overload space.
So what I presented in Montreal this year
is virtual space where two users share
the same tracking volume and
they're both immersed in different VR experiences.
And the question, basically tackled
is how can we maintain an experience when space is shared?
And today I tried to answer the question
How can we maintain an experience when space
is sized and shaped differently.
And I think those projects are important because
what we really need in the end
is some sort of an abstraction layer
between space and the experience.
Some sort of operating system.
Space os.
Which is the topic of my PHD.
I want to thank my supervisor and co-author Patrick for this
and for scenograph fitting real-walking VR experiences
into various tracking volumes.
You can download the code here.
I'm now happy to take the questions.
(Applause)
- [Announcer] Thanks a lot.
So we actually have time for questions and
we have questions in the room.
- [Interviewer] Great and also makes stuff very serious
so I really like the idea and the implementation here
trying to fit a large virtual space into
the tracking volume bit that you have, I think very clever.
I was just wondering, because, I mean, you
basically solved this by breaking things into
rooms through which you transition.
You can do all sorts of tricks by transitioning
from one room to the next, which
is a very neat idea.
I'm just wondering, it's seems to limit the
implementation to in room experiences in VR,
but if you look at the many applications that we
all like and enjoy playing, a lot of them
happen outside so I wonder if you thought,
you've probably thought about outside experience also.
So what's your take on that?
- [Presenter] So we assumed a virtualist lacks space already
and to be completely fair, I had a back up slide for this
but doesn't matter.
So like to direct it forward from related work,
the support of like overlapping architectures
is impossible spaces.
The idea of procedure regenerating virtual worlds is
the stuff presented in Oasis.
So we'd already built on those different approaches and
just include, short how to narrative innovations doctrine
can be included but I agree that concept
like how to issues to be solved there.
Especially for outside.
Yeah, yes, was that the answer?
- [Interviewer] I was also feeling curious about
the limitations in splitting the space once
including your logical nodes that
aren't like your resources?
I guess like the talk and sync pattern
and you also have the spaces
but you can split the spaces as long as
the resources are still connected
to the new sound that you are creating.
What kind of limitations do you have?
'cause I guess you cannot just split
there will be networks that will be more challenging right?
- So I think the main limitation is there is
this minimal size, somehow, need you to define.
So for example, if you want to implement
VR soccer for instance,
you have strong spatial constraints because
the goals need to be like apart a certain distance, and
the field needs to have a certain size et cetera, et cetera.
Those are all spatial constraints which,
so basically the system wouldn't work for that.
In that instance.
We just have a system which allows creators to
define the degrees of freedom which
the system then can utilize.
- [Interviewer] So you would say that other than
the space there wouldn't be any kind of limitations
in the partitions that you can create?
- So, I've shown like a speed way of solving this
by having a tesselation.
We also have an implementation for a
continuous solution as well.
But for simplicity this was just a example.
- [Interviewer] That's interesting.
And also, I don't know if that's something
you would have already doing in the paper.
You can validate the logic of the narrative.
That means that you can run through the petri-network and
reassure that there are no deadlocks or stuff like that.
That's amazing. (Laughing)
- I think they're saying, I mean correct me if I'm wrong,
I think that this might be hard to solve
the reachability issue between all the nodes.
We use a brute force approach here, so.
This can certainly be improved.
- [Interviewer] But it's still really really useful.
Thanks a lot.
- And you.
- [Announcer] So if we could please thank the speaker again.
(Applause)