Steam VR setup Tutorial #2 - Teleporting around your scene
Aims
The aim of this tutorial is to show you how to enamble the teleporting feature included in the Steam VR 2.2 plugin.
Please notice that this is part of a series of tutorials progressing from basic concepts to more functional and complex proyects. In previous pages we already explored how to setup the scene you are expected to use for this tutorial.
Prerequisites
-
Setting up the Steam VR plugin.
Steam VR setup tutorial# 1
Getting started
In the Steam VR setup tutorial #1, we downloaded the Steam VR plugin and placed the "Player" prefab on our scene, in this tutorial we are going to setup the teleporting feature also included in the plugin, we are alo going to add a few teleporting spots to jump from one area to another. With our previous project open, please type "Teleporting" into the search box of the project panel.
Now just drag and drop the Teleport prefab into your "Hierarchy" panel, this will automatically enable the Teleport feature on both of your controllers, Before we test it, it is a good idea to change the defaul floor material in order to be able to clearly see the "Bézier curve". Please select your Assets folder in the Project pannel and right click to create a new material and name it "Blue".In order to keep things tidy, we recommend creating a "Materials" folder, then dragging your new material inside of it.
With your material selected, look at the inspector panel, you will see all the properties asociated to your material, please click on the color picker next to the Albedo slot.
You will see a color window, please drag both white circles in order to get the desired shade of blue, to finish just close the color window.
To apply your material, just drag it and drop it on top of the plane in the scene window.
Now we need to create a teleport area that will sit on top of our plane, the easiest way to achieve this is by duplicating our existing plane so right click over the plane gameObject in the "Hierarchy" and select duplicate.
In order to keep things tidy, let's rename our new gameObjet and place it underneath the "Teleport" prefab.
Now let's add the "Teleport Area" script to our new gameObject, please notice that if you are importing a custom mesh to use it as a Teleporting Area you have to make sure that it has a "Mesh collider" component attached, in this case, as we duplicated a 3D object created directly in Unity, the Mesh collider is attached by default. With the "Teleporting Area" gameObject selected, click the "Add component" button in the "Inspector" panel and type "Teleport Area" and click over the "Teleport Area" script.
Finally, we need to move the "Teleporting Area" slightly up to place on top of the first plane, this is to avoid conflict between the colliders on both of the planes, With the "Teleport Area" gameObject selected, type "0.1" in the "Y" position slot of the transform component.
Now we are ready to test the Teleporting feature, Just hit the "Play" button. Once inside of your scene, please press the "Trackpad" button, you will see a "Bézier curve" projecting from the front of your controller to the ground. Try changing the angle of your controller in order to move the landing point, then, just let go the button and you will be teletransported to that location.