2010 – Unity Testproject

Ein kleines Testprojekt um Unity kennenzulernen. Ein kleiner Flugsimulator.

7.4.2010 – Release Nummer Vier, Build 61

Ein paar letzte wesentliche Änderungen vorgenommen.

– Das angesprochene Texturenfix bei den GUI Texturen erledigt
– Debugvalues in ein separates File gepackt.
– Zwei weitere Kameras und eine Möglichkeit zu wechseln eingebaut. Das eine Script stammt von Unitywiki
– Physikalischer Crash wenn man wo hängen bleibt. Das Flugzeug bricht nicht auseinander, aber immerhin prallt es nun ab.
– Eine Möglichkeit eingebaut damit man über Hügel fahren kann.
– Und noch hier und da ein paar kleine An und Umbauten

Diese zwei Punkte wollte ich eigentlich auch noch erledigen. Aber dafür langt mein Wissen und Können noch nicht aus. Vielleicht wenn sich doch noch jemand auf dem Unity Board erbarmt …

– Joypad Input fixen damit man damit das gleiche Flugverhalten wie mit dem Keyboard hat.
– Ich brauche eine bessere Lösung für das Horizontinstrument.

Natürlich ist noch einiges an Feinarbeit und Bugfixing zu tun. Und es gibt immer noch was was man gern einbauen würde. Speziell weil ich hier eine Variablenlösung gewählt habe die immer mal wieder mit der Physik kollidiert. Aber ich wollte daraus auch kein Spiel machen, sondern was lernen. Mit diesem Projekt bin ich jetzt da angekommen wo ich hinwollte. Es hat seinen Zweck erfüllt. Ich habe die Grundlagen von Unity erlernt. Zumindest einigermassen 🙂

Also ist hier erst mal Schluss. Das Projekt ist abgeschlossen. Viel Spass mit dem Ergebnis. Vielleicht ist es ja für den einen oder anderen von Nutzen 🙂

An der Stelle vielen Dank an all jene die mir bei meinen ersten Gehversuchen mit Unity geholfen haben 🙂

Das Zipfile enthält sowohl den Unity Projektordner als auch eine Exe Version. Damit ihr es trotzdem anschauen könnt falls ihr kein Unity installiert habt. Man kann abheben, rumfliegen, landen.

Flightsimu Build 61, Zipfile — 9.4 Mb — Download

Download

Nachtrag 8.4.2010 – ich habe doch noch das Jopypadproblem gefixt bekommen. Um das komplette Pack auszutauschen ist die Datei zu klein. Das moveairplane.js hat grade mal 6Kb. Tauscht einfach das moveairplane Script in diesem Zipfile gegen das im Unity Pack aus. Auf dem Wege könnt ihr auch noch mal nachsehen was für Änderungen für das Joypad Problem nötig waren. Natürlich bevor ihr sie ersetzt …

Joypadfix Build 61 — 6Kb —Download

Hier die vorherigen Stationen:

Flightsimu Build 49, Zipfile, 9.2 Mb — Download

Flightsimu Build 32, Zipfile, 9.2 Mb — Download

Flightsimu Build 18, Zipfile, 10.3 Mb — Download

31.3.2010 – Release Nummer Drei, Build 49

Sturzflug gefixt. Vorwärtssalto wird nun komplett geblockt. Salto fliegen geht nur noch aufwärts. Overriding Problem mit Schütteln gefixt. Das Flugverhalten ist nun eigentlich genau so wie ich es haben will 🙂

Das Layern von Kompass und Horizontinstrument war noch mal eine ganz spezielle Sache. Und ich muss bei den Instrumenten noch mal an die Texturen hinlangen weil Unity standardmässig ein Padding um die Texturen macht. Und sie dadurch ein wenig skaliert und ein wenig aus der Position schiebt. Aber sie sind wenigstens so weit funktional.

Bis auf das Horizontinstrument. Der Eulerangleflip ruiniert das Ganze wenn ich einen Salto fliege. Und ich bekomme nur die Eulerwinkel vom Objekt zurück, nicht die tatsächlichen lokalen Winkel. Ich habe keine Idee wie ich das fixen soll. Das ist ein richtig fetter Wermutstropfen im Vergleich zum 3DGS.

Wenn man nicht korrekt landet oder mit einem Berg kollidiert kann man crashen. Wobei crash hier relativ ist. Ich setze in diesem Fall mein Flugzeug an die Anfangsposition zurück. Game over.

Und ich habe noch hier und da ein paar Kleinigkeiten eingefügt und gefixt. So Sachen wie dass man nicht mehr übers Level hinausfliegen kann …

Weiterer Fahrplan:

