46
3D-Modellierungsprogramme mit Bastian Schildbach 06.06.06

Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

  • Upload
    vantruc

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

3D-Modellierungsprogramme

mit

Bastian Schildbach

06.06.06

Page 2: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

Gliederung

• 1. Grundlagen

• Texture Mapping, Texturkoordinaten, Vertices, Texturaddressierung

• 2. Mapping-Techniken

• Bump, Displacement, Normal, Two-Part, UV-, Environment Mapping

• 3. Textursynthese

• 4. bidirectional Texturing Function2 Bastian Schildbach

Page 3: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Texturen

• Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird

Bastian Schildbach3

Page 4: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Begriffe

• x,y,z- & u,v,w-Koordinaten, Texturkoordinaten

• Texel

• Vertices

• Texture Mapping

Bastian Schildbach4

Page 5: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Texturkoordinaten

• welcher Punkt des 2D-Texturbildes soll auf welchem Eckpunkt des Polygons liegen?

• Jedem Eckpunkt eines Polygons (Vertex) werden 2 Texturkoordinaten zugewiesen: 0.0 ... 1.0

Bastian Schildbach5

Page 6: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Texture Mapping

• Verfahren, um Textur auf 3D-Körper anzubringen

• Funktionsweise:

• Texturkoordinaten

• Interpolation

• MIP-Mapping

• Perspektivenkorrektur

Bastian Schildbach6

Page 7: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Texture Mapping

Bastian Schildbach7

Page 8: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Texturadressierung

• Was passiert, wenn die Koordinaten <0.0 oder >1.0 angegeben werden?

• 4 Möglichkeiten der Behandlung:

• Wrap Texture Address Mode

• Mirror Texture Address Mode

• Clamb Texture Address Mode

• Border Texture Address Mode

Bastian Schildbach8

Page 9: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1. Grundlagen:Texturadressierung: Wrap Texture Address Mode

• Textur wird mit jedem ganzzahligen Integer-Wert wiederholt

• Standard in Maya

Bastian Schildbach9

Page 10: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Texel werden in umgekehrter Reihenfolge ausgeben

1. Grundlagen:Texturadressierung: Mirror Texture Address Mode

Bastian Schildbach10

Page 11: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• je erste bzw. letzte Pixelzeile oder -spalte wird gedehnt

1. Grundlagen:Texturadressierung: Clamb Texture Address Mode

Bastian Schildbach11

Page 12: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• außerhalb wird ein Farbton dargestellt

1. Grundlagen:Texturadressierung: Border Texture Address Mode

Bastian Schildbach12

Page 13: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• place2dTexture

• Wrap U, V

• Mirror U, V

• Repeat U,V

• Rotate U,V

• Einstellungen seperat für U- und V-Richtung

1. Grundlagen:Texturadressierung in Maya

Bastian Schildbach13

Page 14: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:

• Bump-Mapping

• Displacement-Mapping

• Normal-Mapping

• Kugel-/Quader-/Zylinder-Mapping

• UV-Mapping

• Environment/Reflection Mapping

Bastian Schildbach14

Page 15: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Bump-Mapping

• relative Höhendaten

• Graustufenbild

• Modell bleibt unverändert

• Maya: BumpMap

• 3D Painting Tool

Bastian Schildbach15

Page 16: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Bump-Mapping

+ =

Bastian Schildbach16

Page 17: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Bump-Mapping

Bastian Schildbach17

Page 18: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• 2 Versionen des Modells

• detailreich (>100.000 Polygonen)

• Modell für Anwendung (100 - 10.000 Polygonen)

• Berechnung der Unterschiede

• gewonnene Daten auf detailarmes Modell

• Unterhaltungsindustrie

2. Mapping-Techniken:Bump-Mapping: Funktionsweise

Bastian Schildbach18

Page 19: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Demo

• 3D Painting Tool

2. Mapping-Techniken:Bump-Mapping in Maya

Bastian Schildbach19

Page 20: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Displacement-Mapping

• Geometrie des 3D-Modells wird verändert

• Erstellung einer HeightMap aus der Textur

• Querschnitt durch das Relief möglich

Bastian Schildbach20

Page 21: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Bild dient als Basis zur Berechnung der HeightMap

• Graustufen

• Vertices werden entlang ihrer Normalen verschoben

• Vorteile:

• Oberfläche wird tatsächlich geändert

• Verhalten bzgl. verschiedener Lichtquellen

2. Mapping-Techniken:Displacement-Mapping: Funktionsweise

Bastian Schildbach21

Page 22: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

Texturbild HeightMap

2. Mapping-Techniken:Displacement-Mapping: Funktionsweise

Bastian Schildbach22

Page 23: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

1) Höheninfos generieren

2) Projektion auf Oberfläche

3) Verschiebung der Vertices

4) gewünschtes Ergebnis

2. Mapping-Techniken:Displacement-Mapping: Funktionsweise

Bastian Schildbach23

Page 24: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Demo

• Height Field

• Noise

2. Mapping-Techniken:Displacement-Mapping in Maya

Bastian Schildbach24

Page 25: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Normal-Mapping

