So I have a raycast pointing forward originating from one unit below my camera and I am rotating my camera based upon the orientation of a gyroscope. The problem is the raycast doesn’t move when I turn the camera and as a result, when I look downward, I can see the raycast origin in the center of the screen. What I want is for the ray to always be “below” the camera such that no matter what the camera orientation is, the ray will originate from below the screen. Any idea how I achieve this? Also if anyone knows how to solve this question here: http://forum.unity3d.com/threads/gyroscope-quaternion-to-unity-camera-help-please.75288/ , that would be greatly appreciated. I get that I need to add an offset but I have no clue what it is.
I suspect you are settings the source of your ray with something like
rayorigin=camera.transform.poistion- (dist*Vector3.up);
In this case Vector3.up is fixed in world space.
Instead use the transform’s world “up”:
rayorigin=camera.transform.poistion- (dist*camera.transform.up);