Master Seminar How to make a PIXAR Movie Modeling Michael Hingel

Master Seminar
How to make a PIXAR Movie
Modeling
Michael Hingel
10. Februar 2011
Zusammenfassung: In dem Vortrag Modeling und der dazugeh¨origen Ausarbeitung werden die verschiedenen Repr¨asentationsm¨oglichkeiten f¨
ur 3D-Modelle
vorgestellt: Punktwolken, Volumenmodelle, Oberfl¨achenmodelle, wobei sich letztere in Polygonmodelle, Parametrische Oberfl¨achen und Subdivision Surfaces
aufteilen lassen. Dabei wird auf die Eigenschaften, Vorteile und Anwendungsm¨
oglichkeiten eingegangen. Es werden konkrete Einsatzbeispiele aus Film, Industrie und Medizin gezeigt.
1
MODELING
1
2
VOLUMENMODELLE
Punkwolken
Unter einer Punktwolke versteht man die Menge ungeordneter kartesischer 3DKoordinaten (3-stellige Wertetupel), die Positionen oder Punkte im euklidischen
R3 repr¨
asentieren. Diese Punkte bilden eine Teilmenge der Oberfl¨ache eines
dreidimensionalen Objektes. Die Erstellung von Punktwolken geschieht u
¨blicherweise entweder mit 3D-Modellierungswerkzeugen oder mittels Abtastung
von Oberfl¨
achen mit 3D-Scannern. Letztere unterscheidet man durch die zur
Bestimmung der Punktwolken zugrunde liegenden Technik: Pulslaufzeit, Phasendifferenz und Triangulation. Beispiele f¨
ur Einsatz von Punktwolken findet
man in der
ˆ der Rekonstruktion oder Erhaltung von Monumenten, historischen Bauwerken, Artefakten oder
ˆ dem Einscannen von Objekten oder Personen f¨
ur Filme oder Computerspiele.
1.1
Surface Reconstruction
Zur weiteren Verwendung der Punktwolken werden diese u
¨blicherweise in andere Repr¨
asentationsformen gebracht. Grund hierf¨
ur k¨onnen Rauschen in den
f¨
ur 3D-Scanner typischen Ausgangsdaten sein, oder effizientere Datenstrukturen (z.B. Dreiecksnetze, die optimal zur Ausgabe durch Grafikkarten geeignet
sind) Hierf¨
ur gibt es verschiedene Ans¨atze: Marching Cubes, B´ezier and B-Spline
Surfaces, The Delaunay Triangulation, Ball Pivoting Algorithmus.
2
Volumenmodelle
In den meisten F¨
allen repr¨asentieren die zu visualisierenden Daten ein reales
Objekt (z.B. ein Organ, Gewebe, Geschwindigkeits Feld). Diese Daten sind normalerweise nur an einer endlichen Menge von Positionen bekannt. F¨
ur die Erstellung eines Volumenmodells wird der relevante Teil des Raumes in kleine W¨
urfel
unterteilt, welche die bekannten Positionen des realen Objektes repr¨asentieren.
Diese Elementarw¨
urfel werden als Voxel bezeichnet (siehe Abbildung 1). Pixel
+ Volumen = Voxel. Voxel bilden das r¨aumliche Analogon zu Pixeln, die eine
Diskretisierung von zweidimensionalen Bildern darstellen.
Volumenmodelle lassen sich grunds¨atzlich auf zwei verschiedene Arten visualisieren:
ˆ Direct volume rendering: Durch jeden Pixel wird ein Strahl geschossen.
Entlang dieser Strahlen werden Farbinformationen durch L¨osen des vo”
lume rendering integrals“gesammelt.
ˆ Indirect volume rendering: Das Volumenmodell wird in eine andere Darstellungsform gebracht. Ein bekanntes Verfahren, bei dem ein Voxelgitter
in ein Polygonmesh transformiert wird, ist der Marching Cubes Algorithmus.
2
MODELING
2
(a) Voxelisierung eines W¨
urfels
VOLUMENMODELLE
(b) Voxelisierung von Mario
Abbildung 1: Voxelisierung
2.1
Marching Cubes
Der Marching Cubes Algorithmus von W. Lorensen und H. Cline ( Marching
”
Cubes: A high resolution 3D surface construction algorithm, SIGGRAPH 1987.“)
n¨
ahert eine Voxelgrafik durch eine Polygongrafik. Dadurch ist das Ausnutzen
effizienter Hardwarunterst¨
utzung durch die Darstellung von Polygonmodellen
m¨
oglich. Der Algorithmus l¨asst sich in 7 Schritte aufteilen:
1. Aufteilen des Voxelgitters in W¨
urfel mit 8 Voxeln als Eckpunkte.
2. Klassifieziere jeden Voxel des W¨
urfels ob er innerhalb oder außerhalb des
Objektes liegt.
3. Erstelle einen Index aus diesen Informationen.
4. Zugriff auf Polygontabelle u
¨ber den Index. Erstelle Kantenliste aus dieser
Tabelle. Die 256 Schnittm¨oglichkeiten eines W¨
urfels k¨onnen durch Spiegelung/Rotation aus 15 Basisf¨allen abgeleitet werden.
5. Berechne Vertex Position an Kanten durch lineare Interpolation.
6. Berechne Normale zu jedem Eckpunkt.
7. Berechne Polygon Normale durch lineare Interpolation.
2.2
Physikalische Modellierung
Ein Bereich in dem Volumenmodelle außerdem verwendet werden ist in der
physikalischen Modellierung. Abbildung 2 zeigt zwei Ausschnitte aus aktuellen
Filmen in denen Wolken und Tornados mithilfe von Volumenmodellen visualisiert wurden. In den beiden F¨allen wurde zun¨achst mit oberfl¨achenbasierten
3
MODELING
3
¨
OBERFLACHENMODELLE
Primitiven gearbeitet. Diese erlaubt dem Animator ein Feintuning der Filmsequenzen ohne aufwendige Simulationen laufen lassen zu m¨
ussen. F¨
ur die finalen
Filmaufnahmen werden die Oberfl¨achenmodelle in ein Voxelgitter rasterisiert.
(a) Burger-Wolken aus dem Film Wolkig mit
Aussicht auf Fleischb¨
allchen
(b) Tornados aus dem Film Hancock
Abbildung 2: Physikalische Modellierung
3
Oberfl¨
achenmodelle
Volumenmodelle ben¨
otigen bei hoher Voxelgitteraufl¨osung schnell sehr viel Speicherplatz. Vorteil bieten hier Oberfl¨achemodelle, bei denen Objekte nur durch
ihre ¨
außere Begrenzung definiert werden.
3.1
Polygonmodelle
.
Ein Polygon besteht aus einer Menge von Punkten V0 , ..., Vn im dreidimensionalen Raum und einem Polygonzug Q = (V0 , V1 ), (V1 , V2 ), ...(Vn−2 , Vn−1 ),
der die Punkte mit einander verbindet, mit Vn−1 = V0 . Die einfachste Form
des Polygons stellt das Dreieck dar, bei dem immer 3 Punkte durch 3 Kanten
verbunden sind. Ein Dreiecksnetz besteht aus einer Menge von
ˆ Eckpunkten V = vi , vi ∈ R3 ,
ˆ Kanten E = eij , eij = vi vj = [vi , vj ] = i, j und
ˆ Dreiecken T = tijk (i, j, k), tijk = 4(vi , vj , vk ) = [vi , vj , vk ] = i, j, k mit
i <= j <= k
Die Anzahl der f¨
ur ein Modell ben¨otigten Polygone ist abh¨angig vom gew¨
unschten Detailgrad. So werden bei Computerspielen¨
uberlichwerweise lowPolygon-modelle verwendet (siehe Abbildung 3a, 1993). Sind dagegen Modelle
mit hohen Detailgrad, erforderlich, u
¨blich in Filmen, steigt die Anzahl der Polygone schnell auf mehrere Millionen. Das Beispiel aus Abbildung 3b zeigt ein
Modell aus dem Film Transformers 2, bestehend aus u
¨ber 11 Millionen Polygonen.
4
MODELING
3
(a) Einzug von Polygonmodellen in Computerspielen
¨
OBERFLACHENMODELLE
(b) Aufwendige Polygonmodelle in heuten Filmproduktionen
(c) Vergleich Polygonmodell - NURBS
Abbildung 3: Polygonmodelle
3.2
Parametrische Oberfl¨
achen
Ein Nachteil der Polygonmodelle ist die mit hohem Detailgrad ben¨otigte Anzahl
an Polygonen, die Modelle werden schnell sehr komplex und speicheraufwendig.
Gewisse Objekte lassen sich bei gleicher Detailtreue (siehe Abbildung 3c) mit
weniger Aufwand durch sogenannte Parametrische Oberfl¨achen modelieren.
Bei Parametrischen Oberfl¨achen werden die Fl¨achen im R3 durch Parameter
definiert. Zu den einfachsten Parametrischen Oberfl¨achen stellen z¨ahlen Quadratische Gleichungen, durch welche sich Kugeln (1) und Zylinder (2) darstellen
lassen.
3.2.1
(x − x0 )2 + (y − y0 )2 + (z − z0 )2 = r2
(1)
(x − x0 )2
(y − y0 )2
+
=1
a2
b2
(2)
B´
ezierkurven, B-Splines und NURBS
B´ezierkurven wurden Anfang der 1960er Jahre von Pierre B´ezier und Paul de
Casteljau zur Definition von Kurven und Fl¨achen entwickelt. Sie finden dabei
vorallem Anwendung in CAD-Programmen, Vektorgrafiken und zur Beschreibung von Schriften. Eine B´ezierkurve ist durch n + 1 Kontrollpunkte und die
Bernsteinpolynome der Form
n i
Bi,n =
t (1 − t)n−i
(3)
i
definiert. Diese bilden das Kontrollpolygon
C(t) =
n
X
i=0
5
Bi,n (t)Pi
(4)
MODELING
3
¨
OBERFLACHENMODELLE
, B´ezierkurve genannt. Werden diese B´ezierkurven durch Gewichtung der
Bernstein Polynome in die Form
Pn
wi Bi,n (t)Pi
(5)
C(t) = Pi=0
n
i=0 wi Bi,n (t)
gebracht, ergibt das rationale B´ezierkurven, u
¨ber welche eine Anziehungskraft der einzelnen Kontrollpunkte angegeben werden kann. Somit sind konische
Kurven m¨
oglich, die mit einfachen B´ezierkurven nicht darzustellen sind.
Ein Problem bei komplexeren Kurven und damit mehr Kontrollpunkten ist
der Anstieg des Grades des Kontrollpolynoms. Daher kann eine Kurve in einzelne Kurvenst¨
ucke aufgeteilt werden. Diese st¨
uckweise zusammengesetzte Kurve
¨
wird Spline genannt. Damit die Anderung
einzelner Kontrollpunkte keine Auswirkung auf die gesamte Kurve hat, werden sogenannte B-Splines verwendet.
Bei B-Splines werden im wesentlichen die einzelnen Kurvensegmente auf Grund
¨
der B-Spline-Basisfunktionen berechnet. Der Vorteil hierbei ist, dass eine Anderung einzelner Koeffizienten nur lokale Auswirkungen hat.
Eine Verallgemeinerung von B´ezierkurven und B-Splines stellen die NonUniform Rational B-Spline (NURBS) Kurven dar. Mit diesen werden durch
Hinzuf¨
ugen einer weiteren Richtung Fl¨achen dargestellt, welche aufgrund mathematischer Genauigkeit vor allem in der industriellen Produktion eingesetzt
werden. Um hohe Grade der Polynome bei komplexen Oberfl¨achen zu vermeiden, werden diese in einzelne Patches aufgeteilt.
¨
F¨
ur den Ubergang
zwischen den einzelnen Kurventeilen und Patches lassen
sicht Glattheitskriterien, Kontinuit¨at genannt, festlegen. Diese sind vor allem bei
NURBS in der Automobielindustrie von großer Bedeutung, um aus vielen Einzelteilen zusammengesetzte Oberfl¨achen als eine zusammengeh¨orige erscheinen
zu lassen (realistische Reflexionen). Folgende Kontinuit¨aten werden unterschieden:
ˆ C −1 : Kurven enthalten Diskontinuit¨
aten
ˆ C 0 : Kurven sind verbunden
ˆ C 1 : Erste Ableitungen sind gleich
ˆ C 2 : Erste und zweite Ableitungen sind gleich
ˆ C n : Erste bis nte Ableitungen sind gleich
3.3
Subdivision Surfaces
Ein Verfahren zur Beschreibung von Modellen, dass die Vorteile von Polygonmodellen (intuitive Modellierung) und NURBS (glatte Oberfl¨achen) vereint, ohne
ihre Nachteile zu u
¨bernehmen sind Subdivision Surfaces.
6
MODELING
3
¨
OBERFLACHENMODELLE
In einem iterativen Prozess wird das Objekt, welches als Polygonmodell vorliegen muss, schrittweise gegl¨attet. Die vorhandenen Polygone werden geteilt
und neu positioniert. Subdisivon Surfaces sind non-destruktiv, das heißt es wird
u
¨berlicherweiße mit dem Ausgangsmodell weiter gearbeitet, w¨ahrend dem Programm die Verfeinerung u
¨berlassen wird. Das iterative Subdivision Surface Verfahren l¨
asst sich in zwei Phasen aufteilen:
3.3.1
Verfeinerungsphase
Das Ausgangsnetz wird in ein feineres Netz geteilt. Bei der Unterteilung wird
zwischen vertex insertion und corner cutting unterschieden. Beim vertex insertion werden in die Kanten der Polygone neue Knoten eingef¨
ugt. Beim corner
cutting werden die Polygone zun¨achst verkleinert, erhalten jedoch ihre Form.
In einem zweiten Schritt werden die entstandenen L¨
ucken durch neue Polygone
gef¨
ullt.
3.3.2
Gl¨
attungsphase
Die neuen und ggf. alten Knoten werden verschoben und gegl¨attet. Beim Verschieben der Knoten wird zwischen approximierenden und interpolierenden Algorithmen unterschieden. In der approximierenden Variante werden alle alten
und neuen Knoten verschoben. In der interpolierenden Variante dagegen bleiben die alten Knoten unver¨andert. Der Vorteil interpolierender Algorithmen ist
die Best¨
andigkeit der Topologie, die Position einmal gesetzter Knoten ver¨andert
sich auch nach beliebiger Iterationstiefe nichtmehr. Approximierende Verfahren
dagegen liefern nach weniger Schritten qualitativ bessere Ergebnisse, sind jedoch schwerer kontrollierbar.
Abbildung 4 zeigt den Unterschied der beiden Verfahren. F¨
ur die interpolierende
Variante wurde der von Zorin, Schr¨oder und Schweldens entwickelte Modified
Butterfly Scheme Algorithmus verwendet. Das approximierende Beispiel wird
mit dem von Charles Loop entwickelten Loop Subdivision Verfahren berechnet.
Abbildung 4: Vergleich interpolierender und approximierender Subdisivion Surface Algorithmen
Einer der wichtigstens Subdivision Surface Algorithmen ist das 1978 von
Edwin Catmull und Jim Clark entwickelte Catmull-Clark Verfahren.
7
MODELING
LITERATUR
Literatur
[1] Fausto Bernardini, Joshua Mittleman, Holly Rushmeier, Cl´audio Silva, Gabriel Taubin, The Ball-Pivoting Algorithm for Surface Reconstruction
[2] E Catmull, J Clark, Recursively generated B-spline surfaces on arbitrary
topological meshes
[3] Denis Zorin, Peter Schr¨oder, Subdivision for Modeling and Animation, SIGGRAPH 2000 Course Notes
[4] Ruwen Schnabel, Roland Wahl, Reinhard Klein, Efficient RANSAC for
Point-Cloud Shape Detection
[5] Tony Rogers, Managing Director, APR Services Ltd, St Albans Cathedral,
Case Study
[6] George Burshukov, ESC Entertainment, Making of THE Superpunch
[7] Simon Winkelbach, Sven Molkenstruck, Friedrich M. Wahl, Low-Cost Laser
Range Scanner and Fast Surface Registration Approach
[8] Charles Teorell Loop, Smooth Subdivision Surfaces Based on Triangles
[9] Devon Penney, PDI/DreamWorks Animation Volumetric Modeling and Rendering
[10] Magnus Wrenninge, Volume Rendering at Sony Pictures Imageworks
[11] Christian Teutsch, Model-based Analysis and Evaluation of Point Sets from
Optical 3D Laser Scanners
[12] William E. Lorensen, Harvey E. Cline, MARCHING CUBES: A HIGH
RESOLUTION 3D SURFACE CONSTRUCTION ALGORITHM, Computer Graphics, Volume 21, Number 4, July 1987
8