• Bessere Detailgenauigkeit ohne Zahl der Polygone zu erhöhen

• Übertragung von Informationen

• Ausrichtung der Normalen

• Echtzeit-3D-Grafik

Bastian Schildbach25

Page 26: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Normal-Mapping: Anwendungsbeispiel

hohe niedrige

Detailstufe

Ergebnis

Page 27: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Surface Sampler

• Source & Target

• Include Materials

• Search Envelope

2. Mapping-Techniken:Normal-Mapping in Maya

Bastian Schildbach27

Page 28: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Normal-Mapping in Maya

Bastian Schildbach

Page 29: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Two-Part-Mapping

• Idee: komplexe Objekte mit einfach paramtrisierbaren Fläche umhüllen

• Quader, Zylinder, Kugel

• Zwischenschritt: Aufbringung der Textur auf Hülle und von dort auf Modell

• „Two-Pass-Method“

Bastian Schildbach29

Page 30: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Zylinder-Mapping

• Box: umhüllende Fläche = Quader/Ebene

• Zylinder: bei rotationssymmetrischen Objekten

30 Bastian Schildbach

Page 31: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Kugel-Mapping

• Kugel:

• Problem der Verzerrung

Bastian Schildbach31

Page 32: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Polygon UV‘s > Spherical/Cylindrical/Planar

• UV Texture Editor

• UV Snapshot

• sehr ähnlich zum...

2. Mapping-Techniken:Two-Part-Mapping in Maya

Bastian Schildbach32

Page 33: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:UV-Mapping

• Texturen auf komplexeren Formen

• UV-Map

• Teile des Texturbildes können dem Polygon zugewiesen werden

• UV-Vertices

• „Unwrap“

Bastian Schildbach33

Page 34: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Vorgehensweise:

• 1. Schnittkanten festlegen

• 2. Auswahl der Flächen in der UV-Map

• 3. Laden des Bildes

• 4. Ausbreiten der Fläche im UV/Image Editor

• 5. Nachbearbeitung des Bildes

• 6. Aufbringen der UV-Textur

2. Mapping-Techniken:UV-Mapping: Anwendungsbeispiel

Bastian Schildbach34

Page 35: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Maya Guidelines

• immer in 0.0 ... 1.0 bleiben

• außerhalb „repeat“ / „wrap“

• UVs nicht überlappen

2. Mapping-Techniken:UV-Mapping in Maya

Bastian Schildbach35

Page 36: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:UV-Mapping in Maya

• Demo

• Maya erstellt UVs

• UV Texture Editor

Bastian Schildbach36

Page 37: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Environment-Mapping

• Reflektionen mit Textur-Hardware ohne Raytracing

• Idee:

• kleine Objekte in Beziehung zu nahen und großen Objekten

• einfallende Beleuchtung wird vorberechnet und in Environment Map gespeichert

Bastian Schildbach37

Page 38: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Environment-Mapping

• reflektierendes Objekt wird von einer virtuellen Zwischenfläche umgeben

• auf der Innenseite wird Szenenumgebung als 2D-Textur aufgetragen

• Zuordnung der Texturkoordinaten über Sichtstrahl vom Betrachter

Bastian Schildbach38

Page 39: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Environment-Mapping

• Vorteil:

• schnell & einfach realisierbar

• gute Ergebnisse, wenn Textur weit entfernten Horizont darstellt

Bastian Schildbach39

Page 40: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

2. Mapping-Techniken:Environment-Mapping

• Probleme:

• Szenenobjekte spiegeln sich nicht gegenseitig

• Artefakte an Kanten & Nahtstellen des Projektionskörpers

Bastian Schildbach40

Page 41: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Bild-Dateien zur Simulation von 3D-Raum

• Env Ball

• Env Cube

• Env Sphere

2. Mapping-Techniken:Environment-Mapping in Maya

Bastian Schildbach41

Page 42: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• Erzeugung einer Textur aus einer kleinen Vorlage für eine große Fläche

• Algorithmen benutzen Referenzbilder & berechnen daraus neues Bild, das ähnlich aussieht

• Maya

• File- & Projection-Utility

3. Textursynthese

Bastian Schildbach42

Page 43: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

• viele Erweiterungen:

• Erweiterungen auf 3D-Texturen / Berechnung der Oberfläche auf 3D-Körpern

• Generierung von 3D-Objekten aus 2D-Bildern

3. Textursynthese

Bastian Schildbach43

Page 44: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

4. bidirectional Texturing Function

• beruht auf der Bidirectional Reflectance Distribution Function (BRDF)

• Verteilungsfunktion für Reflexionsverhalten

• BTF:

• Verteilungsfunktion für Texturen

• Reflexionseigenschaften, beleuchtungs- & blickpunktabhängiges Verhalten

• extrem detailorientiert

Bastian Schildbach44

Page 45: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

Zusammenfassung

• Vertices & Texturkoordinaten, Texturaddressierung

• Bump, Displacement, Normal, Two-Part, UV-, Environment Mapping

• Textursynthese

• Beispiel für komplexere Anwendung: bidirectional Texturing Function

Bastian Schildbach45

Page 46: Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird 3 Bastian

Ende