x


missile homing script help

Hello guys! Help me please do a missile homing, I want get effect, like this:

alt text

I found answer here, but it write next

" Cannot convert 'UnityEngine.GameObject' to 'UnityEngine.Transform'."

Can you say what i must remake, to get missile homing please? I use following script:

For my Rocket Launcher

 var projectile : Rigidbody;
 var initialSpeed = 20.0;
 var reloadTime = 0.5;
 var ammoCount = 20;
 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--;
     }
 }

And this for my rocker

 // The reference to the explosion prefab
 var explosion : GameObject;
 var timeOut = 3.0;
 
 // Kill the rocket after a while automatically
 function Start () {
     Invoke("Kill", timeOut);
 }
 function OnCollisionEnter (collision : Collision) {
     // Instantiate explosion at the impact point and rotate the explosion
     // so that the y-axis faces along the surface normal
     var contact : ContactPoint = collision.contacts[0];
     var rotation = Quaternion.FromToRotation(Vector3.up, contact.normal);
     Instantiate (explosion, contact.point, rotation);
 
     // And kill our selves
     Kill ();    
 }
 
 function Kill () {
     // Stop emitting particles in any children
     var emitter : ParticleEmitter= GetComponentInChildren(ParticleEmitter);
     if (emitter)
         emitter.emit = false;
 
     // Detach children - We do this to detach the trail rendererer which should be set up to auto destruct
     transform.DetachChildren();
         
     // Destroy the projectile
     Destroy(gameObject);
 }
 
 @script RequireComponent (Rigidbody)



I would try use script below, for missile homing, but one line (target = tar; //This line report a bug) report a bug " Cannot convert 'UnityEngine.GameObject' to 'UnityEngine.Transform'."

 var targetTag : String;
 var target : Transform;
 var speed : float = 5;
 
 function Start () {
     var tar = GameObject.FindWithTag(targetTag);
     if(tar)
     target = tar;  // report a bug
 }    
 
 function Update () {
      transform.lookAt(target);
      transform.Translate(Vector3.forward*speed*Time.deltaTime);
 }




tank.jpg (104.2 kB)
more ▼

asked Jan 02, 2013 at 12:15 PM

daymont87 gravatar image

daymont87
34 37 36 38

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

these three lines of code

 var tar = GameObject.FindWithTag(targetTag);
 if(tar)
 target = tar;

should be, for example, like this:

 var ttt:GameObject;
 ttt = GameObject.FindWithTag(targetTag);
 if ( ttt )
   target = ttt.transform;


if this answers this question, please "TICK" it to close it out. Don't hesitate to ask new different questions ok. Cheers!

(fixed a grammar mistake there, sorry)

more ▼

answered Jan 02, 2013 at 12:31 PM

Fattie gravatar image

Fattie
27.2k 331 685 410

Yes, I did it already, but anyway - my Rocket would not flies into the target, it just flies forward (

Jan 02, 2013 at 01:19 PM daymont87

I attached it into the rocket, and it work, thanks)

var speed : float = 5;

function Update () { var target = GameObject.FindWithTag("Player1"); transform.LookAt(target.transform); transform.Translate(Vector3.forward*speed*0.5); }

Jan 02, 2013 at 05:29 PM daymont87
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x62
x60
x30

asked: Jan 02, 2013 at 12:15 PM

Seen: 1790 times

Last Updated: Jan 02, 2013 at 05:29 PM