Oh no… that is really bad… but thankfully there are solutions and tricks for anything in life.
I made a small script that is almost perfect for that, still didn’t make enough test in game.
On Y angle it works perfectly, the problem is on x and z, that it kinda twist. But, inside oculus rift it is almost unperceptive.
If anyone wanna try to make it better or use it the way it is, I think it is working.
Here is the rig I had to do for the camera to stop moving:
Here is the script:
using UnityEngine;
using System.Collections;
public class FreezeOculus : MonoBehaviour {
Transform cam;
public Transform camFather;
// Use this for initialization
void Start () {
cam = gameObject.transform;
}
// Update is called once per frame
void LateUpdate () {
Vector3 newRot = cam.transform.localEulerAngles;
Quaternion newRotWorld = cam.transform.localRotation;
camFather.localRotation = new Quaternion(-newRotWorld.x, -newRotWorld.y, -newRotWorld.z, 1);
camFather.localEulerAngles = new Vector3(camFather.eulerAngles.x, -newRot.y, camFather.eulerAngles.z);
}
void OnDisable()
{
camFather.localEulerAngles = Vector3.zero;
}
}
I am basically rotating the parent on the opposite side of the camera, on Y it is pretty simple with euler angles, but it is hard to control on X and Z since it seems that on affect the other. But in oculus is almost unperceptive, as I said before.
Hope someone can make it better, it is just a concept yet… hhehehee… but it is working
All right… I tested in game… it is working… not good for my stomach though… :x like 5 seconds of cg… the head track makes lots of difference for the sickness… Or maybe I am just weak for it… hahaha