Masken und Material-IDs

Wir beginnen mit einer Abwicklung des Kopfes, die uns als Basis der Maskenerstellung dienen wird, durch die ein Objekt in mehrere Emitter- Bereiche unterteilt werden kann. Um diese übersichtlicher zu gestalten, selektieren wir als Erstes im Editable Patch die zur Mundhöhle gehörigen Elemente und weisen diesen die Sub Material-ID 2 zu. Da wir den Physique und Morpher-Modifier zurzeit nicht benötigen, können diese deaktiviert werden. Einsehbar in Szene “hair_01.max”.

Nun weisen wir dem Kopf, zwischen Editable Patch und Morpher, ein UVW-Mapping mit der Option Cylindrical zu und platzieren darüber einen Unwrap UVW-Modifier. Mittels Edit öffnen wir das Edit UVWs-Fenster und geben als darzustellenden ID 1 an.

Da der Unwrap UVW-Modifier leider keine Funktion anbietet, die Abwicklung als Grafik abzuspeichern, erstellen wir einfach einen Screenshot, auf den wir in Photoshop oder anderen Bildbearbeitungsprogrammen die benötigten Masken einzeichnen.

Insgesamt legen wir drei Masken zur Definition der benötigten Haarbereiche an: erstens “Mask_ID_ 3.tif” für das Haupthaar, zweitens “Mask_ID_4.tif” für die Brauen und drittens “Mask_ID_5.tif” für die Wimpern.

Als Nächstes legen wir drei Material-IDSelektionen an, denen dann die Masken zugeordnet werden. Die folgende Grafik zeigt die Selektionen. Hier kommt es nicht auf Genauigkeit an, da die Feinabstimmung in den Masken vorgenommen wird. Genau genommen würde die gesamte Operation auch ohne zusätzlich angelegte Material-IDs im Editable Poly funktionieren, da Shag Hair auch mit den Material-IDs eines Multi-/Subobject-Material vorlieb nimmt. Wir legen die Material-IDs im Mesh nur deshalb an, damit die Darstellung der später folgenden Shag Views nicht das komplette Objekt mehrfach überwuchert.

Nun wechseln wir zu der bereits angesprochenen, entscheidenden Materialkomponente. Im Material-Editor erstellen wir ein Multi-/Subobject-Material. Innerhalb des Multi-/Subobject-Materials legen wir dann die folgenden Materialien an:

  1. Skin (folgt)
  2. Inner Mouth (einfach rot)
  3. Mask_ID_ 3
  4. Mask_ID_ 4
  5. Mask_ID_ 5

Dann platzieren wir in die Materialien drei bis fünf der von uns erstellten Masken in den jeweiligen Diffuse-Slot (z. B. “Mask_ID_ 3.tif” in den Diffuse-Slot von “Material Mask_ID_ 3”) und aktivieren die Display-Option Show Map In Viewport. Egal, was uns die Shag Views später im Viewport anzeigen – es kann ignoriert werden, sofern die Material-IDs in den Shag Hair- Entries richtig eingestellt wurden. Siehe Szene “hair_02.max”.

1. Model Hair

Nachdem die Vorarbeit abgeschlossen ist, wenden wir uns nun den Haaren zu. Als Erstes müssen wir die so genannten Model Hairs, einfache Splines, die mit dem Model Hair-Modifier versehen sind, anlegen. Gestaltung und Länge der Splines bestimmen die Form der Haare. Da an dieser Stelle lediglich ein paar Splines erstellt werden und die genaue Form oder Positionierung keine Rolle spielt, werde ich den Vorgang nicht bildlich dokumentieren. Die von mir angelegten Model Hair-Objekte, also die Splines, habe ich namentlich in drei Gruppen unterteilt:

Hair: Die längeren Deckhaar-Elemente heißen “hair_long_01_right“ usw., die kÜrzeren Haare an der Seite &Ldquo;hair_short_01_right” usw.

Brows: “brow_01_right” usw.
Lashes: “lash_01_right” usw.

Um unnÖtige Arbeit zu vermeiden, habe ich zunächst nur die Model Hair-Objekte für die rechte Seite angelegt, dann alle Elemente einer Gruppe selektiert und dieser Auswahl einen Model Hair-Modifier zugewiesen (Instances des Modifiers entstehen). Danach gruppiere ich die Objekte und spiegele diese. Denselben Vorgang wiederhole ich für die beiden verbleibenden Gruppen. Um die Splines im Viewport deutlich darstellen zu können, habe ich die Option Display Render Mesh aktiviert. Siehe Szene “hair_03.max”.

Über Shag Hair’s “Vector Helper”, zu finden im Helpers-Dropdown des Create-Panels, kann die Ausrichtung der Haare zusätzlich beeinflusst werden.

2. Shag Hair-Entries

