2011-01-04 GameMaker AG-Protokoll

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen

Protokoll der GameMaker AG-Sitzung am 04.01.2011

Anwesende Personen: ~5

Beginn: 13:05 Uhr

Ablauf[Bearbeiten]

  • Wir erstellen eine Rakete mit Explosion, um Prefabs besser kennen zu lernen.
    • Ein Prefab ist ein GameObject (samt Children), dass in den Assets steckt und jederzeit im Editor oder über Skripts instanziiert werden kann. Man benutzt es entweder, um deine Scene mit vielen vergleichbaren Objekten füllen zu können, ohne Redundanz zu haben, oder, um Objekte zur Laufzeit hinzuzufügen.
    • Um ein Prefab zu erstellen: Rechtsklick Project Tab (Assets) => Create => Prefab - Benennen - Fertiges GameObject reinziehen.
    • Ein Prefab wird durch das Ziehen in die Scene View oder Hierarchy in die Scene eingefügt.
    • Man kann Eigenschaften der Komponenten einer Prefab-Instanz (Exemplar, wenn man so will) nach belieben ändern. Drückt man oben im Inspektor des Objekts auf "Revert" nimmt die Instanz die Standardeinstellungen wieder an (außer Transform-Eigenschaften), "Apply" lässt das Prefab die Eigenschaften der Instanz übernehmen.
    • Ändert man die Eigenschaften des Prefabs selbst, so ändert sie sich bei allen Instanzen, die diese Eigenschaft nicht überschrieben haben (fett gedruckt im Inspektor).
  • Prefabs erzeugt man in einem Skript mit
Instantiate(GameObject prefab, Vector3 position, Quaternion rotation)
  • Verwendet am besten eine Variable
var explosion : GameObject;

und zieht in die Eigenschaft im Inspektor das Prefab aus den Assets.

  • Ein GameObject oder eine Komponente zerstört man mit
Destroy()
  • Sich selbst zerstören tut ein Objekt, dass ein Skript mit folgender Zeile ausführt:
Destroy(gameObject)
  • Wäre der Parameter this, so würde sich nur die Skript-Komponente selbst zerstören!
    • Nachfolgender Code wird aber noch ausgeführt, da Destroy() erst am Ende des Frames wirklich zerstört!
  • Um z.B. die Kollision eines Objekts zu löschen:
Destroy(GetComponent(Collider))
//oder
Destroy(collider)
  • Wir schauen uns zum ersten Mal Blender an.
    • Alle Fenster sind in ihrem Zweck veränderbar. Die Standard-3D-Ansicht heißt 3D View.
      • In der 3D View Mausrad gedrückt halten, um die Kamera zu drehen
      • Mausrad zum Zoomen
      • Shift+Mausrad drücken um die Kamera zu verschieben
      • Rechtsklick (!!): Dinge auswählen
    • Startmodus eines 3D View: Object Mode. Unter der 3D-Ansicht Listbox benutzen, um bei ausgewähltem Objekt z.B. in den Edit Mode zu wechseln.
      • Im Edit Mode können wir die Punkte, Kanten und Flächen eines Meshes (ein 3D-Objekt in Blender, bestehend aus Flächen (Vertices)) bearbeiten.
      • Zwischen Punkt-, Kanten- und Flächen-Modus rechts neben der Modus-Listbox auswählen.
      • Punkte, Kanten oder Flächen (Shift für Gruppenselektion) mit Rechtsklick auswählen und mit Linksklick auf Gizmo (Pfeile beim Verschieben, Kreise beim Drehen, ...) bearbeiten.
    • Es gibt viel zu viele Shortcuts...!
      • "e" extrudiert im Edit Mode Punkte, Kanten oder Flächen
  • Das Wichtigste ist: Viel rumprobieren und üben!
  • Achtung: Blender 2.49b fragt nicht, ob vor dem Schließen etwas gespeichert werden soll! Regelmäßig zwischenspeichern ist wichtig!

Ergebnis[Bearbeiten]

  • Insgesamt können wir nun die wichtigsten Dinge, um ein Spiel zu programmieren.
  • Wer mag, sollte sich auf jeden Fall einmal anschauen, wie Unity intern 3D-Modelle handelt. Dazu einfach aus dem WindowManager die Datei in Unity ziehen. Sie wird dann in den Asset Folder kopiert und importiert, kann anschließend einfach aus dem Project Tab in die Scene View oder Hierarchy gezogen werden. Dann einfach mal das GameObject anschauen.

Sonstiges[Bearbeiten]

  • Es waren etwas wenig Leute da. Ich hoffe, das liegt primär am RS-Praktikum, und dass nächstes Mal trotzdem wieder mehr kommen.
  • Ich werde mir wohl mal Blender instalieren :P

Nächstes Mal[Bearbeiten]

  • Ein Lebewesen Modellieren, Modelle texturieren und riggen (mit Skelett versehen).
  • Wenn wir uns dazu entscheiden, fangen wir an, uns über ein erstes richtiges Spiel Gedanken zu machen (oder entwickeln unser momentanes zu einem weiter).