Projectile instantiation positioning is off.

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:

alt text

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,

Somehow you’re instantiating from the wrong place. Check out where the instantiation is called from and see what it is using as a basis to tell your bullet to “spawn from this position”.

… I think you need to divulge more info for a good answer. The script you’re using would help. maybe a screenshot of the hierarchy to see how you’re structuring your objects.

Is it an issue with local versus global positioning perhaps?

I figured out the problem myself. I just needed to move the Launcher/MachineGun Game Object to the correct position.