Unity Virtual Reality Projects
eBook - ePub

Unity Virtual Reality Projects

Learn Virtual Reality by developing more than 10 engaging projects with Unity 2018, 2nd Edition

Jonathan Linowes

Share book
  1. 492 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Unity Virtual Reality Projects

Learn Virtual Reality by developing more than 10 engaging projects with Unity 2018, 2nd Edition

Jonathan Linowes

Book details
Book preview
Table of contents
Citations

About This Book

Explore the latest features of Unity 2018 to create immersive VR projects for Oculus Rift, HTC Vive, Daydream and Gear VR

Key Features

  • A project-based guide to teach you how to develop immersive and fun VR applications using Unity 3D
  • Build experiences with interactable objects, physics, UI, animations, C# scripting, and other Unity features
  • Explore the world of VR by building experiences such as diorama, first-person characters, 360-degree projections, social VR, audio fireball game, and VR storytelling

Book Description

Unity has become the leading platform for building virtual reality games, applications, and experiences for this new generation of consumer VR devices.

Unity Virtual Reality Projects walks you through a series of hands-on tutorials and in-depth discussions on using the Unity game engine to develop VR applications. With its practical and project-based approach, this book will get you up to speed with the specifics of VR development in Unity. You will learn how to use Unity to develop VR applications that can be experienced with devices such as Oculus, Daydream, and Vive. Among the many topics and projects, you will explore gaze-based versus hand-controller input, world space UI canvases, locomotion and teleportation, software design patterns, 360-degree media, timeline animation, and multiplayer networking. You will learn about the Unity 3D game engine via the interactive Unity Editor, and you will also learn about C# programming. By the end of the book, you will be fully equipped to develop rich, interactive VR experiences using Unity.

What you will learn

  • Create 3D scenes with Unity and other 3D tools while learning about world space and scale
  • Build and run VR applications for specific headsets, including Oculus, Vive, and Daydream
  • Interact with virtual objects using eye gaze, hand controllers, and user input events
  • Move around your VR scenes using locomotion and teleportation
  • Implement an audio fireball game using physics and particle systems
  • Implement an art gallery tour with teleportation and data info
  • Design and build a VR storytelling animation with a soundtrack and timelines
  • Create social VR experiences with Unity networking

Who this book is for

If you're a non-programmer unfamiliar with 3D computer graphics, or experienced in both but new to virtual reality, and are interested in building your own VR games or applications, then this book is for you. Any experience in Unity is an advantage.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Unity Virtual Reality Projects an online PDF/ePUB?
Yes, you can access Unity Virtual Reality Projects by Jonathan Linowes in PDF and/or ePUB format, as well as other popular books in Informatik & Virtuelle Realität. We have over one million books available in our catalogue for you to explore.

Information

Year
2018
ISBN
9781788477185
Edition
2

Content, Objects, and Scale

You may remember building a diorama project for school from a shoebox as a child. We're going to make one today, using Unity. Let's assemble our first scene, which is composed of simple geometric objects. Along the way, we'll talk a lot about world scale. Then we'll explore various 3D content creation tools that developers and artists use for assets imported into Unity. In this chapter, we will discuss the following topics:
  • A short introduction to the Unity 3D game engine
  • Creating a simple diorama in Unity
  • Making some measuring tools, including a unit cube and a grid projector
  • Using Blender to create a cube with texture maps and importing it into Unity
  • Using Google Tilt Brush to create a 3D sketch and importing it into Unity via Google Poly
  • Using the experimental Unity EditorXR tools for editing scenes directly in VR

Getting started with Unity

If you don't have the Unity 3D game engine application installed on your PC yet, do that now! The full-featured Personal Edition is free and runs on both Windows and Mac. To get Unity, go to https://store.unity.com/, select the version that you want, click on Download Installer, and continue following the instructions. This book assumes you have version 2017.2 or later of Unity.
For you beginners out there, we're going to take this first section nice and slow, with more hand-holding than what you'll get later on in the book. Furthermore, even if you already know Unity and have developed your own games, it may be worthwhile to revisit the fundamental concepts, since the rules are sometimes different when designing for virtual reality.