– Joypad Input fixen damit man damit das gleiche Flugverhalten wie mit dem Keyboard hat.
– Das angesprochene Texturenfix
– Debugvalues in ein separates File. Die werden im Moment von den Instrumentenscripts aus gesteuert
– Ich brauche eine bessere Lösung für das Horizontinstrument.
– Kamera. Noch ist sie die Standard Smooth Follow Kamera
– Physikalischer Crash wenn möglich. Kein auseinanderbrechen, aber Kollision mit abprallen …
– Und natürlich hier und da weiterbasteln wenn sich noch was findet 🙂

25.3.2010 – Wieder ein paar Schritte weiter. Und so langsam schwindet meine anfängliche Begeisterung über Unity. Ich hoffe sie kommt im Lauf der Zeit wieder zurück.

Der Flug meines Flugzeugs ähnelt nun eher ein Flug. Das heisst bis auf die Situationen in denen mein Flugzeug in unmöglicher Wellenform durch die Gegend zu torkeln anfängt. Oder es plötzlich zu zittern anfängt. Da ist wohl irgendwo ein Overriding Problem dazwischen. Ich komme ihm aber einfach nicht auf die Schliche.

Was mir schwer zu schaffen macht ist dass es keine Möglichkeit zu geben scheint den tatsächlichen lokalen Winkel eines Objektes zu ermitteln. So von 0 bis 360. Was sich ermitteln lässt ist der Euler Winkel. Und der zappt zwischen 0 und 180 hin und her wie er gerade Lustig ist. Das gibt ganz grosse Probleme fürs Flugverhalten welches ich einfach nicht so recht kompensieren kann. Ich sehe im Moment auch keine Möglichkeit mein Horizontinstrument zu steuern. Es springt ja um 180 Grad hin und her.

Nächster Alptraum ist das derzeitige GUI System. Gruslig. Ich blicke da gar nicht durch. Und ein brauchbares Tutorial zum Thema scheint es noch nicht zu geben. Nur immer wieder der Hinweis in die Manual zu schauen. Ich habe schon Quadrataugen, und verstehe immer noch nicht was die da meinen.

Was ich auch nicht verstehe ist dass Keyboard und Joypad unterschiedlich behandelt wird. Wenn ich mein Joypad verwende bekomme ich ein komplett anderes Verhalten. Um das zu fixen müsste ich einen extra Codesnippet einbauen. Versucht erst gar nicht mit dem Joypad zu steuern, es reagiert alles viel zu träge. Es ist alles fürs Keyboard eingestellt.

Wie gesagt ich bin im Moment ein wenig enttäuscht von Unity. Solche grossen Probleme hatte ich im 3DGS nicht. Mal abwarten ob diese Sachen in Unity 3 behoben werden.

Nichtsdestotrotz, hier die nächste Version auf der evolutionären Leiter meines kleinen potentiellen Flugspiels. Ob es ein Auf oder Abstieg ist zur vorherigen Version ist mag jeder selber beurteilen. Solange ich keinen Looping versuche sieht es jedenfalls gar nicht mal soo schlecht aus.

Man kann immer noch hauptsächlich abheben, rumfliegen, landen. Das Zipfile enthält sowohl den Unity Projektordner als auch eine Exe Version. Damit ihr es trotzdem anschauen könnt falls ihr kein Unity installiert habt.

18.3.2010 – Ich bin schon eine Weile wieder weg vom 3D Gamestudio. Es war irgendwann einfach nur noch nervig mit dem Steinzeitworkflow von 3DGS zu arbeiten. Und dann kam mir auch noch das Real Life und ein paar andere Projekte in die Quere. Also habe ich eine ganze Weile nicht mehr weitergemacht. Ich will aber immer noch ein 3D Spiel machen. Da kam es mir grade recht dass die Unity 3D Indie zur Freeware wurde. Also heruntergeladen und losgelegt.

Aller Anfang ist schwer. Also fängt man am Besten klein an. Kann gar nicht klein genug sein. Wie damals mit dem 3D Gamestudio fange ich auch in Unity mit einem kleinen Fluglevel an. Es sind im Prinzip fast die gleichen Grafiken. Instrumente folgen noch. Und es ist die gleiche, recht einfache Steuerung. STRG zum beschleunigen, Shift zum abbremsen. Und rumgesteuert wird mit den Pfeiltasten. Geht natürlich auch mit dem Joypad.

Hier mal eine allererste einigermassen funktionierende Version. Man kann abheben, rumfliegen, landen. Das Zipfile enthält sowohl den Unity Projektordner als auch eine Exe Version. Damit ihr es trotzdem anschauen könnt falls ihr kein Unity installiert habt.