Book Image

Getting Started with React VR

By : John Gwinner
Book Image

Getting Started with React VR

By: John Gwinner

Overview of this book

This book takes you on a journey to create intuitive and interactive Virtual Reality experiences by creating your first VR application using React VR 2.0.0. It starts by getting you up to speed with Virtual Reality (VR) and React VR components. It teaches you what Virtual Reality (VR) really is, why it works, how to describe 3D objects, the installation of Node.js (version 9.2.0) and WebVR browser. You will learn 3D polygon modeling, texturing, animating virtual objects and adding sound to your VR world. You will also discover ways to extend React VR with new features and native Three.js. You will learn how to include existing high-performance web code into your VR app. This book will also take you through upgrading and publishing your app. By the end of this book, you'll have a deep knowledge of Virtual Reality and a full-fledged working VR app to add to your profile!
Table of Contents (20 chapters)
Title Page
Credits
About the Author
Acknowledgements
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Something more visual


We've done some neat interactivity, which is fantastic, although another big reason to use three.js directly is to do something rendering wise that React VR cannot do. Well, actually, React VR can do some amazing things through Native methods, so let's do exactly that.

First, let's change our cube from bouncing around to spinning as well. It'll look more impressive when we add some of the visual effects.

Let's also add a few spheres around. We'll want some things to reflect. I chose reflection as an impressive thing that you cannot really do in real time with WebVR currently, although we can do something really close to it through environment mapping. For a fairly long discussion of what environment mapping is, you can go to: http://bit.ly/ReflectMap

Add the following code to your existing index.vr.js, below the </VrButton>:

     <Sphere
      radius={0.5}
      widthSegments={20}
      heightSegments={12}
      style={{
        color: 'blue',
        transform...