I made some weapons for my FPS game. A Rocket Launcher and a Machine gun. When I fire them the Rocket/Bullet shoots forward but not out of the barrel of the weapons, it shoots out above.
How can I fix this?
Screenshot:
JavaScript:
var projectile : Rigidbody;
var initialSpeed = 50.0;
var reloadTime = 0.5;
var ammoCount = 100.0;
private var lastShot = -10.0;
function Fire ()
{
// Did the time exceed the reload time?
if (Time.time > reloadTime + lastShot && ammoCount > 0)
{
// create a new projectile, use the same position and rotation as the Launcher.
var instantiatedProjectile : Rigidbody = Instantiate (projectile,
transform.position, transform.rotation);
// Give it an initial forward velocity. The direction is along the z-axis of
// the missile launcher's transform.
instantiatedProjectile.velocity = transform.TransformDirection(
Vector3 (0, 0, initialSpeed));
// Ignore collisions between the missile and the character controller
Physics.IgnoreCollision(instantiatedProjectile.collider, transform.root.collider);
lastShot = Time.time;
ammoCount--;
}
}
Projectile JavaScript:
var explosion : GameObject;
function OnCollisionEnter( collision : Collision )
{
var contact : ContactPoint = collision.contacts[0];
var rotation = Quaternion.FromToRotation( Vector3.up, contact.normal );
var instantiatedExplosion : GameObject = Instantiate(
explosion, contact.point, rotation );
Destroy( gameObject );
}
Please can some one tell me if any of these scrips say where the ‘Instantiate’ position is, and how I can change that?
Thank you,