Moving.Rotating a Raycast with Respect to Rotation
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.
Huh yeah, for some reason the comma is included in the hyperlink. This should fix it.
Answer by Glurth · Jul 19, 2016 at 07:31 PM
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);
(https://docs.unity3d.com/ScriptReference/Transform-up.html)
Yeah my script more or less does that. Will try subtracting transform.up. Thanks! :D
great! Since it works, please accept it as the answer.
Your answer
Follow this Question
Related Questions
Gyroscope Controls for FPS 0 Answers
How to make a 2D rigidbody vertically when input is via the gyroscope 0 Answers
Im trying to make a player move 360 degree gyroscopic movement on my phone 0 Answers
Sleep phone when not in motion 0 Answers
Deselecting all the other Units when selecting a Unit 0 Answers