Unity3D Tutorial-Serie: #7 – Das Tacho – GUI, Textures und Rotation
Dieser Artikel gehört zu einer ganzen Tutorial Serie. Hier gelangt Ihr zu der Artikelübersicht: Unity3D Tutorial Serie .
Das heutige siebte Video-Tutorial ist das bislang ausführlichste Video in meiner Unity-Reihe geworden. Beim letzten Tutorial hatten wir mit der Entwicklung eines digitalen Tachos abgeschlossen.
Auf Basis von diesem werden wir nun ein analages Tacho mit einer rotierenden, also drehenden Tachonadel entwickeln. Schließlich soll unser Autorennspiel ja auch ein bisschen nett aussehen.
Inhalt des Tutorials
Durch die Vorarbeiten des letzten Tutorials können wir unsere derzeitige Geschwindigkeit direkt abfragen. Diese zeigen wir momentan mit Hilfe eines GUIText-Objektes in unserer GUI an. In diesem Tutorial möchte ich nun ein „echtes“ Tacho mit beweglicher Tachonadel bauen.
Hierfür gehe ich ein bisschen auf die Grundlagen der GUI-Anzeige ein, gehe auf den GUITexture-Objekttyp ein und erkläre wie man Texturen in der GUI gegeneinander dreht bzw. rotieren lässt. Dabei gehe ich auch darauf ein, warum man so vorgehen muss.
Die Grafikdateien, die Ihr für das analoge Tacho benötigt, könnt Ihr weiter unten dann auch herunterladen.
Unity 3D Video-Tutorial #7
Dieses Tutorial ist doch ein bisschen länger geworden. Und da YouTube nur Videos mit einer Länge von 10 Minuten unterstützt, hab ich diese Folge auf zwei YouTube-Videos verteilt. Behandelt werden die GUI-Funktionen Box und DrawTexture sowie die GUIUtility- Klasse mit der RotateAroundPivot Funktion. Viel Spaß!
Also wundert Euch nicht, warum irgendwann der Text „Gleich gehts weiter…“ erscheint, es kommt kein Werbeblock oder so 😉
Viel Spaß mit dieser Doppel-Folge!
Video-Tutorial 1
Video-Tutorial 2
Wie immer könnt Ihr auch bei diesem Tutorial Eure Meinungen als Kommentare hinterlassen. Ich freue mich immer über Euer Feedback!
Download-Dateien
Hier bekommt Ihr meine beiden verwendeten Grafikdateien:
- Das Tachoblatt SpeedDisplay.png
- Die Tachonadel SpeedPointer.png
Da ich die Grafiken selber gemacht hab, könnt Ihr Sie auch verwenden.
In dem folgenden Tutorial werden wir uns dann ein bisschen um das Leveldesign, sprich um die Landschaft unseres Spiels kümmern. Ich hoffe, dass Euch das natürlich auch interessiert.
Hier geht es zum achten Teil Unity3D – Leveldesign mit Skybox und Terrain .
Alles wiedereinmal super, hab nur das Problem das die Drehzahl immer höher und höher wird.http://www.youtube.com/watch?v=tk1SRqGWG9o
Finde die Videos klasse! Nur ohne Java Vorkenntnisse kommt man leider nicht wirklich mit bei dem was du skriptest. Würde mir daher einen Unity-Java Crashkurs wünschen =) oder wie wäre es mit einem Tutorial zur Scripting Reference von Unity, sozusagen Hilfe zur Selbsthilfe 😉
Wie meinst Du das genau? Auch wenn Du nicht mehr auf die Pfeiltaste drückst?
Was zeigt Dein Digitaltacho (das GUIText-Objekt)an? Steigt dort die Geschwindigkeit genauso an wie in der neuen Tachoanzeige?
@I.C: Ohne Javascript-Vorkenntnisse hast Du sicher recht. Auch wenn ich natürlich versuche nebenbei die Dinge zu erklären ist es natürlich für einen absoluten Anfänger schwierig mitzukommen. Ich werde mir mal überlegen, was man da machen kann 🙂
Ne ich meine das sich die Drehzahl auf zum Beispiel 3000 steigt. Wollte n Movie hochladen doch geht nich :(. Aber nur wenn ich auf die Pfeiltasten drück.
Hab auch keine Javakenntnisse :D. Nur AutoIt mehr aber nicht OoO.
Ich komme nicht an die kostenlose Version ran. Immer wenn ich mir die runterlade und installiere und dann starten will, möchte die Software das ich mich für die Pro registriere. Verneine ich das schließt sich Unity wieder.:mad:
Hallo Daniel,
Du musst den Dialog bestätigen. Es öffnet sich dann die Website von Unity. Dort wählst Du dann „Free“ aus, nicht die Pro-Test-Version.
Gruß Carsten
So jetzt hab ich’s geschafft. Hier der Video Link : http://www.youtube.com/watch?v=0H_1909Sg4c
Leider konnte ich Dein Script nicht richtig lesen. Kannst Du das vielleicht ein bisschen in Deinem Video heran zoomen?
Auf jedenfall stimmt schon irgendwas nicht beim Umrechnen der rpm in die Geschwindigkeit.
Gruß Carsten
http://www.imagebanana.com/view/ytt9s9o7/screen.png
So hab mal n Sceen gemacht –> Mit Blidschirmlupe :D´. Hoffe du kannst mir helfen 😉
:oops:Danke
@Daniel: Bitte 😉
@Jonny: Ich schau mir das heute Abend mal in Ruhe an, aber was ich so schon seh, ist dass das „Rumgeeier“ vom Tacho durch falsch Angaben der Koordinaten kommen.
Die beiden Bilder sind 140×140 Pixel groß. Ich würde am Anfang tatsächlich bei den Koordinaten 0.0,0.0 beginnen oder bei 10.0,10.0. Beim letzteren müssen die Bilder dann aber bis 150.0,150.0 gehen. Der Drehpunkt wäre dann 75,75.
@Jonny: Ich hab mir das Script mal angeschaut und das sieht abgesehen von den Bild-Koordinaten ganz in Ordnung aus. Das Problem muss irgendwo anders liegen, also in irgendwelchen Einstellungen. Bitte vergleich mal die Einstellungen der WheelCollider mit denen von mir (Tutorial Teil 4).
Zu dem ist mir aufgefallen, dass Du die Masse des Autos( des Rigidbodys) noch auf 1 hast. Ich hab die auf 1500 gesetzt, steht im Text vom Unity – Tutorial 3.
SoSo… hab alle deine Anweisungen befolgt. Beschleunigt jetz langsamer und die rpm schießen nicht so explosionsartig in die höhe aber bei 240 bleibet er trotzdem nicht stehen. Aber danke für deine Hilfe. 🙂
Das ist auch korrekt so. Bisher haben wir ja auch keine Geschwindigkeitsbegrenzung eingebaut. 🙂
Ah, dann bin ich ja mal erleichtert das ich wider auf den korrekten Weg gefunden habe ;). Freue mich schon auf ide nächsten Teile 😀 .