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: Screen capture - 5a4efd10b577d16c02b415e2d0efa15f - Gyazo 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
}