2D-Platformer: Fundamt-Kacheln und Collider reduzieren zufügen
In der letzten Folge dieser Tutorial-Reihe hatten wir unsere 2D Plattformen auf Basis der Definitionen, die wir mit der prozeduralen Generierung festgelegt hatten, erzeugt und als GameObjects in unserer Szene platziert.
Allerdings sehen die Plattformen bisher noch sehr rudimentär aus, was ich mit Dir aber in diesem Teil ändern möchte.
Freischwebende Inseln
Aktuell bestehen unsere Plattformen lediglich aus den Oberflächen, auf denen der Spieler entlanglaufen kann. Das bedeutet, dass die Plattformen wie Inseln wirken, die in der Luft schweben.
Auch wenn das manchmal erwünscht sein kann, möchte ich genau hier eingreifen. Und zwar will ich in diesem Teil nur die gefährlichen Plattformen „freischwebend“ lassen. Alle anderen sollen noch zusätzliche „Fundamentkacheln“ erhalten.
Zu viele Collider
Neben dem ersten Punkt wollen wir noch zusätzlich dafür sorgen, dass jede Plattform nur noch einen Collider besitzt, der aber dafür auch die gesamte Plattform abdeckt, also auch das Fundamt.
Bisher besitzt ja jede einzelne Kachel einen Collider, was wir zunächst aus Vereinfachungsgründen gemacht haben. Aber wenn wir auch noch allen Fundamentkacheln ebenfalls einen eigenen Collider zufügen würden, stünde das einfach nicht mehr im Verhältnis und die Physic-Engine müsste viel zu viele Collider in ihren Berechnungen berücksichtigen. Und genau deshalb wollen wir das nun ändern.
Wie Du in dem Video gleich sehen wirst, wird hierbei vor allem das Positionieren das Colliders interessant sein…
Video
So, aber genug mit dem Ausblick, hier kommt das Video-Tutorial, hoffentlich gefällt es Dir!
Texturen herunterladen
Alle in dem Video gezeigten Texturen kannst Du Dir natürlich auch kostenlos herunterladen.
Sie stammen von mir und können entsprechend auch in Euren Games (auch kommerziellen Games) genutzt werden. Lediglich einen Verkauf der Texturen gestatte ich natürlich nicht 😉
Die Texturen könnt Ihr hier herunterladen.
Teilen macht Freude 🙂
Hat Dir diese Tutorial gefallen? Wenn ja, dann würde ich mich extrem darüber freuen, wenn Du es in Deinen sozialen Kanälen teilen würdest. Es würde mich wirklich freuen!
Nächste Folge
Hier geht es zur nächsten Folge, in der es um das Platzieren von Items in einem prozedural generierten Level geht.
Hi, ich wollte fragen wo man noch dein ai driver toolkit downloaden kann? Ist aus dem asset store raus :/ wollte es mit unity 4.6.1 nutzen.
Hi Marcell98,
vielen Dank für Dein Interesse, freut mich wirklich 🙂 Leider ist das AI Driver Toolkit nicht mehr erhältlich, da es mit aktuellen Unity-Versionen nicht mehr kompatibel ist. Möglicherweise werde ich das noch mal updaten. Aber das dauert noch.
Gruß Carsten
Ok Danke, bin gespannt 🙂 . Hast du eine E-mail an die ich dir was schreiben könnte?
Hi Marcel, ja, entweder Du abonnierst meinen Newsletter und antwortest auf die zugeschickten E-Mail von mir oder Du nutzt die allgemeine E-Mail-Adresse, die im Impressum steht.
Gruß Carsten
Hi Carsten,
ich wollte fragen wie ich auf Variablen aus andern Scripten zugreifen kann. In meinem Fall will ich zb. auf einen „float“ aus „Script – 1“ inerhalb von „Script – 2“ zugreifen und mittels „PlayerPrefs.SetFloat“ abspeichern. Ich hatte es damit versucht: PlayerPrefs.SetFloat(„Rekord“, GetComponent().Variable); – jedoch erfolglos :/ Ich hoffe das du mir weiterhelfen kannst,
LG Edwin 🙂
*Ein kleiner Fehler noch: In die Klammer des GetComponent kommt noch „Script1“, also: PlayerPrefs.SetFloat(„Rekord“, GetComponent().Variable);
*ok, da stimmt was mit der Seite nicht xD , alles was ich in diese „Pfeilklammern“ setzte, verschwindet. Aber ich denke du weißt was ich da oben gemeint habe 😉
Hi Edwin,
Variablen, auf die Du von außen zugreifen möchtest, müssen als public definiert werden.
Gruß Carsten
@Carsten danke, hat geklappt 🙂
@Edwin Super 🙂
Hallo Carsten,
erstmal vielen Dank für die bisherigen tollen Tutorials. Mach bitte
weiter so. Wann wird denn dieses Tutorial weitergehen?
Gruß Thomas
Aufgrund der Arbeit, die ich abseits dieses Blogs habe, muss ich hier ein kleines Päuschen einlegen. Wann genau kann ich deshalb noch nichts sagen.
Gruß Carsten