10 tipp a Maya XGen produkciós használatához

Ez a cikk eredetileg a CG Channel oldalon jelent meg. Ha érdekelnek a vizuális effektek, a játékfejlesztés és a számítógépes grafika, napi hírekért és inspirációért keresd fel a CG Channel oldalát.
Stefano Giorgetti 2013-as FX karakter reel-je. A Digital Domain karakterfejlesztője most 10 bevált tippet oszt meg velünk a Maya XGen használatához, valamint a szebb szőrzet, haj és növényzet létrehozásához.

A procedurális instancálás lehetővé teszi az artist-ok számára, hogy hatalmas mennyiségű geometriát hatékonyan generáljanak, animáljanak és rendereljenek. Kiválóan alkalmas olyan vizuálisan összetett asset-ek létrehozására, mint a szőrzet, a haj, a tollazat, valamint az olyan nagyobb méretű environment-ek készítésére, mint az erdők, füves mezők és sziklás tájak. A számítási teljesítmény növekedésével az instancálás a modern CG pipeline-ban a surfacing és shading folyamatok szervesebb részévé válik.

Az XGen-t a Walt Disney Animation Studiosban fejlesztették ki, majd 2016-ban integrálták a Maya-ba. Az erős instancálós framework lehetővé teszi számunkra a felületek tetszőleges geometriákra való felosztását mapok-, expression-ök-, és guide-ok mentén. Gyakorlatilag ez egy komplex-, procedúrális rendering felület, illetve egyfajta shading eszköz.

Az alábbi tippek segítenek az XGen munkafolyamatok rugalmasabbá tételében. Bár Maya-ra vannak szabva, általános iránymutatásként is tekinthetők az instancáló framework-ök használatához.

Az útmutató azoknak szól akik már ismerik az XGen alap munkafolyamatait.

A képeken látható modell neve 0a Blonde Girl, TurboSquid-en ingyenesen letölthető.

150612_SG_XGenTips_wizard_up
Időben döntsd el, hogy guide-okat szeretnél-e használni az instancált geometria szabályozásához, vagy teljesen procedurális munkafolyamatokat. Minél hamarabb lezárod ezt a kérdést, annál könnyebben tudod majd kezelni a változásokat.

1. Először tervezd meg az asset-et

A munkaidőben történő elvégzéséhez elengedhetetlen a munkafolyamat strukturálása. Új Description létrehozásakor az XGen elindít egy varázslót, amely végigvezet a legfontosabb döntéseken. Bár később is válthatunk, az asset-ek típusa meghatározza a workflow típusát is.

Az olyan sűrű tárgyak esetében, mint például a bunda, pikkely, vagy valamilyen environment, a teljes procedurális workflow-t részesítem előnyben.

Hosszú haj esetében érdemes guide-okkal irányítani az egyes hajcsomókat, amely nagyobb kontrolt biztosít a root-to-tip variációk felett.

150330_SG_XGenTips_2_Block
A XGen használata előtt készíts egy alacsony geometriájú minta asset-et. Hosszú hajnál instancált görbék létrehozása előtt az egyszerű "tube-ok" képet adhatnak arról, hogy hogyan fog kinézni a frizura.

2. Block out-old a kinézetet

Bármilyen XGen node létrehozása előtt készítsd egy alacsony geometriájú minta asset-et. Ilyenkor felvázolod azt a layout-ot, melyet később instancokkal és primitívekkel fogsz kitölteni. Ez segít a munka strukturálásában.

Vegyük a göndör haj esetét. Fontos, hogy egyszerű geometriákkal, például tube-okkal blokkoljuk a kinézetet ("groom-from-tubes" munkafolyamat). Ezeket könnyen lehet modellezni, és nagyon jó képet adnak a frizura végleges kinézetéről amint azt tényleges instancált curve-ökké alakítjuk.

