CGExercises

CG Exercise #02

Computergraphik Ãœbungsblatt #02


Blender Tutorial: Modellierung



Modellieren mit Blender (Blender Teil #1)


In diesem Praktikumsteil befassen wir uns mit der Computergrafik aus Anwendersicht. Diese Sichtweise soll uns auf praktische Art und Weise demonstrieren wie einfach die theoretischen Konzepte in aktueller Grafik-Software umgesetzt sind bevor wir hinter die Kulissen schauen. Wir werden hierzu eine kleine Spielzeugszene nachbauen. Als Inspiration soll uns diese Auswahl von realen Objekten dienen:

Aufgabe 2.1: Modellierung / Transformation

Bitte modellieren Sie eine Spielzeug-Lokomotive, indem Sie ausschließlich Grundobjekte verwenden und diese über Verschieben ( g ), Rotieren ( r ) und Skalieren ( s ) aufbauen (siehe auch Blender Cheat Sheet). Stellen Sie zwischen den einzelnen Objekten eine hierarchische Beziehung (vgl. Konzept der Hierarchischen Modellierung) her, um mehrere Objekte miteinander zu verkleben bzw. gleichzeitig zu manipulieren ( Ctrl-P, parenting ).

Zusätzlich können Sie diese Grundobjekte als Basis verwenden und komplexe Geometrien mittels extrudieren ( e ), loop cuts ( STRG + r ), verschieben ( g ), rotieren ( r ) und skalieren ( s ) von einzelnen Punkten, Kanten oder Polygonen aufbauen. Durch diese Bearbeitungswerkzeuge können Sie weitere Objekte, wie etwa Bäume oder Tiere modellieren. Verwenden Sie zusätzlich den Bevel, Solidify, Mirror und den Subdivision Surface Modifier, um lästige Arbeit zu sparen.

Aufgabe 2.2 Shading / Texturierung:

Jetzt geht es ums Aussehen:

Das Shading in Blender beinhaltet zwei Hauptkomponenten: Materialien und Texturen. In Cycles und Eevee werden Materialien über ein Node-System definiert. Für Texturen werden immer Texturkoordinaten benötigt. Die Erstellung der Texturkoordinaten wird häufig per UV-Unwrapping erstellt, um das korrekte UV-Mapping zwischen 3D Objekt und 2D Texturraum herzustellen.

Erstellen Sie für Ihre Objekte Materialien um diese einzufärben:

Mit prozeduralen und von der Festplatte geladenen Texturen können Sie ein noch realistischeres Erscheinungsbild erzeugen. Bitte texturieren Sie ein Objekt Ihrer Wahl in Blender, indem Sie Schnittkanten (UV Seams: STRG + E, Mark Seam) zum Auffalten (UV Unwrapping: u, unwrap) definieren anhand derer jeder 3D Punkt möglichst verzerrungsfrei auf einer 2D Ebene ausgelegt werden kann. Anschließend definieren Sie ein neues Material (New Principled BSDF) für das Objekt und verbinden Texture Coordinate, Image Texture, Diffuse BSDF und Material Output Node sinnvoll miteinander.

Auch die Umgebung kann anhand von Materialien und Texturen interessant gestaltet werden. Zusätzlich werden damit realistische Reflektionen und Beleuchtungseffekte zwischen den Objekten und dem Boden (Plane) sichtbar. Empfohlen werden hierfür “High Dynamic Range images” (HDRi), meist in Form von Panoramabildern. Eine tolle Seite mit vielen kostenlosen (CC-Zero Lizenz) HDRis ist beispielsweise https://polyhaven.com/hdris. Diese Panoramabilder verwendet man als sog. Environment-Map für die umgebende Welt.

Aufgabe 2.3: Licht, Kamera, Action!

Setzen Sie Ihre modellierten und texturierten Objekte nun in Szene. Beleuchten Sie die Szene mit Punkt- oder Spot-Lichtquellen. Das Ziel ist es eine hinreichend komplexe Umgebung zu erstellen, so dass wir mithilfe der erstellten Objekte im nächsten Praktikum eine kleine Geschichte erzählen können.

TeilVideoThema
Blender Teil 1YTGUI, Modellierung, Shading, Texturierung


Hausaufgaben bis zum dritten Praktikum


Musterlösung: Bitte stellen Sie Ihre Musterszene aus dem Blender-Praktikum kurz vor.

1. OpenGL:

  1. Farbmischung:
    Welche Farbe (wie z.B. Hellgrün) ergibt sich bei der additiven Farbmischung der folgenden Mischungsverhältnisse der Grundfarben Rot, Grün, Blau?
    1. 50%, 0%, 0%
    2. 100%, 100%, 70%
    3. 65%, 17%, 17%
  2. Perspektivische Projektion:
    Welche der folgenden Figuren werden durch die perspektivische Projektion vom Aussehen nicht verändert?
    1. Linie
    2. Dreieck
    3. Quadrat
    4. Kreis
    5. Konvexes Polygon

2. Blender:

  1. Transformation:
    1. Nehmen wir an, Sie haben eine Szene mit einen Würfel, der weder rotiert, noch transliert oder skaliert ist. Geben Sie bitte die 4×4 Model-Matrix des Würfels an.
    2. Nun bewegen Sie den Würfel um 10 Einheiten entlang der positiven globalen z-Achse. Geben Sie nun bitte die 4×4 Model-Matrix des Würfels an.
  2. Recherche (googlen!):
    1. Wie würden Sie eine Spiegelung entlang der X-Achse, eine Punktspiegelung und eine uniforme Skalierung auf 50% als 4×4 Transformationsmatrix schreiben?
    2. Wie sieht die Transformationsmatrix für die kombinierte Punktpiegelung und Skalierung aus? Tipp: [Matrix-]Multiplikation!
    3. Um welche Art von Transformation handelt es sich bei obigen Operationen?
      1. linear
      2. affin
      3. Starrkörper (engl. rigid body)
      4. Ähnlichkeitstransformation (engl. similarity)
      5. projektiv
  3. Hierarchische Modellierung:
    1. Ist es möglich in Blender bestimmte 3D-Objekte als Kinder von anderen Objekten zu definieren, so dass sich diese mit den Eltern mitbewegen? Falls ja, unter welchem Begriff kennt man dies in der Computergrafik und wo sieht man diese Beziehungen in Blender?
    2. Nehmen wir an, dass wir einen Würfel und eine Kugel in der Szene haben. Der Würfel ist noch nicht transformiert worden, die Kugel enthält eine reine Translation von (10, 0, 0). Außerdem ist die Kugel als ein Kind vom Würfel definiert. Welche Model-Matrix besitzt die Kugel, wenn der Würfel mit dem Vektor (0, 10, 0) transliert wurde. Erklären Sie Ihr Vorgehen.
    3. Optional: Welche Model-Matrix besitzt die Kugel, wenn sie zusätzlich noch um den Faktor 50% skaliert wird?

Options: