cancel
Showing results for 
Search instead for 
Did you mean: 

DK2 + Leap Pinch Utillity - Making the camera move in sync with the orientation the HMD is facing

DinisFabio
Sightseer
Hey guys,

At the moment I'm getting some trouble in making the camera movement follow the HMD camera orientation. 

In Leap Pinch Utility you get a scene which has LMHeadMountedRig and a few child objects which allows you to interact with objects in the scene (just to simplify things. It's a bit more complex).

I made a script that allows me to move my camera, which is a component of CenterEyeAnchor (child of LMHeadMountedRig). The scene is played and, of course, I'm with my HMD. I can move with WASD using my script, but the problem occurs when I turn my head (let's say to the left). The reference system (axis) turn but I'm still pressing W and going in front. Like your body goes one way but your head is looking to the left.

I hope I could explain the issue. English isn't my native language, so sorry in advance if the text is a bit messy. 

The script that allows me to move the camera is this (very simple, and I believe not the brightest)
-------------------------------------
using UnityEngine;
using System.Collections;

public class Teste_movement : MonoBehaviour {



void Update () {

//transform.Translate(Vector3(-Input.GetAxis("Horizontal") * speed * Time.deltaTime, -Input.GetAxis("Vertical") * speed * Time.deltaTime, 0.0));

if (Input.GetKey(KeyCode.W)){

transform.Translate(Vector3.forward * Time.deltaTime,Space.Self);
Debug.Log ("Moving forward");

}
if(Input.GetKey(KeyCode.A)){

transform.Translate(Vector3.left * Time.deltaTime, Space.Self);
Debug.Log ("Moving left");

}
if(Input.GetKey(KeyCode.S)){

transform.Translate(Vector3.back* Time.deltaTime, Space.Self);
Debug.Log ("Moving back");
}

if(Input.GetKey(KeyCode.D)){

transform.Translate(Vector3.right * Time.deltaTime, Space.Self);
Debug.Log ("Moving right");

}

}

}
--------------------------------------------------------------------------------------

I tried using FPSController, RigidBodyFPSController prefabs with LMHeaMountedRig but none of them worked.

Hope you guys can help me.

Thank you





1 REPLY 1

DinisFabio
Sightseer
Solved 😉 Just made my container's transform.translate match the Camera.main.transform.forward or Camera.main.transform.right. Multiply by 1 or -1 to get the back and left directions.