Shag Hair ist als atmosphärischer Shader in 3ds max integriert. Um diesen einzusetzen, öffnen wir im Rendering-Menü über den Unterpunkt Environment das Environment and Effects-Fenster oder drücken einfach den Hotkey 8. Im Atmosphere-Rollout aktivieren wir dann mittels Add den Add Atmospheric Effects-Dialog und fügen drei Shag Hair- und einen Shag Render- Entry ein. Die Shag Hair-Entries nennen wir Shag: Hair, Shag: Brows und Shag: Lash. Jeder dieser Entries steuert einen unserer Haarbereiche. Wir selektieren als ersten den Shag Hair-Entry im Objects, Copy/Paste, Load/Save-Rollout, aktivieren Pick und wählen den Kopf als Emitter aus (alternativ kann auch der Select-Button in derselben Zeile benutzt werden) – der Name erscheint im Dropdown-Fenster. Dann öffnen wir über den Face Selection-Button das Pick Face Selection Set-Fenster, wählen “Sub Material-ID” aus und geben als ID die 3 an. Als Folge dessen würden Haare im gesamten Selektionsbereich der Material- ID 3 des Editable Poly entstehen.

Parameter und Werkzeuge

Noch innerhalb des Objects, Copy/Paste, Load/Save-Rollout können wir mittels des Modeling Cutter die jeweilige Frisur trimmen. Wenn die Option via Checkbox aktiviert wurde, wird eine einfache Box derart positioniert, dass die gewünschte Schnittmenge entsteht. Dieser Haarbereich wird dann über die Cut-Funktion beschnitten. Wenn der Charakter eine Kopfbedeckung trägt, sollte der Restriction Cutter verwendet werden, der die Haare auf seine Ausmaße hin begrenzt.

Über die folgenden Sektionen des Parameter- Rollouts lassen sich Position, Anzahl, Dichte, Größe und Form der Haare bestimmen. Immer wenn ein Minuszeichen vor einem der Parameter erscheint, verbirgt sich dahinter ein Dialogfenster (öffnen mittels Rechtsklick, aktivieren mit Linksklick), in dem mittels Kurven Eigenschaften gesteuert werden können.

Anschließend wählen wir in der Model Hair- Sektion via Pick (ein Selektionsfenster öffnet sich) alle Model Hair-Objekte mit dem Präfix “hair_long” und “hair_short” aus – ein Shag View entsteht als Viewport-Visualisierung der Haare. Um die Generierung der Haare mit Hilfe unserer Masken einzugrenzen, aktivieren wir nun im Parameters-Rollout die markierten Checkboxen und stellen die Material-ID auf 3, um diese durch die angelegte Maske zu steuern. Denselben Vorgang wiederholen wir danach für die Shag Hair-Entries Shag: Brows und Shag: Lash.

  • Length: Hier wird die maximale Länge festgelegt, die über einen “Random Factor” variiert und/oder die mittels “Material-ID” beeinflusst werden kann.
  • Density: Die Dichte der Behaarung kann über die Option Absolut (festgelegte Anzahl von Haaren pro Face) oder Per Area (gleichmäßige Verteilung unabhängig von Größe oder Form der Faces) in Kombination mit Material-ID bestimmt werden.
  • Thickness: Hier verbirgt sich mehr als angenommen. Zum einen kann der Durchmesser zusätzlich durch die Option Random Factor und/oder mit dem Link To Random Length-Curve Control-Fenster von der jeweiligen Haarlänge abhängig gemacht und durch die Maske der Material-ID beeinflusst werden. Zum anderen kann die Form der Haare durch Thickness Along Length in Verbindung mit den Optionen Round oder Flat stark verändert werden. Der Shadow Factor ermöglicht die Abschwächung der Haarschatten.
  • Curliness: Der Einsatz von Locken ist mit Vorsicht zu genießen, da deren Verwendung die Rechenzeit in die Höhe schnellen lässt. Über die Curve Controls Curliness Radius Along Length und Curliness Turns Along- Length kann die Form zusätzlich gesteuert werden.
  • Clumping: Hier kann der Effekt von Strähnen nachgeahmt werden. Da das “Clumping”-Zentrum auf dem Mittelpunkt eines Faces angelegt wird, werden bessere Ergebnisse mit Meshes geringerer Dichte erzielt.
  • Fix Hair: In Verbindung mit Physique oder Skin ist es sinnvoll, einen “Reference Frame” zu definieren, ab dem das Haar nach seiner Generierung durch die so genannten “Modeler” (Model Hair- und Vector-Objekte) dem animierten Objekt in seinem Referenzzustand folgt, ohne dabei in nachfolgenden Frames verändert zu werden. Modeling-Cutter oder Vektoren würden ansonsten bei einer Positionsveränderung Einfluss auf die Haare nehmen. Hierbei ist allerdings zu erwähnen, dass nur Emitter mit gleich bleibender Vertex-Anzahl unterstützt werden und Parameter, wie zum Beispiel die Länge der Haare, nicht animierbar sind.
  • Orientation: Mittels der hierzu findenden Funktionen kann die Orientierung der Haare zum Emitter festgelegt werden.
  • Random: Über diese Parameter-Gruppe lässt sich ein Zufallsfaktor in die Haargenerierung einbauen.
  • Color/Shading: Die zur Verfügung stehenden Parameter sind selbst erklärend. Im Material-Editor können beliebige Materialien, am besten jedoch das Hair Shader-Material, dem Shag View zugewiesen werden.
  • Geometry: Mittels der hier angebotenen Funktionen kann die atmosphärische Haargenerierung in echte Geometrie umgewandelt werden, was ein besseres Anti-Aliasing und bessere Motion Blur-Ergebnisse mit sich bringt, aber dafür auch wesentlich rechenintensiver ist.
  • Picture Quality: Über die Viewport Density kann die Darstellung des Shag View-Objekts angepasst werden.
  • Strand Detail: Hier wird der Aufbau der Haare festgelegt. Eine höhere Anzahl “Knots” (im Prinzip Vertices eines Splines) erzielt bei der Verwendung des Dynamic- Systems bessere Animationsergebnisse – natürlich zu Lasten der Render-Zeit. Über die Bézier Steps (Anzahl der Segmente zwischen den Knots) lassen sich glattere Ergebnisse bei der Haargenerierung erzielen.
  • Dynamics: Da eine ausführliche Erklärung dieses Bereichs den Rahmen sprengen würde, werde ich mich äußerst kurz fassen: Die Shag Hair Dynamics funktionieren nicht immer wirklich zufrieden stellend, ganz besonders nicht mit langen Haaren! Was das Collision Object angeht, befinden wir uns in einem Dilemma. Eine LowRes-Variante des Kopfes sollte verwendet werden, um die Weighted Dynamics berechenbar zu halten – für saubere Ergebnisse ist jedoch ein Objekt ohne scharfe Kanten, also hoch aufgelöst, vorzuziehen. So oder so führt kein Weg am Tüfteln vorbei. Es empfiehlt sich, für die Animation mit dem “Reference Frame” (Fix Hair) und dem “Get Out Of Colliders At Start Frame” zu arbeiten. Die in Strand Detail angesprochenen Aspekte wirken sich nachhaltig auf das Verhalten der Haare in der Animation aus. Bei den Key Types ist Linear der Alternative Bézier – was die Qualität der Ergebnisse angeht – vorzuziehen.

