- Home /
Oculus Raycast jumping and off
Hi guys,
I'm trying to do a simple raycast towards where the user is looking, so he can pick up items and move them. However, my raycast is acting oddly, not staying put in one place. This is caused by the VR Supported setting, as it doesn't happen when I disable this.
As for how the project is setup: the script below is attached to the maincamera, that is a child of the RigidbodyFpsController
The camera attached to the FpsController seems to jump up and down in rotation and position slightly every frame. Perhaps this has something to do with it.
A little GIF of my problem can be found here: https://gyazo.com/5a4efd10b577d16c02b415e2d0efa15f A second problem is that my raycast is different in the standalone than in the editor (its right in the editor, and way off in the standalone. What causes this?
Thanks!
void Update()
{
if (manusActivated == true)
{
handDataUpdate(); //Get data from hands and set bools with it
}
drawRayCast();
if (Physics.Raycast(faceRay, out hit))//If something is hit
{
setObject(); //Select object that is looked at when none is selected yet
manipulateObject(); //Check if an object is selected, if so, allow manipulation
}
}
void setObject()
{
hitp = hit.point;
//If the raycast hits object with the right tag and nothing is selected yet
if (hit.collider.gameObject.HasTag("SelectableObject"))
{
if (objectToMove == null)
{
objectToMove = hit.collider.gameObject;
objectToMoveSelected = true;
}
}
}
void drawRayCast()
{
Debug.DrawRay(transform.position, transform.forward * 20, Color.green); //Draw line to debug
faceRay = new Ray(transform.position, transform.forward); //Create raycast
}
Answer by Thomvdm · Mar 30, 2016 at 01:07 PM
After being stuck on this for days, I found the solution: changing the Smooth Time of the RigidBodyFPSController from 18 (standard) to 1, or whatever works for you, fixes this. No idea why, but it does.
Answer by 7a · Mar 29, 2016 at 07:02 PM
I'd suggest You to take a look at Gaze Input implementation in Unity VR tutorial in learning section http://unity3d.com/learn/tutorials/topics/virtual-reality/interaction-vr?playlist=22946 and sample scenes https://www.assetstore.unity3d.com/#!/content/51519 it's a bit tricky and instantly changing there.
I've tried their exact method with their exact scripts and the raycast keeps bouncing to the left and right as in the .gif.
It's weird because it's worked for me I mean detecting what a player is looking at and highlight it. I used their ray caster script. I've got it on github If You are interested in using existing solution ins$$anonymous$$d of finding out how to make it from the ground up.