Creating a new Unity project

Let's create a new Unity project named VR_is_Awesome, or whatever you'd like.
To create a new Unity project, launch Unity from your operating system and the Open dialog box will appear. From this dialog box, select New, which opens a New Project dialog box, as shown in the following screenshot:
Fill in the name of your project and verify that the folder location is what you want. Ensure that 3D is selected (on the right). There is no need to add any extra asset packages at this time, as we'll bring them in later if we need them. Click on Create project.
Unity 2018 introduced the Unity Hub tool for managing multiple Unity versions and projects. If you are using Unity Hub, you can choose the "3D" template, or one of the newer VR render pipeline templates for your project.

The Unity editor

Your new project opens in the Unity editor, as shown in the following screenshot (where I arranged the window panels in a custom layout to facilitate this discussion and labeled the visible panels):
The Unity editor consists of a number of non-overlapping windows, or panels, which may be subdivided into panes. Here's a brief explanation of each panel that is shown in the preceding layout image (your layout may be different):
  • The Scene panel on the upper left-hand side (highlighted) is where you can visually compose the 3D space of the current scene, including the placement of objects.
  • Below the Scene panel is the Game view (lower left-hand side), which shows the actual game camera view (presently, it is empty with an ambient sky). When in Play Mode, your game runs in this panel.
  • In the center, we have arranged the Hierarchy, Project, and Console panels (from the top to the bottom, respectively).
  • The Hierarchy panel provides a tree view of all the objects in the current scene.
  • The Project panel contains all the reusable assets for the project, including the ones imported as well as those that you'll create along the way.
  • The Console panel shows messages from Unity, including warnings and errors from code scripts.
  • On the right-hand side is the Inspector panel (highlighted), which contains the properties of the currently selected object. (Objects are selected by clicking on them in the Scene, Hierarchy, or the Project panel). The Inspector panel has separate panes for each component of the object.
  • At the top is the main menu bar (on a Mac, this will be at the top of your screen, not at the top of the Unity window). There's a toolbar area with various controls that we'll use later on, including the Play (triangle icon) button that starts Play mode.
From the main menu bar's Window menu, you can open additional panels as needed. The editor's user interface is configurable. Each panel can be rearranged, resized, and tabbed by grabbing one of the panel tabs and dragging it. Go ahead, try it! On the upper right-hand side is a Layout selector that lets you either choose between various default layouts or save your own preferences.

The default world space

A default empty Unity scene consists of a Main Camera object and a single Directional Light object, as listed in the Hierarchy panel and depicted in the Scene panel. The Scene panel also shows a perspective of an infinite reference ground plane grid, like a piece of graph paper with nothing on it yet. The grid spans across the x (red) and z (blue) axes. The y axis (green) is up.
An easy way to remember the Gizmo axes colors is by keeping in mind that R-G-B corresponds to X-Y-Z.
The Inspector panel shows the details of the currently selected item. Select the Directional Light with your mouse, either from the Hierarchy list or within the scene itself, and look at the Inspector panel for each of the properties and components associated with the object, including its transform. An object's transform specifies its position, rotation, and scale in the 3D world space. For example, position (0, 3, 0) is 3 units above (in the Y direction) the center of the ground plane (X = 0, Z = 0). A rotation of (50, 330, 0) means that it's rotated 50 degrees around the x axis and 330 degrees around the y axis. As you'll see, you can change an object's transforms numerically here or directly with the mouse in the Scene panel.
Similarly, if you click on the Main Camera, it may be located at the (0, 1, -10) position with no rotation. That is, it's pointed straight ahead, towards the positive Z direction.
When you select the Main Camera, as shown in the preceding editor screenshot, a Camera Preview inset is added to the Scene panel, which shows the view that the camera presently sees. (If the Game tab is open, you'll see the same view there too). Presently, the view is empty and the reference grid does not get rendered, but a foggy horizo...

Table of contents