0:08
Hi, my name is Andrea,
and I graduated in Games Programming at Goldsmiths University.
Hi, my name's Kevin.
I also graduated from Goldsmiths where I studied Crazy Computing.
We both completed the VR course at Goldsmiths,
which was taught by two of the course area teachers, Sylvia and Marco.
We are going to go through a VR project we
developed from this course and we'll explain the development process.
We will talk about how we went from having zero experience in building
the applications to be able to produce a fully immersive experience.
Okay guys.
Let's get started by giving you a quick insight of our VR projects.
So as you will be soon creating
your VR application and for some of you might be the first time doing so,
I think it's a great opportunity for you to be able to see some examples.
So this is a VR project I developed together with Kevin
and another group of four people during our studies at Goldsmiths.
It was our very first approach in creating
immersive virtual reality experiences and at the same time,
we were very new to Unity.
But as long as you understand the core concepts of VR and
you understand the basics sort of concepts of Unity,
you can create your virtual reality environments in a very small amount of time.
So the project consists of four different scenes,
which play with human perception.
So we wanted people to explore different worlds and analyze how they would interact
with the environments and also see
their different reactions to what they sort of perceived.
So the original project contains a scene where the player is forced to cross a bridge,
which is placed between two mountains.
It also has a horror scene
where things are changing outside of the field of view of the player.
So things are actually happening at the back of the shoulders of the player.
And also an embodiment scene where the player perceives
the world from the perspective of a spider.
We also have a fort scene which is the default scene,
so it's like a starting point where the player can
explore and choose which world to visit.
And that scene we all know that
a good VR application needs to be sort of easy to use and easy to learn.
So we made that stunning point scene to give a chance to the players,
to people to understand the sort of VR navigation system,
interaction system and how to navigate the scene basically.
So for the purpose of this video,
we go over the spider scene I created and subsequently,
Kevin, will talk about how he developed the scary scene.
So I always wondered how it would feel to perceive
the world from a perspective of a small creature like a spider for example.
So I wanted to put myself in a world surrounded by big objects.
So that was my sort of starting point for this scene and you can see
here that if I move on the scene view,
I started off this project by populating the map,
by actually creating a map.
Now there's two ways you can do this.
You can either use assets,
from the asset store or you can download the assets or you can create your own as well.
So I actually use these assets from the nature starter kit two.
You can find them in the asset store.
So if you search in the asset store,
if you search for Nature starter kit two,
here you find it and what you do,
you just download it.
And once you did it,
you go in your Unity project,
you go into assets, import package,
custom package and then you look for the package that
you downloaded and then just open it and once you do that it,
will appear in your project folder as so.
So if you expand that,
you can find different sort of we have some bushes,
some trees as well and all you do is a prefabs so the blue icons,
there's a prefabs, so you can just take one of them,
drag it in and then you can see I'm dragging
in a new tree and all I'm doing after that is
just scaling and transforming the objects according to my need.
Let me remove this one.
The other way to sort of populate your map or create your environment,
is by creating your own assets.
So you can use a software,
three software like Maya or Blender.
I'll show you very quickly how you can actually import something.
So let's say I created a cube.
What you do, you select your cube, in Maya,
you export selection or you export the object and you need to export it as a FBX.
That's the export that unity is sort of
able to read either if you export from Maya or Blender.
You export it and then it's the same as importing a custom package.
You can either drag it in and it would appear
as a normal asset and you can use that asset in the scene.
So yeah the first thing I just populate my map,
I added some rocks,
I added some terrain,
some mountains, some textures on it and I made everything very big.
So you can see here, this is the teleport from the main scene.
So whenever you enter that teleport,
you will be teleported over here.
And then you can go back to the main scene by actually going over this teleporting door.
So once I sort of made my map,
it looked okay but it was kind of static so I wanted
to add something dynamic in the scene.
So, I actually added those spiders in.
So you can see those little creatures over here and same thing,
I got them from the asset store,
so I looked for a spider on the free assets and then you can just
download them and import them as same thing as the Nature Kit.
You can see them over here,
PB spider and then you have your prefabs.
So they come with an animation built in already.
You can see that you can play that.
You can see the spider is walking.
So what I did, I placed a bunch of this prefabs
around my map and they all have the animation song whenever I play this,
they will move their legs.
They will play the walking animation.
But also I made them going around the map by
following a set of way points and you can see them over here.
So I have a set of inside here.
I have a set of cubes around the map and I actually took off
the mesh render so they are not visible
to the person trying the VR experience, but they're actually there.
And I'm using those as a bunch of targets for the spiders to go.
So the spider will randomly pick a cube,
will move towards that cube and once they reach that cube,
they will pick another random cube and move towards that cube.
So you get that nice sort of walking.
They will walk around the map in
a random way and at the same time they will play the animation,
so they will appear like walking around the map.
So, once I had my embodiments and I had something sort of dynamic to it,
and it was time to build my player controller.
So, the player controller is this one here.
You can see that it has a camera.
So, what I use for the player controller is the first person controller
that comes with the standard assets.
Now you can import the standard assets by going into assets,
import package, and it's called characters.
So if you click here,
you can import all of the things inside this package.
So, it will sort of load for you,
and then it will let you select the things that you want to add to your project.
Once you import them,
you can see here, and then you can click import,
and then you will import everything attached to the first person controller.
So, the first person controller comes with a prefab that has a camera attached to it,
and you can navigate using a keyboard or a joy pad.
Now, this was our first experience,
so I don't recommend anyone using the first person controller for
a VR application mainly for two reasons.
Reason number one is because we said the keyboard and joy pads are not
the best sort of navigation method with VR
because they can cause motion sickness as well.
And reason number two is that because this asset, this package,
is not designed for VR,
so it's designed for pretty much for 2D screen.
So, if we're having that first person controller using a keyboard or a joy pad.
And you can do the same thing I did over here,
but instead of using the first person controller,
I suggest you go and download this package called Oculus Utilities for Unity,
and this is a package that is exactly as the one from the asset store.
Once you install that,
once you import that in the project,
it will have a prefab similar
to this called first person controller but it is actually made for VR.
So, you won't have that sort of motion sickness,
is actually built for VR.
So you can use a joy pad or keyboard even though you shouldn't be using that,
that's probably the best option for you.
So, what I did,
I put my first person controller asset inside,
the prefab inside, and I attached a spider as a child.
You can see that if I select my first person controller,
by putting a spider as a child over it,
I can move my first person controller and the spider will chase me and
sort of chase the camera.
And the reason why I did that is to kind of achieve
some sort of embodiment system for the player.
You can see down here in the game here,
you can see the legs popping out in front of you,
so it seems like you moving as a spider would move.
And basically, when anytime you move,
I also attach the spider,
the animation of the other spiders.
But I'm not playing that constantly
because the player might stop for a while and then keep going.
So, what I did,
I'm basically playing that animation every time the player moves,
and I can assure you that all sort of system right now.
So, I now had now my map built in,
I had my little sort of dynamic creatures,
and I have my main camera players.
So, I have a main camera player that moves and I attached
a spider so that it looks like a little bit of embodiments,
so it seems like you are a spider.
The next thing I did,
so I build this for Oculus,
so you want to make sure that anytime you build for Oculus,
you want to make sure that you go into build settings,
and then play your settings, and then in here,
you take this VR reality support,
virtual reality supported, and then you select the Oculus SCK.
So now, this is ready to be played with a VR Oculus.
So, I hit play,
you can see that I can look around,
and you can see the other spiders are moving towards the way points that I show you,
and then if I move,
so you can go forward and you see the spider and make sure you are moving as well.
And you can see that everything is sort of scaled up,
and it seems like you're looking from different perspective of a human.
So, yes. That's it. This is my embodiment VRC.
Now, I will leave it to Kevin who's going to show you his work.
So, one of the objectives of this VR project we did was to create
an experience that people wouldn't usually encounter in their everyday lives.
In Andrea's scene, he explored the concept of embodiment where you were a spider,
and all that word object was scaled up to re-enhance the sense of being a small creature.
Now, in a scene that I built with my lab partner,
we wanted to take a different approach to this and
decided to create an experience that had an ominous feel to it.
We start to brainstorming ideas,
but we eventually came to talking about the weeping angel's character from Doctor Who.
What made them interesting and why we wanted to use as inspiration
for our own scene was because of their behavior in the Doctor Who series.
When you look at the statues,
they will not move, and just have regular statues.
However, if you were to look away and look back,
you will notice that something has changed and the statues have moved closer to you.
We wanted to take this and use it as a basis for our own VRC.
Since I was working in a pair, me and my lab partner decided to split the task up,
so that one person would primarily be focusing on the scripting element,
and the other person would primarily be focusing on the scene built.
So, I'll start with showing what I created.
It's quite simple.
I have a terrain object and I've sculpted it using the brush tools and the inspected tag.
There really wasn't any sort of direction to how I wanted to design the terrain,
since this version that I created was just a project up for
the functional aspect of the experience.
I just wanted to test what it would feel like for something to follow you.
So, that's why the terrain is simple.
But I did want to add varying levels in the terrain to make it look interesting.
The options that I chose to follow to location of the video was fierce.
Again, I just wanted to choose
a simple object to minimize problems during the prototype build.
For instance, since a sphere is a rounded object,
I wouldn't have to worry about how the object would look like while rotating.
So that was basically it for the trial version of the scene.
You might have also noticed I have these Clyro objects.
These were put in place so the ball will not fall of to terrain,
and there's four in total.
They're just box objects and I've removed the mesh renderer so that they're not visible,
but they're still active in this scene.
Let me run the scene now so you can see everything in action.
So, we start off with the ball.
If you were to look away, in the back,
the balls move closer,
but to look away and look back,
the balls move closer.
And if we do it again,
should be right next to us.
So this was the basic idea that we had.
I'll show you what the final version look right now.
So you can see there is a big difference.
We've added a lot multi environment.
You can see there's some rain falling down now.
And we felt like this really sort of
added to the almost feeling that we wanted to create.
We've also added a flashlight.
So, how does this send the man vibe to it too?
The balls are replaced with a free asset from the asset store,
which really enhances the scare factor in the scene.
I'll show you that difference now.
So, you can see that there are trees around and then that's
the object that we wanted to use to sort of move towards to the viewer.
So right now, it's in that location.
If you were to look away in the back,
it move closer, if you were to look
away and then back is conclusive again. And we do it one more time.
It's now really close.
So, we have gone through this quite quickly,
but I hope I've been able to show you how your scene development may progress.
My scene started off quite bare and simplistic.
But I focused more on the interaction element.
Once we got the functionality down,
we then started laying a simple and more details to build upon this.
And the final version that you're seeing on screen now is what we ended up with.
Thank you guys.I hope that's been useful.
We look forward to seeing what you guys make.