A maketteket gyakran használjuk első körös feedback-nek, hisz lehetővé teszi a kérések, megjegyzések összegyűjtését. Az asset volume-jainak korai reprezentálása később segít a ruhaszimulációk futtatásakor valamint biztosítja a tiszta, menedzselhető eredményt.

150612_SG_XGenTips_tubes_update
A block geometriájának részekre osztása arra kényszerít, hogy az egyedi jellemzőikre összpontosíts. Később a munkafolyamatot megismétled az instancing Description-ök Collection-ökbe csoportosításával XGen-ben.

3. Rendezd layer-ekbe a blocking modellt

Az asset kinézetének megtervezése után oszd fel a blocking geometriát layer-ekre. Az XGen ugyanazt a munkafolyamatot használja, lehetővé téve - vagy akár kikényszerítve - az instancing Description-ök Collection-ökbe csoportosítását.

A szakaszonkénti munkavégzés arra kényszerít, hogy mindegyik szekcióra külön-külön összpontosíts, továbbá lehetővé teszi, hogy a párhuzamosan haladhass a különböző részeken.

Ezenkívül, a monolitikus megjelenés hiánya életmentő lehet a nagyobb projekteknél, mivel elkerülhetjük, hogy a váratlan változások miatt mindent nulláról kelljen újrakezdeni.

150330_SG_XGenTips_4_Procedural_new
Bár a guide-ok hatékonyak a kicsi, statikus set-up-oknál, az instance-k map-ekkel történő vezérlésével procedurális marad az asset, megkönnyítve a változásokhoz történő alkalmazkodást.

4. Legyen procedurális, ami csak lehet

Az XGen két lényegesen különböző módot kínál az instance-k vezérlésére, melyek a guide-ok, vagy a map-ek/expression-ök.

A guide-ok olyan placeholder-ek, melyek meghatározzák az instance formáját a felület egy adott pontján. A többi instance formája a guide-ok közötti interpolációval generálódik. Statikus set-up-ok esetében ez egy hatékony, rugalmas megközelítés, mivel tetszés szerint hozzáadhatunk vagy átalakíthatunk guide-okat. Azonban ha nem használjuk őket körültekintően, akkor könnyen kicsúszhat az kezeink közül az irányítás, megnehezítve ezzel az asset későbbi kezelését.

Személy szerint inkább map-eket vagy expression-öket használok az instance-k vezérlésére, mivel teljesen procedurális formában tartják az asset-et, ezáltal rugalmasabbak. Ha így dolgozol, iteratív módon finomítsd a megjelenést: kezdd a nagy vonalakkal, melyek meghatározzák az alapképet, majd layer-ek és mask-ok segítségével fokozatos add hozzá a részleteket.

150330_SG_XGenTips_5_Scalp_Geometry
Egy általános fejbőr geometria kiterítve. Ha az instance-ket a fejbőrre, és nem a fejre helyezzük, akkor megvédjük az XGen beállításainkat alapmodell topológiájának változásaitól.

5. Használd a fejbőr geometriát

Az XGen egyik gyenge pontja a topológia-függés, tehát ha megváltozik a mesh, akkor az új geometriára kell transzportálni a groom-t. A set-up bonyolultságától függően ez nagyon időigényes, vagy akár lehetetlen is lehet.

Olyan produkciós környezetben, ahol más részlegekkel is együtt kell dolgozni, a dolgok gyakran - és sokszor drasztikusan - megváltoznak. A modell frissítése megváltoztathatja például a mesh vertex order-ét.

Ennek elkerülésére jó módszer a fejbőr geometriájának használata, melynek te vagy a tulajdonosa és a kezelője is. Ezek általában nem renderelhető, alacsony felbontású modellek, amelyek körbeveszik a renderelhető hálót és együtt deformálódnak. Ha az instance-ket erre a közbenső felületre helyezed, nem pedig a renderelhető mesh-re, akkor elkerülheted a meglepetéseket.

