万本电子书0元读

万本电子书0元读

顶部广告

Unity Virtual Reality Projects电子书

售       价:¥

6人正在读 | 0人评论 6.2

作       者:Jonathan Linowes

出  版  社:Packt Publishing

出版时间:2018-05-24

字       数:56.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Explore the latest features of Unity 2018 to create immersive VR projects for Oculus Rift, HTC Vive, Daydream and Gear VR About This Book ? 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 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. 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 In Detail 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. With its practical and project-based approach, this book will get you up to speed with the specifics of Virtual Reality 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 the Unity 3D game engine via the interactive Unity Editor as well as C# programming. By the end of the book, you will be fully equipped to develop rich, interactive virtual reality experiences using Unity. Style and approach A practical step-by-step guide to building impressive VR experiences with Unity 2018.
目录展开

Title Page

Copyright and Credits

Unity Virtual Reality Projects Second Edition

Dedication

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the project assets and example code files

Download the color images

Conventions used

Get in touch

Reviews

Virtually Everything for Everyone

What is virtual reality to you?

Types of head-mounted displays

Desktop VR

Mobile VR

The difference between virtual reality and augmented reality

Applications versus games

How virtual reality really works

Stereoscopic 3D viewing

Head tracking

Types of VR experiences

Technical skills that are important to VR

What this book covers

Who are you?

Summary

Content, Objects, and Scale

Getting started with Unity

Creating a new Unity project

The Unity editor

The default world space

Creating a simple diorama

Adding a cube

Adding a plane

Adding a sphere and some material

Changing the scene view

Adding a photo

Coloring the ground plane

Measurement tools

Keeping a unit cube handy

Using a Grid Projector

Measuring the Ethan character

Using third-party content

Creating 3D content with Blender

An introduction to Blender

A unit cube

UV Texture image

Importing into Unity

A few observations

Creating 3D content in VR

Exporting and importing Tilt Brush models

Publishing and importing using Google Poly

Editing Unity in VR with EditorXR

Setting up EditorXR

Using EditorXR

Summary

VR Build and Run

Unity VR Support and Toolkits

Unity's built-in VR support

Device-specific toolkits

Application toolkits

Web and JavaScript-based VR

3D worlds

Enabling Virtual Reality for your platform

Setting your target platform

Setting your XR SDK

Installing your device toolkit

Creating the MeMyselfEye player prefab

Building for SteamVR

Building for Oculus Rift

Building for Windows Immersive MR

Setting up Windows 10 Developer mode

Installing UWP support in Visual Studio

UWP build

Setting up for Android devices

Installing the Java Development Kit (JDK)

Installing Android SDK

Via Command Line Tools

About your Android SDK root path location

Installing USB device debugging and connection

Configuring the Unity External Tools

Configuring Unity Player Settings for Android

Building for GearVR and Oculus Go

Building for Google VR

Google Daydream

Google Cardboard

Google VR Play Mode

Setting up for iOS devices

Have an Apple ID

Install Xcode

Configuring the Unity Player Settings for iOS

Build And Run

Summary

Gaze-Based Control

Ethan, the walker

Artificially intelligent Ethan

The NavMesh bakery

A random walker in the town

The RandomPosition script

"Zombie-ize" Ethan!

Go where I'm looking

The LookMoveTo script

Adding a feedback cursor

Observing through obstacles

If looks could kill

The KillTarget script

Adding particle effects

Cleaning up

Short intro to Unity C# programming

Summary

Handy Interactables

Setting up the scene

Creating a balloon

Making it a prefab

Basic button input

Using the Fire1 button

OpenVR trigger button

Daydream controller clicks

Polling for clicks

Our own button interface functions

Creating and releasing balloons

Inflating a balloon while pressed

Using scriptable objects for input

Creating the scriptable object

Populating the input action object

Accessing the input action object

Simulation testing with scriptable objects

Using Unity events for input

Invoking our input action events

Subscribing to input events

Really using your hands

Parenting balloons to your hand

Popping balloons

Interactable items

Interactables using SteamVR Interaction System

Interactables using Daydream VR Elements

Summary

World Space UI

Studying VR design principles

A reusable default canvas

Visor HUD

The reticle cursor

The windshield HUD

The game element UI

Using TextMeshPro

Info bubble

An in-game dashboard with input events

Creating a dashboard with buttons

Linking the water hose to the buttons

Activating buttons from the script

Look to highlight a button

Looking and then clicking to select

