• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
problema rotazione torretta
#1
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.
 
Rispondi
#2
Ciao, puoi postare lo script che stai usando?
 
Rispondi
#3
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;
}
 
Rispondi
#4
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
 
Rispondi
#5
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
 
Rispondi
#6
quando provo a sostituire la stringa mi da un errore: (14.114) : BCE0044: unexpected char : 0x200b
 
Rispondi
#7
Prova a cancellare quelle 2 righe e poi a riscriverle (senza fare copia-incolla)
 
Rispondi
#8
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
 
Rispondi
#9
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
 
Rispondi
#10
finalmente ho risolto il problema. Grazie!!
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  script rotazione sprite giggimito 8 997 23-12-2014, 01:38 AM
Ultimo messaggio: Blackg96
  Script rotazione PàOlo_TM 4 660 12-07-2013, 11:13 PM
Ultimo messaggio: Cervian

Vai al forum:


Browsing: 1 Ospite(i)