2015-05-20 10 views
5

Ho davvero ucciso poche ore per provare a risolvere questo problema, cercando una soluzione, ma non ci sono riuscito.: dopo aver aggiunto la coppia il veicolo inizia a spostarsi lateralmente

Ho un veicolo, è un go-cart, quindi non ci sono sospensioni (tecnicamente ci sono, ma i valori sono vicini a 0, per simulare le gomme). Il veicolo ha un corpo rigido attaccato e l'oggetto secondario contiene i 4 colliders ruota (e il modello stesso), come si può vedere qui:

https://dl.dropboxusercontent.com/u/76599014/sxc/Clipboard01.jpg

Per il test, ho aggiunto un breve script per rendere il veicolo mossa. È nel GameObject chiamato "gokart":

public class carControler : MonoBehaviour { 

public WheelCollider fr, fl, rr, rl; 
public float performance = 50f; 

void FixedUpdate() { 
    throttle(); 
} 

public void throttle() { 

    this.rl.motorTorque = this.performance; 
    this.rr.motorTorque = this.performance; 
} } 

ciò che accade è: i posteriori ruote iniziano a ruotare , come previsto, ma il veicolo inizia a muoversi lateralmente lentamente. La velocità di movimento dipende dalla quantità di coppia (la rotazione della ruota in questo caso). C'è senza movimento in avanti, quindi questo non è il bug, dove quando si è in piedi su una superficie piana si sta andando alla deriva sui lati.

Qualche idea? Se hai bisogno di un video o di una GIF (devo capire come crearne uno), sarò lieto di fornirne uno.

+0

hmm, sei sicuro che tutti gli assi su oggetto e ruote puntino in avanti? (la freccia blu indica in avanti) controllala su un'altra, finta auto che fa da scatole e cilindri e poi guarda i risultati. se il suo problema con gli assi è necessario cambiare la loro direzione. – Nick

risposta

1

Penso che dovresti provare ad applicare 0 coppia frenante alle ruote anteriori mentre applichi la coppia del motore alle ruote posteriori.

public void throttle() { 

this.rl.motorTorque = this.performance; 
this.rr.motorTorque = this.performance; 
this.fr.brakeTorque = 0f; 
this.fl.brakeTorque = 0f; 
} 

Detto questo, tutto può andare storto se il Rigidbody/wheelcollider non è impostato correttamente. I raccoglitori di ruote di Unity possono essere difficili da configurare e lavorare. Unity ha cambiato la fisica in Unity 5, quindi la maggior parte delle documentazioni è obsoleta.

Ho trovato questo molto buono breve documento che è stato fatto per l'unità: http://unity3d.com/profiles/unity3d/themes/unity/resources/downloads/beta/unity-5.0-user-guide.pdf

Si mette in evidenza i cambiamenti che è stato fatto per l'unità 5 e alla fine della pagina 5 è possibile trovare una sezione che spiega come impostare un'automobile. L'ho provato circa un mese fa in un nuovo progetto di unità e ha funzionato. le istruzioni sono chiare quindi prova questo tutorial e spero che possa aiutarti.

Saluti

Problemi correlati