150330_SG_XGenTips_6_Dynamics
Maya force field irányítja az xGen spline-jait nHair-ben. Azoknál a shot-oknál, ahol nem használható az XGen saját dynamic solver-e, úgy strukturáld a rig-et, hogy a dinamika és az animáció külön maradjon

6. Különítsd el a szimulációt és az animációt

Ha olyan asset-en dolgozol, mely később animálva lesz, az asset statikus megjelenésének meghatározása csak fél siker. Fontos végiggondolni, hogy a groom hogyan fog animáláskor viselkedni. Kétféle motion-ről beszélhetünk: animáció és szimuláció. Az előbbi az alap modell saját mozgása; az utóbbi az instance-ok reakciója a mozgó test hatására - és gyakorlatilag bármilyen külső tényezőre.

Vegyük először az animációt. Az alap task az, hogy az instance-ok pontosan kövessék az alattuk elterülő geometriát, lehetőleg minél szebben és természetesen poppolás nélkül. A mesh deformálódása megváltoztatja a frame-ek közötti instance-k térbeli viszonyát, ami artefact-ot eredményezhet. Az XGen különböző technikákat kínál a poppolás elkerüléséhez - az Autodesk a Patch References (PRefs) használatát javasolja - melyre szükséged lesz ahhoz, hogy tökéletes render képszekvenciát tudj készíteni.

Ha animáltuk az alap mesh-t és azt azt követő instance-ket artefacts nélkül, akkor itt az ideje a szimulációnak. Az XGen saját dynamic solver-e egyszerű, kiválóan alkalmas az alap szimulációkhoz. Hero asset-ekhez azonban kifinomultabb solver-re lehet szükségünk, illetve sokszor át kell passzolni egy másik olyan department-nek a feladatot, akik a munka ezen részét kezelik.

Ilyen eseteknél el kell különíteni az animációt és a szimulációt, majd 'becsatlakoztatni' a szimuláció eredményét később. Ezek a végeredmények általában geometria cache formájában érkeznek, ezért olyan rig-re lesz szükséged, mely képes ezeket kezelni. Például wire deformerek formájában vagy animált guide-ok használatával, amelyek hajtják a hajcsomókat.

150501_SG_XGenTips_7_new
Egy XGen setup alap rendere V-Ray-ben. Elérhetőek readymade mental ray és RenderMan material-ok és shading node-k, de az utility node-k segítségével már renderelőkkel is renderelheted a set-upod.

7. Utility node-k használata más renderelőkhöz

Az XGen szorosan integrált mental ray-el és RenderMan-el, valamint saját shading és material node-k állnak rendelkezésre ezeknek a renderelőkhöz. Átfogó sablonkészletet kínálnak a gyakori esetekhez, lehetővé téve a set-up kinézetének és hangulatának gyors létrehozását.

Azonban egy produkciós környezetben esély van arra, hogy a lookdev-t, a lighting-ot, valamint a renderelést más-más csapat más renderelőkkel kezeli.

Ilyen esetekben használhatjuk az XGen utility node-ját az UV surface mappingjéhez, hogy bármilyen material-t, ramp-et, vagy egész shading hálózatot applikáljunk a groom-ra. Ez lehetővé teszi a komplexebb kinézet elérését. Nagyon sok node közül választhatunk, de a leghasznosabb az xgen_ptex_lookup.

150330_SG_XGenTips_8_PTex
Az XGen által használt tipikus Ptex textúrafájl. A Ptex fájlok torzításmentesek, de ember által nem olvashatók, így archiváld a map-eket más formátumokban is, különösen, ha a Photoshopban kell szerkesztened őket.

8. Mentsd el a texture map-eket Ptex és szabványos formátumokban is

Az alap map look-up a Disney által kifejlesztett textúra-formátum, a Ptex-en alapul. A Ptex rengeteg előnnyel rendelkezik a kanonikus UV mapping-el szemben. Legfontosabb tulajdonsága, hogy torzításmentes, mivel a sokszög minden oldala egyenként kivetítődik, és egy egyedülálló textúra fájlba map-elhető.