An dieser Stelle sollte einfach mit den verschiedenen Parametern experimentiert werden. Sind diese wie gewünscht eingestellt, selektieren wir den gesamten Kopf im Patch- Subobject-Level (für eventuelle Nachbearbeitungen sollten Selection Sets der verschiedenen IDs angelegt werden) und weisen die Material-ID 1 zu. Anschließend verringern wir noch die “Density” der Shag View-Objekte. Siehe Szene “hair_04.max”. Im Material-Editor weisen wir dem Multi-/Subobject-Material 1 im Diffuse-Slot die Bitmap “skin.tif” zu.

Die von mir für das finale Rendering verwendeten Shag Hair-Entries sind auf der CD abgespeichert.

Tipps zur Verwendung von Shag Hair

  • Vertex-Transformationen: Da die Rotationstransformationen auf die Ausrichtung des Model Hair-Objekts zurückgreifen, empfiehlt es sich, diese nahe dem Emitter zu positionieren, an den sie gekoppelt sind.
  • Beleuchtung: Bei Beleuchtungsszenarien mit nur einer Lichtquelle kann es vorkommen, dass manche Haare im Rendering schwarz dargestellt werden. Dies betrifft Haare, die nahezu rechtwinkling zum einfallenden Licht stehen; das Problem kann einfach durch die Verwendung von mehreren Lichtquellen umgangen werden. Wenn Radiosity verwendet wird, erübrigen sich die rechenintensiven Shar Render-Einstellungen Hair-Object Shadow und Hair-Hair Shadow, da die Schatten-Optionen nicht in Kombination mit Advanced Lighting funktionieren!
  • Materialien und Shag View: Neben dem Hair Shader bietet sich auch die Verwendung des Anisotropic Shaders an, um die nötigen Highlights auf dem Haar zu erzeugen. Subtile oder offensichtliche Farbspiele können über eine “Gradient Ramp” erzielt werden. Wenn das zugewiesene Material wieder entfernt werden soll, klicken wir im Material-Editor auf den Get Material-Button, selektieren None und ziehen dieses dann per Drag and Drop auf den Shag View.
  • Verwendung von mehreren Entries: Wenn Realismus gefragt ist, kann die Verwendung von mehreren Shag Hair-Entries (zum Beispiel für das Haupthaar), die auf denselben Emitter zurückgreifen, aber dafür abgewandelte Parameter (Dichte, Länge, Breite etc.) verwenden, Wunder bewirken. Zusätzliche Graustufen-Masken erhöhen die Steuerbarkeit der verschiedenen Entries.