Unity3D Tutorial-Serie: #6 – Scripting mit Javascript und Mathf
Dieser Artikel gehört zu einer ganzen Tutorial Serie. Hier gelangt Ihr zu der Artikelübersicht: Unity3D Tutorial Serie .
In dem sechsten Teil meiner Unity 3D Tutorial Reihe will ich nun dort weiter machen, wo ich beim letzten Teil aufgehört habe, und zwar bei der GUI-Entwicklung mit GUIText-Objekten.
In diesem Teil will ich wieder etwas mehr programmieren und mit Hilfe etwas Scripting unser digitales Tacho etwas optimieren.
Inhalt dieses Tutorials
Wie ich bereits beim letzten Mal schon geschrieben hatte, wird das Ziel der nächsten Folgen erstmal sein mit Grafik-Elementen ein schickes analoges Tacho mit Tachoblatt und einer Tachonadel in unserer GUI anzuzgeigen. Aber im ersten Schritt entwickeln wir erstmal ein digitales Tacho mit einer Ziffernanzeige.
So hatten wir auch bereits im vorherigen Unity-Tutorial in einem GUIText-Objekt die Umdrehungen pro Minute unseres Rennautos ausgegeben. Dies war sehr einfach, da die WheelCollider-Komponenten hierfür die Eigenschaft RPM bereitstellen, die die Umdrehungen pro Minute ausgeben.
In diesem Teil wollen wir nun per Scripting aus diesem Wert die Geschwindigkeit berechnen und noch etwas Kosmetik bei der Text-Ausgabe betreiben. Hierbei will ich Euch auch die Unity- Klasse Mathf vorstellen, die dem Spieleentwickler jede Menge mathematischer Funktionen zur Verfügung stellt und das Leben etwas einfacher macht.
Unity 3D Video-Tutorial #6
Nun aber zum neuen Video-Tutorial, viel Spaß mit dem sechsten Teil meiner Unity 3D-Reihe.
Wie hat Euch das Video gefallen? Lob und Kritik (aber bitte konstruktive 😉 ) höre ich immer gerne. Lasst mich wissen wie Euch das Tutorial gefallen hat und auch, was Ihr vielleicht in Zukunf noch weiter vertieft haben möchtet.
Hier geht es zum siebten Teil Unity3D – Das Tacho – GUI, Textures und Rotation .
Über Eure Kommentare freue ich mich jedenfalls immer!
Wie immer Klasse 😉
Danke schön 😉
Gruß Carsten
Auch dieser Teil 1A, vielen Dank!
Das mit dem Runden der Nachkommastellen hatte ich schon versucht, aber nur mit .ToFixed() [wurde vielerorts verwendet beim googeln], das hatte aber nie geklappt. Naja dann eben Mathf, klappt ja. 😀
Freu mich schon auf den nächsten Teil
Will mehr Infos :D. !!! Fiebere schon ganz gespannt auf den nächsten Teil.
@Jonny: Na, das lese ich doch gerne 🙂
Das Video-Tutorial lade ich morgen im Laufe des Tages bei YouTube hoch. Der dazugehörige Artikel mit allen dazugehörigen Download-Dateien wird hier am Montag veröffentlicht.
Carsten
Mein Script sieht so aus:
——————————
var leftWheel : WheelCollider;
var rightWheel : WheelCollider;
var maxTorque= 260.0;
var GuiSpeed : GUIText;
private var current speed =0.0;
function Start () {
GuiSpeed.material.color = Color.black;
rigidbody.centerOfMass.y = 0;
}
function FixedUpdate () {
currentSpeed = (Mathf .PI *2 *leftWheel.radius)*leftWheel.rpm *60 /1000;
leftWheel.motorTorque = maxTorque * Input.GetAxis(„Vertical“);
rightWheel.motorTorque = maxTorque * Input.GetAxis(„Vertical“);
leftWheel.steerAngle = 10 * Input.GetAxis(„Horizontal“);
rightWheel.steerAngle = 10 * Input.GetAxis(„Horizontal“);
GuiSpeed.text = currentSpeed.ToString();
}
—————————
Wenn ich dann das Spiel starte kommt die Meldung:
„Assets/Scripts/Driving.js(6,20): UCE0001: ‚;‘ expected. Insert a semicolon at the end.“
Was mache ich falsch ?
@Tobias: Du hast „current Speed“ statt „currentSpeed“ bei der Deklaration geschrieben: „private var current speed =0.0;“
Gruß Carsten
Danke 🙂