From Zero to VR Design Hero

Article posted on

2019-11-24

When VR started becoming “the thing” I had a lot of ideas, but no clue how to start. Lack of code skills made this idea simply unreal. But every day the VR community attracted more and more bright minds. People around the world have made amazing applications, plugins and other shortcuts.

Right now online, you can find many solutions that will help you build room-scale VR experience. You even don’t need code experience. I don’t want to repeat lesson from creators, there will be a list of steps from zero, to ready to play VR experience.

Everyone likes destroying and throwing stuff in VR. I’ll create a demo around these ideas. I’ll use Unity and Vive headset with Steam VR.

At the bottom, you’ll find my screencast how I built this.

So let’s get started:

1. Open Unity.

2. Create new 3d project.

3. Install Steam VR from Assets Store.

5. Instal VRTK. Virtual Reality Tool Kit — amazing package, such things shouldn’t be free.

6. Create a cube. It’ll be our ground.

7. Delete default camera and add steam VR camera rig.

8. Create an empty object “VRTK”. We’ll collect here all VRTK related scripts.

9. Add VRTK SDK Manager to VRTK object.

10. Populate licked objects in VRTK SDK Manager.

At this point, you can try to press play and see what you can look around in your headset.

11. Create empty nested objects “Left” and “Right” under VRTK. This is for controllers.

12. Assign controllers objects in VRTK SDK Manager component in VRTK Object.

13. Add “Controller Events” script to both controllers.

14. Add “Simple Pointer” script to both controllers.

15. Under VRTK Object Create empty “Play Area” object.

16. Add Basic Teleporting script to Play area object.

Here you should be able to teleport around. This is not a lot, but a good start.

Next, we are going to make the scene nicer, and add objects that user can throw to ruin totems.

17. Add collider component to static objects. This is to avoid interactable object flying through them. In my video, I uploaded some trees and stones to put them around the scene.

To make object interactable:

18. Add “Rigidbody” component to object that should be interactable.

19. Apply the “Interact Grab” script for right and left controller objects.

20. Apply “Interactable Object” script to object

21. Apply grab attach mechanic “Fixed Joint Grab Attach” to object

22. Assign “Fixed Joint Grab Attach” component as grab attach mechanic.

23. Add secondary grab attach mechanic “Swap Controller Grab Action” to object.

24. Assign secondary grab to attach mechanics component.

25. Select: File -> Build and Run. To save experience as exe file.

26. Voila! Test it.

With this, you can build a simple scene. In my user can throw objects to ruin totems.

Full screencast how I made this:

This is an example for a start. It should be enough to realise that building room size VR experiences isn’t complicated at all. If you knew it I’m wondered that you read this article till the end ;)

There are a lot of other options to get things done, so don’t stop experimenting.

I didn’t go to details because there are more than enough resources about each particular part of the process. But if you’ll have any issues feel free to message me.

To be continued…

Helpful links:

Get a personal version of Unity

YouTube channel VRTK

VRTK readme