Hátránya, hogy a PTex textúrák topológiától függenek. Minél több map irányítja a riget, ez a metódus annál fájdalmasabb lesz.

Amikor map-et festesz, a Maya saját 3D paint tool-ját használod a classic UV set-en. A mentés gomb megnyomásakor a Maya automatikusan konvertálja a map-et Ptex formátumba. Ügyelj arra, hogy gondosan mentsd és archiváld az eredeti, nem Ptex map-eket. Ez a groom transzformáláskor életmentő lehet.

Figyelembe kell venni még azt is, hogy a Ptex térképek számunkra nem olvashatók, mivel a textúra patc-ek véletlenszerűen vannak elrendezve, a tényleges geometriára való térbeli hivatkozás nélkül. Ha a térképeket olyan külső alkalmazásban kell szerkesztenünk, mint például a Photoshop, akkor még fontosabbá válik a pre-PTEx formátumban történő archiválásuk.

150330_SG_XGenTips_9_Archives
XGen archívokkal instancált fák. A standard Maya geometriákat XGen archive geometriaként exportálhatjuk a jelenetfájlba, mely lehetővé teszi a az alap mesh módosítását és re-exportálását az instance-k közötti variációk létrehozásához.

9. Használd jól az archívokat

A geometria instancálása archívok segítségével történik. Ezek olyan fájlok, amelyek egyetlen instance geometriáját tárolják. Újra és újra elhelyezhetjük a geometriát, ugyanúgy, mint XGen saját primitívjeit.

Ez akkor hasznos, amikor pikkelyeznénk egy karaktert vagy fákat generálnánk egy erdőhöz, ilyenkor be tudjuk tölteni a memóriába a geometriákat, ezzel lehetővé téve egészen extrém mennyiségű asset készítését és szerkesztését.

Csakúgy, mint a primitíveknél, guide-ok, map-ek, illetve expression-ök segítségével szabályozhatjuk az instance-k közötti variációkat. Ismét kiemelném, hogy ahol csak lehet, ott szeretek procedurális eljárást alkalmazni. Első a szép általános kinézet elérése, majd ezután fokozaton adjuk hozzá a részleteket, például az instance módosításával és re-exportálásával az XGen’s Create MEL File opciójával.

Érdemes animálni a geometriát is: például wind cycle-t adhatunk hozzá a fákhoz. Az Xgen alap sequencer-ként is funkcionál, képesek vagyunk offset-elni az animációt expression-ök használatával. $Frame variable használatával határ a csillagos ég.

150612_SG_XGenTips_hairs_up
Komplett XGen hajrendszer. Asset készítéskor mindig hagyj kapacitást az extreme pózok kidolgozására és legyél felkészülve a szimulációs errorokra, akár jelenetenként.

10. Hagyj helyet a változtatásoknak

Egy animált asset surface-én dolgozni egyszerre modellezés és riggelés. Egy statikus karakter felépítésekor előre kell látnod, hogy hogyan fognak az instance-k viselkedni az animált pózokban.

Nagyon ritka az a helyzet, amikor megépítesz egy riget ami aztán végig tökéletesen működik, ezért gyakran shotonkénti javításokat kell majd alkalmaznod. Rendkívül fontos, hogy legyen stratégiád ezeknek a javításoknak a beépítésére. Kell egy kis helyet hagynod a végső retusálásokhoz.

Ez a fő oka annak, hogy a procedurális set-up-ot részesítem előnyben. Ezen a ponton szinte kénytelen vagyunk nem-procedurális eljárási technikákat alkalmazni a nem kívánt eredmények kijavítására, és nem akarjuk, hogy a javítások bármi másra hatással legyenek. A kezdeti rig strukturálásának legjobb módja projektenként eltérő, de a változásokra való nyitottság szükségessége egyetemes.

Meshmag