Kontrolle über dynamische Objekte (Controlling a Dynamic Object) | 2000 07 24 | |||
>> zurück zu www.psycho3d.de << | Bart Veldhuizen |
Einführung | ||
Nachdem wir eine Welt gebastelt haben, ist es jetzt Zeit, etwas Interaktion einzubauen. In diesem Tutorial benutzen wir eine vorgefertigte Labyrinth-Szene und lassen darin einen Spieler umherwandern. Die Prinzipien sind relativ einfach und lassen sich auf jedes Objekt in der GameEngine anwenden. Ladet erst einmal die Datei runter und öffnet sie in Blender. [von mir erstellte Ersatzdatei]
|
||
Die Physik vorbereiten | ||
Zuerst muss ich die Physik für meinen Spieler einrichten, wenn ich das nicht mache, wird er nicht auf Kräfte wie Gravitation und Reibung reagieren. (Drückt im 3D Fenster, um den interaktiven Modus zu starten, und ihr seht was ich meine - das Objekt sitzt nur in der Gegend herum. Drückt um die Spielsimulation zu stoppen). Wählt die Kugel aus und drückt . Das bringt euch zu den RealtimeButtons. |
||
Die Buttons auf der linken Seite kontrollieren die physikalischen Eigenschaften des Objekts. Zuerst klickt ihr auf "Actor", damit legt ihr fest, dass euer Objekt auch tatsächlich etwas in eurem Spiel tun kann. Zwei neue Buttons, "Ghost" und "Dynamic", erscheinen. Wählt "Dynamic" - damit wird Blenders Physiksimulation für das Objekt aktiviert. Drückt wieder um die Simulation zu starten, und schaut zu, wie euer Objekt auf den Boden fällt. Wegen Blenders eingebauter Physik wird der Aufprall auf den Boden automatisch erkannt und das Objekt fällt nicht durch. |
||
Sensoren | ||
Echtzeit-Buttons. |
||
Sensorparameter Sensoren sind die Augen und Ohren für Blender. Erzeugt jetzt einen, indem ihr den "Add" Button neben dem Namen eures Objekts anklickt ("Character" im Fall der Beispieldatei). Die folgende Zeile erscheint. [wir sind hier in der "Sensors" Spalte (links)] |
||
Sensortypen. Wenn ihr auf das "X" Symbol klickt, wird dieser Sensor aus der Sensorliste des Objekts gelöscht. Klickt auf den orangenen Pfeil, um die Sensorinformation zu- und aufzuklappen. Der untere Abschnitt enthält die Information über diesen Sensortyp - andere Sensortypen haben andere Parameter. Der Standardsensor ist "Always". Dieser Sensor gibt immer nur Wahr oder Falsch zurück. Klickt darauf, um einen anderen Sensortyp auszuwählen. |
||
Der Tastatursensor. Wählt "Keyboard". Damit dieser Sensor auf anspricht, klickt ihr in das "Key" Feld. Wenn dann "Press any key" angezeigt wird, drückt ihr um diese Taste einzutragen. Wenn ihr das gemacht habt, sieht der Sensor so aus: [Bild unten] |
||
Controller | ||
Die zweite Reihe von Buttons sind die Controller. Sie werden dazu benutzt, die Daten von verschiedenen Sensoren zu kombinieren. In unserem Fall gibt es nicht viel zu kombinieren - ich will nur das Ereignis an den Actuator [Umsetzer, Antreiber] weitergeben. Klickt auf "Add" in der Spalte der Controller und lasst den Controllertyp beim Standard "AND". Ein AND Kanal in Blender gibt das Signal einfach weiter, wenn nur eines kommt. Als nächstes verbindet ihr den Ausgang des Sensors mit dem Eingang des Controllers, indem ihr auf den gelben Kreis rechts beim Sensor klickt und die Maus mit der Linie, die erscheint, zum gelben Ring links beim Controller zieht. Um diese Verbindung zu löschen, wählt ihr sie durch Überfahren mit der Maus und drückt . |
||
Actuator | ||
Die lokalen Achsen anzeigen. Jetzt müssen wir eine Aktion veranlassen. Das macht man in der dritten Spalte: die Actuatoren [?!]. Fügt einen neuen Actuator ein und lasst ihn beim Standardtyp "Motion". Mit diesem Actuator könnt ihr verschiedene Kräfte auf ein Objekt wirken lassen oder es auch Verschieben. Bei allen Einstellungen habt ihr die Wahl, welches Koordinatensystem ihr verwenden wollt. Normalerweise arbeitet der Objektactuator mit dem Koordinatensystem des Objekts. Um diese Koordinaten anzuzeigen, wählt ihr das Objekt und wechselt zu den EditButtons () [oder bei neueren Versionen zu den ObjectButtons F7]. Auf der linken Seite klickt ihr dann auf "Axis" [um die Achsen anzuzeigen]. In diesem Bild seht ihr, dass eine Kraft nach vorne in die Y Richtung wirken muss, und dass Drehungen (wenn ihr nach links oder rechts drückt) um die Z Achse ausgeführt werden müssen. Jetzt gebt ihr im "Force" Feld für Y den Wert 10.00 ein. Das ist das zweite Feld in der Force Zeile. Verbindet den Controller mit dem Actuator für und drückt um euer Spiel zu starten. Jetzt solltet ihr euren Spieler nach vorne bewegen können. Was ist jetzt los? Wenn ihr gedrückt habt, hört euer Objekt nicht mehr auf, sich zu bewegen! Wenn ihr an die Physikengine denkt, ist die Lösung offensichtlich - fügt einfach etwas Dämpfung dazu! Schaut auf der linken Seite der EchtzeitButtons und erhöht den Wert im "Damp" Feld. |
|
Jetzt macht weiter und erzeugt Sensoren, Controller und Actuatoren für die anderen Pfeiltasten. Für benutzt ihr eine Kraft von -1 in Y Richtung. Für und benutzt ihr 1 und -1 im "Torque" Feld Z (rechts). Das war's! Jetzt geht ihr in die Oberansicht und drückt um euren Spieler durch das Labyrinth zu steuern. |
|
übersetzt von: pat - www.psycho3d.de - 26.12.2003 - überarbeitet 02.05.05 |