Skip to content

Get Started

Hannah edited this page Jun 28, 2021 · 30 revisions

In this section, we will give you a very short introduction to the toolkit by guiding you to get started with a simple test redirection scenario. If you want to create your own redirection scenario or test a new redirection algorithm you will find more help in the Tutorial section. But we recommend you to start with this short and quick introduction.

Requirements

Get Started with Our Test Scene

Import Package

  • Create a new Unity project
  • Import the HaRT_core Unity package: Asset->Import->CustomPackage -> HaRT_core

Set Up your project

  • Since Unity is not able to import layers, create these five new layers in your project:
    • Physical/Hand
    • Physical/Object
    • Virtual/Hand
    • Virtual/Object
    • Visualization

Layer Setup

Open the Test Scene

  • Go to Plugins/ExampleScenes/ and open the GetStarted.unity
    Scene selection

  • The Scene:
    Screenshots
    Here you can see a top-down view of the GetStarted scene. In general, white objects present physical objects and green objects the virtuals. Our body is represented as a white sphere. So, in this scenario, we have a physical cube in front of us and a slightly right-shifted virtual cube. We now want to reach with our virtual hand the virtual cube in the virtual world while we reach with our physical hand the physical cube in the real world.

  • Make sure that the game view is on Display 1 and hit Play

Redirect!

  • You can now move your hand with the mouse while holding the left mouse button

    • Scroll with your mouse wheel while holding the left mouse button to move the hand upwards/downwards
  • Hit spacebar to start redirecting to the target

Become Familiar

We recommend you to read over this Wiki to get an understanding of how the different components work together. You can now continue with more Tutorials or try to play with some settings in this scene:

  • Most settings can be customized/changed in the [Redirection Manager](Redirection Manager)
  • You can add/change virtual and physical objects, see more in [Set Up the World](Set Up the World)
  • Or test the current scene with your VR setup, for this, continue reading this page.

Optional Setup

Steam VR

The HaRT_core package includes all important files to run the toolkit with or without VR.

To use the toolkit in VR:

Option 1:

Use one of the VR example scenes as a starting point, for example /ExampleScenes/VR/BlockIllusionExample_VR.unity.

Important: after starting the scene, please remember to switch the Movement option in the Redirection Manager to VR (instead of Mouse). Currently, this needs to be done each time you start the scene but we are working on a more elegant solution right now.

VR selection

Option 2:

To add VR support to a scene that already works without VR, perform the following steps:

  • Open the scene
  • Add SteamVR's SteamVR/Prefabs/[CameraRig] to the scene by dragging & dropping it into the hierarchy
  • Navigate to the Camera in the [CameraRig] and deselect under Culling Mask both Physical->Hand and Physical->Object (unless you want to render physical objects in the VR view for debugging purposes).
  • Select the Model GameObjects under Controller (right) and Controller (left) in the [CameraRig] and set the Shader in the SteamVR_Render_Model component to Standard (instead of None; see also here)
  • Select the RedirectionManager (child of the HaRT_core GameObject) and set the Tracked Hand in the Movement Controller to the GameObject representing your tracked controller/hand (for example: Controller (right))
  • Save the scene
  • Hit Play Important: after starting the scene, please remember to switch the Movement option in the Redirection Manager to VR (instead of Mouse). Currently, this needs to be done each time you start the scene but we are working on a more elegant solution right now.
  • Hit spacebar to activate the redirection if it is one of our example scenes
  • Redirect in VR!

Leap Motion

  • Make sure you have finished the Get Started section above successfully
  • Download and install the Unity Leap Modules (Additional help)
  • Import the Core.unitypackage that you downloaded from Leap
  • Download the HaRT_Leap package from our github page
  • Import the hrt_Leap Unity package into your existent Unity project: Asset->Import->CustomPackage -> HaRT_Leap
  • Go to /ExampleScenes/ and open the LeapMotionExample.unity
  • Hit Play

Important: after starting the scene, please remember to switch the Movement option in the Redirection Manager to LeapMotion (instead of Mouse). Currently, this needs to be done each time you start the scene but we are working on a more elegant solution right now. Leap selection

Blink-Suppressed Hand Redirection (VR Example with SRAnipal)

  • Make sure you have finished the Get Started section above successfully (incl. SteamVR SDK imported into your project)
  • Download the SRAnipalInstaller and the SRAnipal SDK from the Developer Vive Page. You have to create an HTC Vive Account in order to download the files. You can find instructions to help you get started in the following Forum Post: Getting Started Steps.
  • Run the SRAnipalInstaller, extract the files from SDK.zip and import the Vive-SRanipal-Unity-Plugin.unitypackage from SDK/02_Unity.
  • Download the HaRT_VR_BlinkSuppressedHandRedirection.unitypackage from our github page
  • Import the HaRT_VR_BlinkSuppressedHandRedirection.unitypackage into your Unity project: Assets -> Import-> CustomPackage -> HaRT_VR_BlinkSuppressedHandRedirection
  • You have different options to setup the scene:
    • Either run the example scene at Assets -> Example Scenes -> VR -> BlinkSuppressedHandRedirection
    • Or perform a manual setup:
      • Follow the instructions under Optional Setup -> SteamVR above.
      • Add the BodyWarping_Zenner_Regitz_Krueger_BSHR Prefab to your scene.
      • Make the following changes to the BlinkDetector script in the Inspector:
        • Select a camera (e.g. HaRT_VR -> [CameraRig] -> Camera).
        • Select a virtual hand (e.g. HaRT_VR -> Player -> VirtualHand -> SimulatedHand -> hands:r_hand_world -> hands:b_r_hand).
      • Select BodyWarping_Zenner_Regitz_Krueger_BSHR as Redirection Technique in the RedirectionManager and select VR as Movement option.
  • Additional Options: You can simulate a blink by pressing B on your keyboard if you select the option "Test With Key B". For further options and settings please see the tooltips on BlinkDetector.cs.