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.
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.