Intro to VR: Gaze-based Interaction and Interfaces | Gary Ng | Skillshare

Playback Speed


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Intro to VR: Gaze-based Interaction and Interfaces

teacher avatar Gary Ng, AR/VR Specialist

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

8 Lessons (33m)
    • 1. Introduction

      1:45
    • 2. Building to Cardboard

      5:36
    • 3. Gaze and Raycasting

      5:35
    • 4. Gaze and Click

      5:10
    • 5. Diegetic Interfaces

      4:44
    • 6. Fuse Buttons

      5:48
    • 7. Designing VR Experiences

      2:28
    • 8. Summary and Conclusion

      1:28
  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

133

Students

1

Project

About This Class

Virtual reality experiences utilize a headset and non-traditional controls. As a result, UX/UI designers must build an interface that best allows the user to interact and navigate through the 3D content. This class introduces the basics of VR interaction and interface design and you’ll learn about..

- What VR is and some of the design challenges associated with it
- How to build a Google Cardboard application in Unity
- What gaze-based interaction is and how it can be used in VR
- Different types of VR interfaces

The class project will be centered on creating your own Google Cardboard application with Unity. To make the most of this class, you should have a Google Cardboard headset and a compatible phone. However, if you don’t have a headset, you can still follow along with just your smartphone.

You are not expected to have any prior VR experience but are expected to have a basic understanding of how to use Unity.

Meet Your Teacher

Teacher Profile Image

Gary Ng

AR/VR Specialist

Teacher

Hey, my name is Gary and I'm an AR/VR specialist with a background in game development and industrial design. I'm currently working at Unity Technologies as a Software Developer.

I love making things and I really enjoy playing around with the newest technologies to see what kind of fun and interesting things I can create. My work has been showcased in exhibitions and conferences all around the world and one of my favourite things to do is to travel to cool places to demo my work.

