Creare Videogiochi - Game Developer

Versione completa: problema rotazione torretta
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
ho un problema, la mia torretta non ruota. guardate http://es.tinypic.com/view.php?pic=28l3ur5&s=8

lo dovrebbe seguire tramite target ( se muovo il cubo la torretta ruoata per seguirlo) ma il modello non si mette nalla posizione giusta.
Ciao, puoi postare lo script che stai usando?
si,ecco

function Update ()
{
nemico = GameObject.FindWithTag("Nemico");
transform.LookAt(nemico.transform);
if(on && Vector3.Distance(nemico.transform.position, transform.position)<distanza)
{
Sparo();
on = false;
}
}

function Sparo ()
{
var Bullet : GameObject = Instantiate(colpo, SpawnBullet.position, SpawnBullet.rotation);
Bullet.rigidbody.AddForce (SpawnBullet.forward * Forza);
yield WaitForSeconds (TempoRicarica);
on = true;
}
Noto che ci sono anche altri problemi nello script che hai postato.
Io te li segnalo, anche se dubito, da quello che leggo, che tu abbia un'esperienza sufficiente per apprezzarli. Big Grin
Cose come usare direttamente una stringa invece di avere una classe che espone tutti i nomi dei tag come stringhe costanti, fare un comparazione tra distanze invece che tra quadrati delle stesse, istanziare oggetti invece di avere un pool... Smile

Alcune di queste cose sono spiegate in un mia vecchia presentazione. Tongue
Ciao, ecco qui una piccola parte dello script che dovrai mettere al posto di "transform.LookAt(nemico.transform);" :
Citazione: var targetPos: Vector3 = Vector3(nemico.transform.position.x,this.transform.position.y,nemico.transform.position.z);
transform.LookAt(targetPos);

Per qualsiasi altro problema chiedi pure Smile
quando provo a sostituire la stringa mi da un errore: (14.114) : BCE0044: unexpected char : 0x200b
Prova a cancellare quelle 2 righe e poi a riscriverle (senza fare copia-incolla)
ho creato un modello nuovo di torretta http://es.tinypic.com/view.php?pic=16c9q...eBvQvntlHw ma il problema è sempre quello.
forse è il modello 3D
Dubito che sia un problema del modello della torretta.
Questo è lo script(in JS) completo per far ruotare la torretta in modo che miri il cubo:
Citazione:#pragma strict

public var target: Transform;
function Start () {

}

function Update () {
var targetPos: Vector3 = Vector3( target.position.x,this.transform.position.y,target.position.z);
transform.LookAt(targetPos);
}

quetso in CS(il file si deve chiamare "looking.cs"):
Citazione:using UnityEngine;
using System.Collections;

public class looking : MonoBehaviour {

public Transform target;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
Vector3 targetPostition = new Vector3( target.position.x,
this.transform.position.y,
target.position.z ) ;
this.transform.LookAt( targetPostition ) ;

}
}
Dopo aver aggiunto uno di questi due script alla torretta, metti come variabile "target" il cubo che deve seguire.
Provare a vedere se almeno uno di questi due script funziona, e nel caso in cui funzionasse, usarlo come base.
Spero che funzioni Big Grin
finalmente ho risolto il problema. Grazie!!