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;

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

    // Destroy the projectile

@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);
    target = tar;  // report a bug

function Update () {
tank.jpg (104.2 kB)
more ▼

asked Jan 02, 2013 at 12:15 PM

daymont87 gravatar image

34 37 35 36

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

1 answer: sort voted first

these three lines of code

var tar = GameObject.FindWithTag(targetTag);
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

27k 320 677 400

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



Answers and Comments



asked: Jan 02, 2013 at 12:15 PM

Seen: 1639 times

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