Feel free to check out some of my work over at www.garykcng.com.

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
    0%
  • Yes
    0%
  • Somewhat
    0%
  • Not really
    0%
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Introduction: Hey, guys, My name is Gary Virtual reality and augmented reality developer. Lately, I ve are They are growing incredibly quickly, and more people than ever before been able to try out this technology for the first time in their lives. Like any other digital medium. Interface and interactions are very important for how the use will actually interact and experience your application. There are many things that you might take for granted in a traditional digital application that you can't use in a virtual reality experience, for example, can expect to use the view things from a two D display can select from a mouse or keyboard , and overall interaction and interface will be different. For example, when you're using VR users wearing a headset as a result, it's a first person perspective and there right in the action. As a result, the way you convey information, users could be very different, and you have to rethink the way that you only do this in this class, will be exploring some basic beer interfaces, and I'll show you how to use them to make your experience more intuitive and fun to do. This will be building a cool carpet application years and unity. So you need to have a basic understanding of how unity works as well. It's compatible smartphone and Google cardboard headset. If you don't have a Google corporate headset, you can buy one or make one. Alternatively, if you don't have a headset but still want to follow along, you still can. But you won't be able to build your application out and experience in VR. There will be some programming this class, and I'll try to keep it simple. The word we can follow along, though, because I'll be including the downloading all the code I do. So you could just import those into your project. Remember that the focus of this class, actually on the design interaction of these experiences, necessarily the programming itself. So don't feel too bad you can follow along. All right, so in the next video, we're actually gonna get started. Building are cool carpet application, so I'll see you in the next video 2. Building to Cardboard: Hey, guys, welcome to getting started with VR in this video will be going over how to build your very first Google cardboard application and unity by the end of the video should have an understanding of what you need to do to get a simple of your app running on an android phone. First things first says we working with unity should make sure you have it installed. I'm personally using unity 2018.3 point six. Any version of unity released after 2017 should be all right If you need to download it, though, you can go to the Unity Download archive to select a version. You can also use the unity Hubble's well to download a version that works for you when you install it to make sure you also installed the 100 module as well, so you can build to it. Speaking of which, you also need a download 100 studio. If you don't really have that installed is Andrew Studio provides you with the android sdk in a bunch of other development tools that are necessary to create android applications. Once you've everything downloaded installed, it's time to open up unity. The first thing should do. Who? Switch your build platform. Andrew, I've already switched mine over to Android. But what you would do is go to file, build settings and then you make sure you select android and you switch to it by default. It's a PC. Mac and Lennox stand alone. But then you want to make sure it sets to android if you can't switch to it. Chances are that means you did install the android module. Uh, so in other words, it looks like that. So if it is like that, what you want to do is click in this open down on page button and I'll guide you on how to install that module. Once you have it installed, then you can switch to it, and then it'll look like this. Once we switched to android settings. We can start building app now. First, we'll start off with static environment so he could bring whatever three miles you want into the scene itself and start decorating your scene. I'm just gonna download some free assets off the unity as it store and use those. So there's this free small little poly pac that I'm just gonna import into my project and there's a bunch of F E X is in the pre fabs in here or something. Import all of those. And once those have been imported, I'm just gonna grab a few pre fabs in here. Important thing to know in VR is that your camera essentially acts as the person's head. So I'm gonna place this ground object right here and move it underneath the player scale a patani but as well. It's a big just do that, and I don't just kind of make it look like it's user standing on the platform. I'm just gonna decorate that a few trees as well. So I wanna make sure these trees were actually in the platform. Quite a few more of those as well. It's kind of it's kind. Okay, store another one back over here, and it's for fun. This or some grass, too, so I'll make it really big piece of grass. There we go. So now we have a little basic seen going. You can do whatever you want, obviously, with your three D models. If you have any that you created previously or dampening from a previous project, feel free to use lows. I'm just gonna be using these free assets for now. Once you're happy of how you're seeing looks, it's time to adjust some of your build settings. So again, let's go back to the build settings over here. Let's click on player settings. So first things first, we should change the company name and the product name, so by default, But you just have these default company kind of things. We can change it to whatever you want. I'm just meant I my name as the company name and for the product name. We could change that, too. Whatever you wants, this is typically the name of her, so I'm gonna call it my cardboard. Next. What we want to do is want to go into other settings over here, and you want to change the package name as well. So the package name axes identifier for your app. So it has to be unique for every application. So the fault company, you want to just change that to your your company name? So in this case, it's my name for this part here is going to national name her abs, so I'm just to call it my cardboard once that's done, you close that section and you can open up xar settings. So X R stands for extended reality. And that pretty much includes both virtual reality and augmented reality. So in this case here, we're just gonna choose virtual reality, supported to make sure that's checked off. And then we're gonna add Google cardboard, and that's pretty much it. So now we should be ready that build. So let's plug in or Android phone. And then once you're ready, build and run. So I have this little poppet for you. I'm just gonna call it cardboard VR that maybe K a PK is the android build file. Essentially, it's once you save that, I'm over it. The one I already have and should start building. It failed. Well, the reason why I failed is because cardboard actually requires a minimum ap I level of 19. But unity by default to set the 16. So I said, OK, let's go back into our players settings over here. Let's go back to other settings. So in other settings you notice that the minimum ap I level here is set the 16. We want this change that to 19. So Luckily, KitKat or AP Level 19 was actually released in 2013 so we shouldn't have any problems of any of the newer phones being run ar VR experience. So once that's been changed, Teoh level 19 let's try again and hit building run again. I'm gonna replace this file and checking for compatible android devices and hopefully they'll keep going. And there we go. It's gonna start building, so this may take some time, so just be patient. So when your application is built, you can take your phone, you could take your headset and then you put your phone in the hands that just like that and when you look through it should be to see what you created, and that's it. You create your first Google cardboard experience in the next video. We're talking about recasting and how we could use diet in our experiences 3. Gaze and Raycasting: Hey, guys, welcome to another intraday VR video. Previously, it was set up a simple VR environment and in this video will start learning about gays based interaction. But first we need to learn about Ray Castaic. So what exactly is re casting We do? Games are a great example of where Ray castings used the lawn and shooting games. Of the best example of this as human beings, we clearly set the guy in the foreground is clearly aiming at the guy in the background. So you'd imagine when you press the shoot button, the bullet would just go in that direction and hit the guy in the back. Simple, right? Well, that's exactly what a raid caste issue can imagine. That the rate cast acts like a bullet. It starts from the barrel of the gun and then travels in a straight line in the direction of the gun reported it, then it just kind of wait until it hits something. If it hits something, then the broadcast was successful. If it doesn't hit something than the rate cast fails, So in this example, the recast be successful. If the player aimed the gun properly and the enemy was hit and it would fail of the aim was off in the bullet didn't hit him middle. Now you might be wondering how recasting is useful for VR. Well, it's actually the core concept behind gays based interaction says. We're dealing with a headset in this case, a Google cardboard headset. It doesn't have any control if the user to use as a result, the only way for the user to interact with the virtual world, Mr their head movements. So the easiest way for that. It's just determine what the looking at or, in this case, where their gazes. This is extremely common for both virtual reality and augmented reality. Google cardboard, for example, has built up their entire user interface along this core concept. As you can see from this venue, there's a radical in the center that follows the user's gaze, and then they can use that to highlight and select elements in this menu. As you can imagine, this is fundamentally different than how you might design a traditional game or mobile application because of the different interface and the harder restrictions. So this is a really important concept to get used to, and for other platforms that Google daydream or even the Oculus rift. They've controllers for the users that they don't necessarily have to rely on gay space interactions. But as you can see from this laser here, they still perform raid cast, determine the user is pointing at something. So now that we know what a raid cast this little high level, let's jump back in the unity and I'll show you how to use it in our project. So within unity, there's many different ways we can use rate casts on a planet or VR project. One of the ways is to do it through programming. But then we have to open a visual studio and actually read out some code, which is a bit out of scope for this course. Instead, what we want to do is focus on visualize of what the concepts are and how we can use them. So we're gonna use GVR to help us out. GVR is Google's virtual reality library, and it contains a lot of useful tools and examples to get you started with building on VR application. So I'm just going down with Unity package and then added to my project. But the way you added to your project is the right click down here import package custom package and then go to where you downloaded it. There's a lot of stuff in this package and one of time to go through all of it, but just import all of it for now. And when it's done extracting everything into your project, we can begin. First. We want to go down here to prefects, cardboard, gvr radical pointer, and that we want to direct that to remain camp. The radical is kind of like your mouse cursor buttle existing VR, so it follows your gaze. When you move your heads at the side, it'll follow your head. Rotation allow you to select objects. We also need to more pre fabs. The 1st 1 is the GVR editor emulator, which could be found in the Prefect's folder. Everyone just dragged out to the scene. We also need to go into event system and direct this GVR event system object to the scene as well. Both of these helpless process the events in her application and are necessary to determine what things are being hit by the raid cast. If we hit play now, you could hold down the Elke, move your mouse to rotate the camera. You could also see that white dot in front of us. That's the radical. So you notice how it follows your gaze, no matter where you look. And if you look this up on your phone as well, it will also follow it when you move your head in real life. So what the radicals doing in the background is it's during a series of great castles of the scene and seeing what we can interact. Right now, nothing in the scene is interact herbal, so it doesn't really do anything. What we want to do is to make it so the radical actually detects our trees. So what we do that is first to select all over trees, we've gotta add three things. The first is an event trigger. The second is the GVR Porter Physics Ray Kaster, and the third is a collider. So in this case, it can use pretty much any of the non two D ones like the Box Collider, capsule collider and so on and so on. I'm gonna use the mesh one all of these air necessary to tell the radical that we care about these objects so that when it does the rate cast into the scene, it will detect them and be like, Oh, these air important. Let's do something with Okay, now let's do a build notice that the radicals open. If you move away from the tree, it closes. If you move back to the trade opens up again. That's because another radical is doing a rate cast into the scene. And because we had that those three components to the trees and now detects it and it's going, Oh, maybe we can interact with it if he moved to the ground. Or, let's say the grass, the radical doesn't open up because we didn't add those components to them. But all these trees in our scene. So, for example, that one and this one as well are now being detected by the radical. So now we have a simple demo, which showcases radical. It uses the rate caste system to detect objects. In the next video, we'll go over clicking directions, and we'll add some proper interactivity to the application 4. Gaze and Click: Hey, guys, welcome to another intraday VR video, and this video will be going over the gates and click interface, and I'll be showing you how to add that interaction to your demo so you can select objects moving around your scene. Since reason Google cardboard, we know that the user will be primarily using their gaze and the headset button to interact to the application. How the cool Carper Button works is that it essentially simulates a touching your phone. If you look inside the headset, you'll see this thing that actually pushes on your touch screen when you press the button. So will be the most intuitive way to design this attraction. I think that the simplest way to do this is that the user should gaze over the intractable objects and then hold the button down to move them. Then, when they released the bun, the object locks into place. So how do we do this silver from last time we had these event triggers to my trees, sort of the radical content them. Now, if you click on add new event type, you notice how there's gonna be a bunch of different things that pop up all of these events , and when you select one, you're gonna sound a function that gets called. One system detects that event. So for our cases here, we want to use Porter down and point her up because when you press importer down, it means that that buttons being pressed down. And if you press on porter up, that means you're releasing that buddy. So these are what we need. But how do we actually move the object? Now? We'll have written a simple script that's called Intractable Object, and I'll show you how it works. I created two functions on Pointer down and on Porter Up Notice how I named them in a way. So it maps to the event that we're actually going to be using the functions themselves air simple. When I press down or moving when were released or no longer moving in the update function, I'm doing a ray cast, which I went over and video three. All I'm doing is casting with cameras position in the direction of the camera and saving the result in this variable here and then afterwards and checking to see if we hit anything by checking to see if the collider is Nell or not. If it's not know, it means we hit something, so we're gonna move our object to that position. But if we didn't hit anything, that means we're just gonna move the optic further in front of us. So back in unity, what we're gonna do is when I select our tree and we're gonna add this interactive all objects trip to it. Once we've added that script, we can actually map them to these events. So what we do is we at this using the plus sign here, and then we're going to drive this object over, and it's like that function. So in this case, interruptible object, we're gonna go on pointer down an intractable object on Porter up. So let's do a quick build and see what happens now that our builders loaded up. Let's see what happens when you should click on this object. So that was how it does actually follow our gaze. But it does some weird thing here. What? It goes towards the camera over and over again. No, someone we lift up in the sky. It's a bit okay, but then we bring it back down against weird again, And that's because of this land right here. Remember, when we do a recasting of the scene, we're checking to see if we hit any colliders. In this case, if we are hitting and collider, we're actually moving our game. Object to that position. And so because our trees actually collectors as well, it means that if it detects that tree, it'll move that game object closer to closer and closer and closer and closer to the user. So will we actually want to do is to remove the game objects collider when we're actually moving it, and then we want to actually re enable it when we're no longer moving it. So how we do that is quite simple. We go to the game object here, we get the collider component and then we just disable it. Likewise, down here, we want to actually get the game game objects collector again, and we want to re enable it. When we do this, it means that when we're moving the object, we're no longer at risk of colliding with it. Using a rake cast and we release it, we're going to send it back to its original state Let's do another build and see what happens now. Okay, now that we make that change and see what happens now when we select this object much smoother now, right? So now even we move it around, it doesn't jerk around, doesn't go crazy. And that's because of that simple change made in the code. But owner self. I moved down now and actually clips into the ground. That's not very good, is it? Let's fix that fixing that as I should really simple remember the last time. But we did more to make the trees interact. Herbal. We just got to do the same thing with the ground. We can select that, and then we just gotta add in a collider. So in this case, I'm gonna add just the box collector. It's enough. And then when you add in the venture and that's it, So now when you move your tree around, it should properly stick to the top of the ground and even if it up flies up again, right? So that was fairly straightforward. But this interactions actually really standard one. In virtual reality, I highly recommend you just kind of playing with us and see what kind of things you could build with this. Maybe you could make a small game where you dragon drops or an object in the right spot. Or maybe you're trying to find something in a scene. Ah, there's lots of different things you can apply this to. All right. In the next video, we talked about dietetic interfaces. I'll be going over the difference between a to D interface and a VR in a vase, and I'll be showing you how to use the canvas system in your application. 5. Diegetic Interfaces: Hey, guys, welcome to their introduce VR video. Last video. We went over to do gays and clicking directions and VR. In this video, we'll be talking about dietetic interfaces. So what exactly are dietetic interfaces? Dietetic interfaces are essentially interfaces that are in world. The best way to picture this is again with video games. Typically, designers would create a two D interface in the form of a heads up display or something that blocks off parts of the screen. In this screenshot, it would be like the exit button over here in the bottom, right? These elements are designed for the player in Are Invisible to the Game characters. Dietetic interfaces, on the other hand, are visible to the game character. This, like this book, which conveys some information to the player but does present it in a way, this so it looks like the character is reading it. Dietetic interfaces are incredibly useful. VR experiences this because it's the user's wearing a headset. That screen is really close to their eyes, a typical two D interface that is tied to the uses. Gays be very disorienting and extremely uncomfortable, since it would be way too close. It'll be hard to focus on. As a result, unhygienic interface would solve this problem by giving contacts of the user interface elements as well as anchoring the user through. The use of this interview is an example of this is the Oculus Rift Dashboard, which is visible here. Dietetic interfaces also use a lot of Oeiras. Well, the reasons for this the same CVR. But this time the interviews is situated in the real world rather than in the virtual world . Now that we know what dietetic interfaces are, let's jump back in the unity and I'll show you how to create a few for your project. So creating a digestive interface in unity is very straightforward. What we're gonna do is create a regular campus elements. Let's say we create about so beautiful chemist elements of set to screen space overlay. This means that it kind of works well in a regular two D environment because you have it just kind of on your screen like this. However, as you can notice here, it says the chemist element will not be visible in VR. This because if it's tied to your screen when you move around, it'll be very disorienting and very weird for the user, which is why they just kind of disabling. So instead, we want to change is the world space. And when you switch the world space, it'll allow you to actually move it around in the scene. So let's focus on it real quick. Notice how it's really big and really far away. So let's first moving to the origin and then because it's so big, I'm just in a skillet down a tiny bit. All right, now, this is a much more manageable size. I'm gonna move it a bit in the distance of here next door trees and rotated tiny but his wall so we can see it. All right, cool. So let's test it real quick. If we go into our game mode right now, move over here, see the button. And we'll was that. There's a lot of warnings here telling us through the GVR pornographic Ray Kaster, instead of what they have over here. And the reason why there's so many warnings is because we want to use a different type of Ray Kaster. So right now, by default, we have this graphic Ray Kaster. We don't want that let's remove it. Instead, we want to find this one here. Gvr pornographic. Sorry, Castor. If you add that and you run it again, notice how now there's no more issues. And the reason why we do this is because GVR specifically looks for their own integration for certain things in this case, their own Ray Kaster. So using it it just makes more sense for their system, which is why we're going to use that as well. Next, let's create some text. So again go over here, we're gonna add another you element. This time we're gonna have a text, and we're gonna put the just next level and we're going to call it something. So what we're gonna do now is when you click this button, the word is gonna change the text of this label to something else. So we already have a non click of it here. So it's add a national event to it and link this text, object to it and change this text. Text two quick. Now, if you make a build when you click on this button, this text label should change to clicked. So when you make it build immediately, you can see how interface elements over on the side here and even look away. Obviously, you can't see them anymore, So this is very slim ITER how things work in the real world, where if you turn away, things just disappear from sight. But they're still there. Now click on this button, it says clicked. So this is a very natural interaction for users because it's very intuitive, just like how things work in real life. When you look around, you see things and then obviously can interact with them. And that's pretty much dietetic interfaces on that show. It's you y objects that live in the world. In the next video, we'll be extending on this and we'll be talking about fuse buttons. 6. Fuse Buttons: Hey, guys. Welcome. Miller injured a VR video. In this video, we talked about fuse buttons that have can use that in our project. In the last video, we talked about dietetic interfaces, and I showed you how to make a simple button where when you click on it, something happens. However, when we're dealing Google cardboard, sometimes it's really annoying to always have to be cleaning that button. So there's something called a fuse, but in which we can use instead. When you hear the phrase fuse button, what do you think of to me? I think of a bomb because they have a fuse and it kind of ticks down. And when a certain amount of time has passed, something happens. Well, that's exactly what a fuse button is. It's essentially an interface element where when you hover over it with a radical or your mouse, a timer starts to take down, and then when it reaches a certain point, it automatically proceeds. So this is another way we can use gays based interaction without having to rely on that button. All right, let me show you how to make one 1st 1 of the assets store and downloaded these free magic ruins. I figured it would be nice to work or something other than the default interface. And what I'm gonna do now is just I'm gonna cut a simple you element. It's gonna be an image this time, and I'm just gonna ply this heart one to it. Now, I'm also gonna turn the color to black and I'll tell you why in a minute Next, I'm gonna add in those adventurers that we've dealt with before, But this time we're gonna be adding different events. We're gonna use Porter, Enter and Porter exit Previously, we use Pointer down, important up. That means we have to click on it. But now we're dealing enter and exit meeting. We just have to hover over it. Now we need to do a bit more programming. So I created this small script called Fuse Button. And in this script, I once again have to functions on Pointer, enter and on Pointer exit similarly to the previous Ripley road. It's gonna map to those two events that we just talked about in Porter Enter. I just say refusing now because we've entered that object and pointer exit. I'm saying we're no longer fusing because we've accident. There's a few other things in here, though most of saving the time at which we entered it. This is because we need to know exactly how much time has passed. In order to do that, we need to have a start point and an important er exit. We also have this right here, which is saying, if our fuse wasn't successful, it will invoke a failure event. And then over here on the bottom register sets everything. The most important part is again in the update function. So I just have a very simple algorithm here at all it's doing is it's saying if we're refusing, in other words, the pointer is now hovering over the element than first. We're going to calculate how much time has elapsed. So since we have the current time, we're gonna minus that time where we started and we're gonna get the elapsed time. And they were just gonna check to see if the elapsed time is greater equaled in the duration and the duration. I just said right now to fold it in three seconds. If it's greater equal to it, then we're successful that we're no longer going to be fusing. Then we're also going to invoke that successful event because we did it. If, on the other hand, knows enough time has passed, then we're just gonna do this right here, which is going to change the color off the image. So the color I'm changing it to is really just gonna be a valley between zero and one. So it's gonna go from black to white, and that's a modulation. So the current color we have, it's kind of a pinkish color, right? So it just means this isn't go from black all the way up to that pinkish color when it hits one, and that's pretty much it. Let's go back to Unity. All right, so we want to go back to our image, and I'm gonna apply that script to it the fuse button script. And then I'm just gonna add those two events and map those to the functions that we created and this one's going to go to on Pointer enter, and this one's going to go to on pointer exit. And then I'm gonna create two new functions here as well. So this is gonna be the one that gets called when it successfully triggered. And this is gonna be one gets called if it fails. So the only time it fails if we leave that element too early, before the fuse actually completes, okay? Similar last time. I'm also gonna create another text box here. So this one just gonna go underneath it and move everything up a tiny bit. So overlap. And similarly last time, I'm just going to change the value of the text box, depending on the result of our fuse. So this one is going to go and say success, and this one is going to say Try again. All right, let's run us to see what happens. So if I move over here and hover over it, notice how it turns brighter and brighter and brighter, and finally, it's a success. Now if I leave, it stays like that. If I go back, it gets darker again. If I leave too early, it's his try again. And that's pretty much are few spot. There's a few other things that can customize here, though have resented this fuse duration right now. Is that the three seconds I can change it toe one second for example, and run that again. It's going to get brighter. Really, really, really fast. Okay, so now that we have this working, we can create a really fun little interaction now, So I'm just gonna duplicate this right now. Move this to the side and this one. I'm gonna replace Wave that, say this fire element here, and I'm just going to swap these two guys right here. So instead of saying success when you succeed, I'm just try again. And then for this one, When you fail, I'm gonna say success. That's because now you can think of it as you a little game. You have two elements. They're both black. And if you hover over one, you wanna stay on the heart and the other one is the fire What you want to avoid? So I said, Sure, That just means if you see the fire, you gotta leave. And if you see the heart, you got to stay. So notice how this interfaces that you're very straightforward implement, but already you can kind of create some pretty interesting interactions with it. So the next video, I'm just gonna take this idea and kind of roll with it. I'm going to use all these concepts we talked about so far in the course. And I'm gonna make a simple game using the fuse interfaces. Well, it's the click interface. 7. Designing VR Experiences: Hey, guys, welcome to their intraday Vera video. So far in this course, it pretty much has been going over some tutorials that show you had to do certain things. This video is gonna be a bit different in the sense that I'm just gonna talk and hopefully give you some insights based on my experience of designing via applications. Now, in my opinion, when you're designing for your applications, there are two very important things to keep in mind. First, your users are going to be experiencing your design from the first person perspective. So to be 100% immersed in a second, VR gives you the opportunity to make your users physically move around. I think that both of these points are fairly important, says that's what makes VR unique. If you think about it, technologies developed at the point where basically everyone is familiar with websites, mobile applications. But with VR, you really do have the opportunity to give you use is a new experience that makes it memorable not only for themselves, but even perhaps for the friends and family watching them as well. So, for me, I really like to design my veer interactions to utilize movement. Even a simple design can lead to an incredibly fun and interesting experience. I always love seeing others try my veer APS and see them maybe flailed their arms around or physically dodge obstacles. It's kind of just a fun time for everyone, really. If the things we covered in this course so far, you can already design and create experiences that facilitate this type of movement, for example, what you're seeing right now is me just creating a game using the fuse mechanic that we went over in the last video. It's a fairly simple mechanic, but if you can think of a neat way to apply it, you'll be surprised to see if the merchant dynamics are more interesting than you might think. So I challenge you guys to think of ways to use the concepts we've gone over in this class and create your own VR experience. It could be a game, but doesn't have to be. I personally really like games, so I decided to make one. It's really up to you, though. Zahn whatever you want and see if it works. It could end up being a really cool or it might not, But in my opinion, half for the fun is really just seeing what works and what doesn't anyway. So this is the end result of the game I made. The goal is really just the gaze of the black images and reveal what type of room they are if their hearts. You should continue staring at them at the fire. Wind should start looking this pond all around you as well. So a challenge is the player to really look around a lot. That said, I might have overdone it. A tiny bit of the rotations that's something should keep in mind as well. There's a balance when it comes adding movement to your of your abs. A tiny but is good. Too much is bad. You should be very careful not to make use of sick or nauseous anyways. They want to check out my game. I've posted to links, wanted Ellen just the game and wanted down the source project 8. Summary and Conclusion: Hey, guys, Thank you for taking this class. If you've been following along this entire time, should have your own Google cardboard application that you can load onto your phone. And hopefully you've learned something along the way as well, in terms of 100 billion year old interfaces and so on and so on. So we covered a lot of content in this class. We went over gazing and ray casting one over click interactions. Fuse interactions. Digest interfaces went through a lot. But just remember that all of these are just tools for your toolbox. You can use them in different ways. You combine them as well, and you can honestly just play around and see what you can do with. I recommend just taking your current application, extending on it and see what else you could do with it. It's on. It's gonna be really fun. It's gonna be a great way for you to keep learning and developing your PR skills. Now, if you've been doing this and created in a P K, I also recommend you share it, so there's many ways you can share this. So, for example, you just send that over as just a file to your friends, your family, you create a Dropbox link. You couldn't even push it to the Google play store. If it's publicly available, would be really nice if you share a link as well so everyone can see what you've done. I know I'm personally, really excited to see what people have done. So feel free to share with me. At the very least, Thanks again for taking this class. It was really fun for me to make this and hopefully was really fun for us to follow along as well. And obviously I hope you guys have actually learned from this class, so I'll probably doing more of these. So feel free to keep checking back and maybe I'll see you guys in the next plus by