Energy Balls

Ihr kennt sie aus Portal: Die Energy Balls. Sie werden von Launchern freigegeben, und müssen vom Spieler in die Catcher manövriert werden. Hier werde ich erklären, wie ihr diese Konstruktionen baut und richtig einsetzt.

launcher.jpg catcher.jpg

Die Bilder zeigen einen Energy Ball Launcher und einen Catcher.

Der Launcher

Der Launcher ist der Punkt, an dem die Energy Balls freigegeben werden.

Was wir brauchen:

Wir beginnen mit dem prop_dynamic. Setzt es in eurer map dahin, wo ihr euren Launcher haben wollt. Ist das geschehen, müssen an ihm folgende Einstellungen vorgenommen werden:

  • Name - Ich nenne meins der Einfachheit halber “launcher“.
  • World Model - Das Model was wir brauchen, finden wir unter models/props/combine_ball_launcher.mdl.

Nun erstellen wir einen point_energy_ball_launcher. Wir positionieren ihn genau mittig vor den „Armen“ des Launchers:

point_energy_ball_launcher.jpg

Wir geben dem point_energy_ball_launcher folgende Einstellungen:

  • Name - Ich nenne meinen hier “ball“.
  • Pitch Yaw Roll - Je nachdem, in welche Richtung euer Launcher zeigt, passt ihr es an.

Dinge wie die Lifetime der einzelnen Balls sind nach Belieben zu variieren.

Würdet ihr die Map jetzt starten, würdet ihr feststellen dass der Launcher „not solid“ ist und der Energy Ball beim zurückkommen nicht an den Armen des Launchers, sondern hinter ihm an der Wand abprallen würde.

Um das zu verhindern, erstellen wir einen Brush in Größe der runden Platte am Ende der Arme (20x20x1 Units) und positionieren sie wie im Bild unten zu sehen. Danach belegen wir sie mit der NoDraw-Textur und machen das ganze zu einem func_detail.

func_detail.jpg

Das wars schon mit dem Aufbau. Jetz müssen wir nur noch die Outputs anpassen. Wir erstellen einen neuen Output für den point_energy_ball_launcher:

OnPostSpawn - launcher - SetAnimation - close

Zusätzlich muss natürlich noch der point_energy_ball_launcher mit einem Enable Input getriggert werden. In Portal wird das meist mit einem trigger_multiple gelöst, der vom Spieler getriggert wird, aber das bleibt jedem selbst überlassen.

Der Catcher

Der Catcher ist der Punkt, zu dem der Spieler den Energy-Ball bringen muss.

Was wir brauchen:

Bevor wir unser Model erstellen, müssen wir ersteinmal ein Loch in den Untergrund machen, wo später der Catcher sein soll. Es muss so groß sein, dass wir später das prop_dynamic „hineinschieben“ können (ca.48×48 Units [Innenmaße!]). Die Tiefe ist egal, ich würde es aber nicht zu flach gestalten.

wall_1.jpg

Jetzt setzen wir unser prop_dynamic. Das Model was wir brauchen ist dieses mal models/props/combine_ball_catcher.mdl. Wir schieben es so weit in unsere Aussparung, bis die Ansätze der Arme an der Wand liegen.

wall_2.jpg

Dem prop_dynamic müssen wir nur einen Namen geben. Ich nenne meinen “catcher“.

Jetzt erstellen wir einen 90×90 großen Zylinder, den wir mit der toolstrigger Textur belegen, und so positionieren, dass er von ca. der halben länge der „Arme“ bis kurz hinter das Model ragt:

wall_trigger.jpg

Wir machen den Zylinder zu einem trigger_multiple. Achtet darauf, dass bei den Flags Physic Objects aktiviert, und Clients deaktiviert sind!

Hinter dem prop_dynamic in der Aussparung erstellen wir noch ein point_spotlight. Es sollte Zentral haninter liegen, sodass es durch das Loch im Catcher hinausstrahlt. Die Einstellungen verändern wir wie in diesem Bild:

spotlight_properties.jpg

Jetzt kommt noch etwas für die Optik. Wir erstellen noch ein prop_dynamic mit dem Model models/effects/combineball.mdl und einem Namen. Meins heißt “ball_dummy“. Diesen plazieren wir auch zentriert in die kleine Kammer des Catchers, direkt hinter die Augenähnliche Klappe.

Jetzt erstellen wir noch zwei env_sprites. Die Einstellungen entnehmt ihr folgenden Bildern:

sprite_01.jpg sprite_02.jpg

Achtet auch darauf, dass bei den Flags Start On nicht aktiviert ist.

Beide env_sprites plaziert ihr wie das prop_dynamic vorhin in der Kammer des Catchers.

Das war der Aufbau. So sollte es dann ungefähr aussehen:

catcher_final.jpg

Ich habe zur besseren Übersicht eines der env_sprites markiert.

Zum Abschluss müssen wir noch einige Outputs setzen. Alle Outputs werden vom trigger_multiple gefeuert:

outputs.jpg

Hier können natürlich noch weitere Aktionen angeschlossen werden, beispielsweise eine Türe, die sich öffnet um den Spieler zum nächsten Rätsel zu lassen.

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
portal/tutorials/energy_balls.txt · Zuletzt geändert: 2011/05/25 16:06 von Adrian_Broher