Placeholder Image

Subtitles section Play video

  • SHANEE NISHRY: Making virtual reality games

  • and applications with Unity is easy.

  • In this video I'll go over the concepts and implementation

  • of adding Cardboard support to a Unity project.

  • As you may know, Unity is a game engine

  • with an editor that allows you to easily import 3-D models

  • and arrange them in the scene.

  • You can also attach scripts to objects

  • to give them functionality.

  • Before we start, make sure to get the Cardboard Unity

  • plugin from this link.

  • Then, open your Unity project and import a package like this.

  • Now that they are all set, there are two things you need to do.

  • You need to create a stereoscopic camera

  • and make sure your user interface works well

  • for virtual reality.

  • Let's start with adding the camera and look into modifying

  • the UI at the end.

  • You can do so by using one of the available prefabbed objects

  • or by attaching a script to an existing camera.

  • The easiest way is to use the Cardboard main prefab.

  • This is best if you're starting a new project

  • or haven't made any changes to your existing camera.

  • Simply replace the existing camera with the Cardboard

  • main prefab, and you're done.

  • You can still add any custom scripts on top,

  • for controlling the camera, for example.

  • Press Play, and you'll have a functioning scopic view.

  • You can rotate the camera using the Alt key

  • while moving the mouse.

  • To simulate Cardboard Trego, press the left mouse button.

  • If you already have a camera, you

  • can use the Cardboard adapter prefab.

  • Add it as a child of your camera and select

  • Update Stereo Cameras from the Components menu.

  • Once again, you can press Play and have

  • a functioning stereoscopic view in the game window.

  • If you don't want to use a prefab,

  • then you can just use a script.

  • By adding the stereo controller script to your camera,

  • two stereoscopic cameras will be created dynamically

  • as you press play.

  • You may not want to use the stereo controller script

  • since it doesn't let you add any image processing on top

  • of the cameras because they are added dynamically.

  • If you want to create the cameras in the Editor,

  • then simply select Update Stereo Cameras from the menu

  • and they will be created for you.

  • Press Play, and you are done.

  • Last thing we have to do is get the user interface working

  • and add support for the Trego.

  • Start by adding the [INAUDIBLE] Input Module script

  • to the [INAUDIBLE] Event System Object.

  • This script emits [INAUDIBLE] for the event system

  • based on the user's gaze.

  • Next, in your UI element, set the Conference Render mode

  • to [INAUDIBLE] Space and set the event camera

  • to a camera controlled by a Cardboard head script,

  • either directly or as a parent.

  • At this point, the system is able to respond to the user's

  • gaze into triggers so that UI elements, such as buttons,

  • can be activated.

  • If you wish to interact with 3-D objects in the scene,

  • add a physics ray caster component to the event camera.

  • Designate an in-game object to be interactive

  • by adding a collider component to interact with the ray

  • caster.

  • And by adding a script to respond

  • to the generated events.

  • An event trigger is a good choice,

  • or you can implement some of the standard Unity event interfaces

  • on your own scripts.

  • If you wish to add a cursor to let a user see

  • the point of their gaze, set the Gaze Input models cursor

  • to the game object that will serve [INAUDIBLE].

  • This cursor will be moved to the exact point on whatever UI

  • object the user is gazing at.

  • If the event camera has a physics ray caster,

  • then this includes 3-D objects with the collider components.

  • If no object is hit by a ray cast, the cursor is hidden.

  • Now that you know how to make everything work,

  • it is important to keep in mind some best practices in order

  • to make a compelling virtual reality experience.

  • The three most important words to remember

  • are always keep tracking on, keep stable 60 frames

  • per second or higher, and avoid unexpected motion.

  • One of the things that makes virtual reality compelling

  • is the ability to look around.

  • In contrast, it would feel extremely unnatural

  • if the camera stopped responding to your head.

  • Therefore, you should always take into account

  • the user's orientation and never freeze the camera

  • or force the user to look somewhere specific.

  • If you want to grab the user's attention,

  • use cues such as light and sound to direct

  • them to look where you want.

  • You can also delay activating an event in your scene

  • until you know the user had turned

  • their head in that direction.

  • That way, they have time to take things in and enjoy the scene.

  • You must always keep to 60 FPS or higher.

  • Not only does it contribute to a good user experience,

  • but it is even more crucial in virtual reality.

  • Think about it this way, the screen

  • is the only thing the user can see.

  • Rendering at 60 FPS means the user sees the same flame

  • for 16.6 milliseconds.

  • If you miss 60 FPS, vsync drops you to 30 FPS and its frame

  • is shown for 33 milliseconds.

  • That means as the user moves their head,

  • they're getting an incorrect image for a very long time.

  • This is why it is very important for virtual reality

  • applications to be fast and responsive.

  • Movement can be tricky, because the user does not

  • feel like they are in motion.

  • If the world starts moving around,

  • it can contribute to an odd feeling

  • if there is discrepancy between one's actual lack of movement

  • and what the user is seeing.

  • There are ways to convey movement safely.

  • For example, by keeping motion constant

  • and avoiding acceleration, or by using another object and making

  • it move first or creating a path for the user to see.

  • This signals to the user they're about to be moved

  • and subconsciously propels them.

  • There are many more ways to ensure a good user experience.

  • I recommend you to check out the Cardboard Design Lab

  • Application to learn more about good and bad design patterns

  • so you can create the best user experience in your game

  • or application.

  • Good luck with making your own virtual reality experience,

  • and make sure to post about it in our Cardboard community.

SHANEE NISHRY: Making virtual reality games

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it