Moving an object along the ray
http://giphy.com/gifs/3oEduQOvpmTX49TMQg
When I press fire button I want a projectile move along the ray with the given speed. How do I achieve that? I'm sure it has to do something with transform.translate and ray.getpoint, but I can't wrap my head around it. Thanks.
First of all, don't answer to your own questions if you don't have an answer. Use comments on your questions or edit them, to go up again.
Second patience is key!
Answer by OctoMan · Oct 24, 2015 at 08:18 PM
Let a bullet fly in in a specific direction you can just say:
void Update ()
{
transform.Translate (Vector3.forward * Time.deltaTime * ShotSpeed);
}
Vector3.forward can also be Vector3.left Vector3.up Vector3.down etc. It depends on your instantiation!
Just saw your gif. Your bullet spawnpoint (maybe an empty gameobject) just needs to be in the localspace of your rotating gun.
If you want to keep the bullet in the local space of the bulletspawn while in the direction, you need to make the bullet the child of your bullet spawnpoint directly after instantiating it. So it will rotate together with the bulletspawn and flys in the direction you gave the bullet.
So if your bulletspawn is instatiating the bullet for example you can do:
GameObject obj = Instantiate(Bullet,transform.position, transform.rotation) as GameObject;
obj.transform.parent = transform;
This should work.
Your answer
Follow this Question
Related Questions
Raycast are not always updating in FixedUpdate 0 Answers
Checking whether an object is being hit by a ray 2 Answers
Unity Raycasting Issue 1 Answer
change angle towards direction 1 Answer
Ray from camera not working in VR? 0 Answers