Creare Videogiochi - Game Developer
problema rotazione torretta - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: problema rotazione torretta (/thread-problema-rotazione-torretta)



problema rotazione torretta - giggimito - 27-08-2015

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.


RE: problema rotazione torretta - Zettamax - 27-08-2015

Ciao, puoi postare lo script che stai usando?


RE: problema rotazione torretta - giggimito - 27-08-2015

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;
}


RE: problema rotazione torretta - encelo - 27-08-2015

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


RE: problema rotazione torretta - Zettamax - 28-08-2015

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


RE: problema rotazione torretta - giggimito - 28-08-2015

quando provo a sostituire la stringa mi da un errore: (14.114) : BCE0044: unexpected char : 0x200b


RE: problema rotazione torretta - Zettamax - 28-08-2015

Prova a cancellare quelle 2 righe e poi a riscriverle (senza fare copia-incolla)


RE: problema rotazione torretta - giggimito - 28-08-2015

ho creato un modello nuovo di torretta http://es.tinypic.com/view.php?pic=16c9qax&s=8#.VeBvQvntlHw ma il problema è sempre quello.
forse è il modello 3D


RE: problema rotazione torretta - Zettamax - 28-08-2015

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


RE: problema rotazione torretta - giggimito - 28-08-2015

finalmente ho risolto il problema. Grazie!!