Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild,...
Transcript of Bastian Schildbach - Distributed Systems (Uni Ulm) - Bastian... · 1. Grundlagen: Texturen •Bild,...
3D-Modellierungsprogramme
mit
Bastian Schildbach
06.06.06
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
1. Grundlagen:Texturen
• Bild, welches auf die Oberfläche eines virtuellen Körpers dargestellt wird
Bastian Schildbach3
1. Grundlagen:Begriffe
• x,y,z- & u,v,w-Koordinaten, Texturkoordinaten
• Texel
• Vertices
• Texture Mapping
Bastian Schildbach4
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
1. Grundlagen:Texture Mapping
• Verfahren, um Textur auf 3D-Körper anzubringen
• Funktionsweise:
• Texturkoordinaten
• Interpolation
• MIP-Mapping
• Perspektivenkorrektur
Bastian Schildbach6
1. Grundlagen:Texture Mapping
Bastian Schildbach7
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
1. Grundlagen:Texturadressierung: Wrap Texture Address Mode
• Textur wird mit jedem ganzzahligen Integer-Wert wiederholt
• Standard in Maya
Bastian Schildbach9
• Texel werden in umgekehrter Reihenfolge ausgeben
1. Grundlagen:Texturadressierung: Mirror Texture Address Mode
Bastian Schildbach10
• je erste bzw. letzte Pixelzeile oder -spalte wird gedehnt
1. Grundlagen:Texturadressierung: Clamb Texture Address Mode
Bastian Schildbach11
• außerhalb wird ein Farbton dargestellt
1. Grundlagen:Texturadressierung: Border Texture Address Mode
Bastian Schildbach12
• 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
2. Mapping-Techniken:
• Bump-Mapping
• Displacement-Mapping
• Normal-Mapping
• Kugel-/Quader-/Zylinder-Mapping
• UV-Mapping
• Environment/Reflection Mapping
Bastian Schildbach14
2. Mapping-Techniken:Bump-Mapping
• relative Höhendaten
• Graustufenbild
• Modell bleibt unverändert
• Maya: BumpMap
• 3D Painting Tool
Bastian Schildbach15
2. Mapping-Techniken:Bump-Mapping
+ =
Bastian Schildbach16
2. Mapping-Techniken:Bump-Mapping
Bastian Schildbach17
• 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
• Demo
• 3D Painting Tool
2. Mapping-Techniken:Bump-Mapping in Maya
Bastian Schildbach19
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
• 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
Texturbild HeightMap
2. Mapping-Techniken:Displacement-Mapping: Funktionsweise
Bastian Schildbach22
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
• Demo
• Height Field
• Noise
2. Mapping-Techniken:Displacement-Mapping in Maya
Bastian Schildbach24
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
2. Mapping-Techniken:Normal-Mapping: Anwendungsbeispiel
hohe niedrige
Detailstufe
Ergebnis
• Surface Sampler
• Source & Target
• Include Materials
• Search Envelope
2. Mapping-Techniken:Normal-Mapping in Maya
Bastian Schildbach27
2. Mapping-Techniken:Normal-Mapping in Maya
Bastian Schildbach
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
2. Mapping-Techniken:Zylinder-Mapping
• Box: umhüllende Fläche = Quader/Ebene
• Zylinder: bei rotationssymmetrischen Objekten
30 Bastian Schildbach
2. Mapping-Techniken:Kugel-Mapping
• Kugel:
• Problem der Verzerrung
Bastian Schildbach31
• Polygon UV‘s > Spherical/Cylindrical/Planar
• UV Texture Editor
• UV Snapshot
• sehr ähnlich zum...
2. Mapping-Techniken:Two-Part-Mapping in Maya
Bastian Schildbach32
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
• 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
• 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
2. Mapping-Techniken:UV-Mapping in Maya
• Demo
• Maya erstellt UVs
• UV Texture Editor
Bastian Schildbach36
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
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
2. Mapping-Techniken:Environment-Mapping
• Vorteil:
• schnell & einfach realisierbar
• gute Ergebnisse, wenn Textur weit entfernten Horizont darstellt
Bastian Schildbach39
2. Mapping-Techniken:Environment-Mapping
• Probleme:
• Szenenobjekte spiegeln sich nicht gegenseitig
• Artefakte an Kanten & Nahtstellen des Projektionskörpers
Bastian Schildbach40
• Bild-Dateien zur Simulation von 3D-Raum
• Env Ball
• Env Cube
• Env Sphere
2. Mapping-Techniken:Environment-Mapping in Maya
Bastian Schildbach41
• 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
• 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
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
Zusammenfassung
• Vertices & Texturkoordinaten, Texturaddressierung
• Bump, Displacement, Normal, Two-Part, UV-, Environment Mapping
• Textursynthese
• Beispiel für komplexere Anwendung: bidirectional Texturing Function
Bastian Schildbach45
Ende