Looking and starting to select

Pointing and clicking with VR components

Using Unity UI and SteamVR

Using Unity UI and Daydream

Building a wrist-based menu palette

Summary

Locomotion and Comfort

Understanding Unity characters

Unity components

The Camera component

The Rigidbody component

The Character Controller component

Unity Standard Assets

ThirdPersonController

AIThirdPersonController

First-person FPSController

RigidBodyFPSController

Using glide locomotion

Move in the direction you're looking

Keep your feet on the ground

Don't pass through solid objects

Don't fall off the edge of the world

Stepping over small objects and handling uneven terrain

Starting and stopping movement

Adding comfort mode locomotion

Other locomotion considerations

Techniques for teleportation

Looking to teleport

Teleporting between surfaces

Teleport spawn points

Other teleport considerations

Teleportation toolkits

Teleporting with SteamVR Interaction System

Teleporting with Daydream Elements

Resetting center and position

Supporting room scale teleportation

Managing VR motion sickness

Summary

Playing with Physics and Fire

Unity physics

Bouncy balls

Managing game objects

Destroying fallen objects

Setting a limited lifetime

Implementing an object pool

Headshot game

Paddle ball game

Deflector versus paddle

Shooter ball game

Juicing the scene

Great balls of fire

Skull environment

Audio synchronization

Summary

Exploring Interactive Spaces

Level design with Blender

Defining the walls

Adding a ceiling

Assembling the scene in Unity

The gallery room level

The artwork rig

The exhibition plan

Adding pictures to the gallery

Managing art info data

Using lists

Using data structures

Using scriptable objects

Displaying the art info

Creating the title plaque

Interactive info details

Adjusting for image aspect ratio

Moving around the gallery

Teleporting between pictures

Teleporting with SteamVR Interaction System

Teleporting with Daydream Elements

Room-scale considerations

Animating a ride-through

Summary

Using All 360 Degrees

360-degree media

Equirectangular projections

VR is hacking your field of view

180-degree media

Stereo 360-degree media

Fun with photo globes

Crystal balls

Globes

Rendering photospheres

Writing a custom Inward shader

Magic orbs

Photospheres

Playing 360-degree videos

Using Unity skyboxes

Six-sided or cubemap skyboxes

Spherical panoramic skyboxes

360 video skyboxes

3D stereo skyboxes

Capturing 360-degrees in Unity

Capturing cubemaps and reflection probes

Using a third-party package for 360 image capture

Unity built-in stereo 360 image and video capture

Summary

Animation and VR Storytelling

Composing our story

Gathering the assets

Creating the initial scene

Timelines and Audio tracks

Using a Timeline to activate objects

Recording an Animation Track

A growing tree

A growing bird

Using the Animation editor

A wafting nest

Animating other properties

Animating lights

Animating a scripted component property

Controlling particle systems

Using Animation clips

Shaking an egg

Using Animator Controllers

Definitions for Animation and Animator

ThirdPersonController Animator

Living Birds Animator

Learning to fly

Hacking the birds

Fly away!

Making the story interactive

Look to play

Resetting the initial scene setup

More interactivity ideas

Summary

Social VR Metaverse

Multiplayer networking

Networking services

The network architecture

Local versus server

The Unity networking system

Setting up a simple scene

Creating a scene environment

Creating an Avatar head

Adding multiplayer networking

Network Manager and HUD

Network Identity and sync Transform

Running as a host

Adding spawn positions

Running two instances of the game

Associating Avatar with the first-person character

Adding a matchmaking lobby

Syncing objects and properties

Setting up the headshot ball game

Spawning the ball over the network

Synchronizing the ball transform

State variable synchronization

Advanced networking topics

Options for voice chat

Using Oculus platform and avatars

Oculus platform entitlement check

Adding a local avatar

Adding remote avatars

Building and sharing custom VRChat rooms

Preparing and building the world

Summary

Optimizing for Performance and Comfort

Using the Unity Profiler and Stats

The Stats window

Overview of the Profiler

Optimizing your art

Setting up the scene

Decimating models

Transparent materials

Levels of detail

Optimizing your scene with static objects

Setting up the scene

Lighting and baking

Occlusion culling

Optimizing your code

Understanding the Unity life cycle

Writing efficient code

Avoiding expensive API calls

Optimizing the rendering

Life's a batch

Multipass pixel filling

VR-optimized shaders

Runtime performance and debugging

Daydream

Oculus

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部