Unity 3D Problema Missile Guidato

Stato
Discussione chiusa ad ulteriori risposte.

Guglielmo[3DArtist]

Utente Jade
24 Gennaio 2011
473
102
477
671
ho un problema con lo script del missile, in teoria dovrebbe seguire il nemico in movimento ma quando viene sparato il missile non lo segue. ho fatto un missile prefab ma non mi fa mettere il nemico sul target http://es.tinypic.com/view.php?pic=333ai36&s=8#.Vd-o5fntlHw è un problema dello script?

lo script è semplicissimo
var Target : Transform;

function Start () {

}

function Update ()
{
transform.LookAt(Target);
}
sbaglio?
 
ho un problema con lo script del missile, in teoria dovrebbe seguire il nemico in movimento ma quando viene sparato il missile non lo segue. ho fatto un missile prefab ma non mi fa mettere il nemico sul target http://es.tinypic.com/view.php?pic=333ai36&s=8#.Vd-o5fntlHw è un problema dello script?

lo script è semplicissimo
var Target : Transform;

function Start () {

}

function Update ()
{
transform.LookAt(Target);
}
sbaglio?
Come riportato sulla wiki transform.LookAt(...): Rotates the transform so the forward vector points at /target/'s current position. Quindi dubito che vada.


Codice:
//ti scrivo un pezzetto di codice in c# (non sono pratico con js) ps: non l'ho testato
public float lerp =15f;
void Update()
{
   transform.position = Vector3.Lerp(transform.position,target.position,lerp * Time.deltaTime);
}

Questo dovrebbe far muovere l'oggetto (nel tuo caso il missile) verso la la posizione target.position. NOTA: questo script non tiene conto di eventuali oggetti nel mezzo tra la posizione che deve raggiungere e l'attuale!

Per fare una specie di ia che segue il bersaglio ti consiglio di creare un navMesh e di usare il component NavMesh Agent. Ti rimando a una guida fatta bene su un sito esterno (inglese): http://www.binpress.com/tutorial/unity3d-ai-navmesh-navigation/119
 
public Transform target;
float speed=5;
void Start()
{}
void Update()
{
transform.position=Vector3.MoveTowards(target.position,speed*Time.deltaTime);
transform.LookAt(Target);
}
 
Stato
Discussione chiusa ad ulteriori risposte.