Några av de mest komplexa bildrutorna i Finding Dory tog över 600 timmar att rendera.
Teamet på Pixar färgar och animerar dock inte bara, och den tekniska sidan där söker ständigt efter nya sätt att förbättra det arbete som andra gör. Det har lett till Presto, ett program byggt för Pixar i samarbete med Maya, samt ett bibliotek med realtidsrenderings- och modelleringsverktyg.
Relaterat erbjudande:Strömma dina favoritfilmer från Pixar på Amazon Video nu
På Nvidias GPU Technology-konferens tre Pixar-anställda - grafikprogramingenjören Pol Jeremias, den ledande mjukvaruingenjören Jeremy Cowles och mjukvara ingenjören Dirk Van Gelder — förklarade hur filmskapande ledde till att skapa mjukvara, med några framträdanden från Pixar-favoritkaraktärer som kastades in för alltid mäta.
En unik utmaning
Som du kanske föreställer dig kräver Pixars banbrytande 3D-animation imponerande hårdvara. En del av utmaningen som är specifik för Pixar är att de flesta maskiner är byggda för hastighet, inte skönhet. Det är därför företaget byggde sina egna system specialbyggda för filmskapande.
Standardmaskinen hos Pixar drivs av en 2,3 GHz, 16-kärnig Intel-processor med 64 GB Bagge, och en 12GB Nvidia Quadro M6000. Om teamet behöver lite mer kraft, finns det en dubbel-CPU-konfiguration med två av de 16-kärniga chipsen, ett par M6000s och 128 GB RAM.
Och även dessa maskiner pressas till sin gräns under en aktiv arbetsdag. Det finns över 100 miljarder trianglar i en liten bild, fler än till och med den snabbaste speldator kunde hantera. Mater, från Cars, består av över 800 maskor, och nästan alla är deformerade på något sätt. Lägg därtill fiskstimarna i Finding Nemo, eller svärmarna av robotar i Wall-E, och behovet av att utveckla mjukvara internt blir bara mer pressande.
Presto
I hjärtat av Pixars mjukvarusvit är den tillbakadragna, proprietära Presto. Modelleringsmjukvaran, byggd i samarbete med Maya, ansvarar för allt från scenlayout, till animering, till riggning, till simulering av fysik och miljöer. Pixar visar det inte ofta offentligt. Lyckligtvis bjöds vi på en livedemo under presentationen på GTC.
Mycket av Pixars artikulation, animering, effekter och underindelning sker i realtid.
Prestos gränssnitt kan se bekant ut för alla som har tillbringat tid i 3D-modelleringsapplikationer som Maya eller 3DSMax, men det har arbetsflöde innovationer som hjälper konstnärer i olika delar av processen att hålla fokus på sitt arbete och inte behöva ta itu med onödiga information.
Samtidigt kan animatörer och riggare hitta en omfattande mängd data som är relevant för deras speciella roll, och flera metoder för att artikulera delar av nätet. Modellerna för karaktärer är inte bara enskilda delar. Att ta tag i Woodys fot och flytta den upp och ner artikulerar också hans andra leder och tyget i omgivande områden.
Som ett länge Pixar-fan kunde jag inte direkt peka ut några artefakter eller grafiska konstigheter i livedemon. Det hjälper att det bara var Woody och Buzz på en grå bakgrund, men texturerna var skarpa, animeringen var ren och reflektionerna var korrekta och realistiska. Även en närbild fokuserad på Woodys märke såg perfekt ut. Och allt hände i realtid.
Utnyttja samarbetskraft
En av Prestos tidiga begränsningar var dess oförmåga att hantera samarbete, så Pixar satte sig för att ta med funktionaliteten i sitt arbetsflöde. Resultatet är Universal Scene Description, eller USD. Detta samarbetsgränssnitt tillåter många Pixar-artister att arbeta på samma scen eller modell, men på olika lager, utan att trampa varandra på fötterna.
Presto-demonstration på NVIDIAs GTC-konferens
Genom att hantera varje aspekt av scenen individuellt – bakgrunden, riggen, skuggningen och mer – kan en animatör arbeta på en scen medan en artist bättrar på karaktärernas utseende, och dessa förändringar kommer att återspeglas i renderingar över hela styrelse. Istället för ramar beskrivs scener i termer av lager och referenser, ett mycket mer modulärt tillvägagångssätt för traditionell 3D-modellering.
Relaterat erbjudande:Ström Monster universitet på Amazon Video nu
USD användes först på Pixar i produktionen av den kommande filmen Finding Dory, och blev snabbt en integrerad del av arbetsflödet. Dess framgång har inte begränsats till Pixar, och program som Maya och Katana integrerar redan USD. Tillgångar i dessa program kan flyttas och kopieras fritt, men det är inte allt som finns i historien.
Van Gelden visade hur Pixar tar USD ett steg längre med ett nytt program som heter USDView. Det är avsett för snabb felsökning och allmän iscensättning, men även det blir allt mer sofistikerat. I en demo öppnade USDView en kort scen med 52 miljoner polygoner från Finding Dory på bara några sekunder på en mobil arbetsstation.
Faktum är att Van Gelden gjorde det flera gånger bara för att betona hur smart programvaran är. Det är inte bara en snabb förhandsgranskning heller. Det finns en begränsad uppsättning kontroller för uppspelning och kamerarörelse, men det är ett bra sätt för artister att få en uppfattning om blockeringen eller iscensättningen av en scen utan att behöva starta den i Presto.
USD, med USDView inbyggt, kommer att lanseras som programvara med öppen källkod i sommar. Den kommer till en början att finnas tillgänglig för Linux, men Pixar hoppas kunna släppa den för Windows och Mac OS X senare.
Multiplicera polygoner
En av de viktigaste metoderna för att förfina 3D-modeller är underindelning. Genom att ständigt bryta ner och omdefiniera polygoner ökar renderingens komplexitet – men det gör också noggrannheten och detaljnivån. I videospel finns det en gräns för hur långt indelning kan gå innan det skadar prestandan. I Pixars filmer är dock himlen gränsen.
För att ge ett exempel på hur långt indelning kunde gå, visade Jeremias ett exempel på ett enkelt 48-polygonnät. Nästa bild visade polygonen efter en omgång av indelning, såg mycket renare ut och hade 384 polygoner. Efter ytterligare en omgång hade formen jämnat ut sig helt, men kostnaden var ett nät med över 1,5 miljoner polygoner. Jeremias noterade att dessa underavdelningar är mest märkbara vid kontaktpunkter mellan två modeller, och särskilt på en karaktärs fingertoppar.
Pixar förlitar sig på underavdelning så mycket att företaget byggde sin egen underavdelningsmotor, OpenSubDiv. Det är baserat på Pixars ursprungliga RenderMan-bibliotek, men har ett mycket bredare API. Den är också utformad med USD i åtanke, för enkel integration i arbetsflödet.
Tillkalla Hydran
Om du vill se hur dessa element läggs ihop utan att behöva rendera en sista scen, är Hydra svaret. Det är Pixars realtidsrenderingsmotor, byggd ovanpå OpenGL 4.4. Viktigt är att den är byggd speciellt för långfilmsproduktion och den är byggd för snabbhet.
Texturerna var skarpa, animeringen var ren och reflektionerna var korrekta och realistiska.
Det är inte en slutgiltig lösning för slutlig rendering, men det kan hjälpa till att sammanföra många effekter och detaljer för en mer exakt representation av hur en scen kommer att se ut än vad USDView kan förse. Den stöder också funktioner som hårdvaru-tesselerade kurvor, markering och hantering av hårdvaruinstanser.
Även andra effekt- och medieföretag har arbetat med Pixar för att integrera Hydra i deras arbetsflöde. Industrial Light and Magic, specialeffektföretaget bakom Star Wars-filmerna, har byggt en hybridversion av sin mjukvara som är byggd kring Pixars teknologi. I fallet med Millennium Falcon betyder det 14 500 mesh och 140 texturer på 8K vardera - ingen liten bedrift, även för extrema arbetsstationer.
Det handlar dock inte bara om att skapa modellerna och animera dem. En stor del av att sätta stämningen och polera en film involverar efterbearbetningseffekter. Konstnärerna och utvecklarna på Pixar ville ha en lika intuitiv och strömlinjeformad process för att lägga till och hantera effekter.
Och det är ganska många att hantera. Cowles visade upp en lista över efterbehandlingseffekter som inte skulle se malplacerade ut i Crysis grafikinställningar. Det inkluderar omgivande ocklusion, skärpedjup, mjuka skuggor, rörelseoskärpa, en handfull ljuseffekter och masker och filter i en mängd olika smaker. När du tittar noga på en rendering av en undervattensscen med Dory och Nemo, blir den kulmiativa effekten av dessa extramaterial snabbt.
Realtid, en ny utveckling
Idag sker mycket av Pixars artikulation, animering, effekter och underindelning i realtid. Så var det inte alltid. Van Gelder visade detta genom att stänga av funktionerna som nu är möjliga att omedelbart förhandsgranska med den moderna verktygsuppsättningen. Skuggor försvann, stora detaljer som pupiller och markeringar försvann och alla utom den mest grundläggande färgblockeringen försvann.
Det exemplet drev hem den enorma omfattningen av varje scen i dessa filmer. Komplexiteten i bara en liten scen överväger vida även de mest avancerade videospelen, och utdelningen är enorm.
Även med all den imponerande hårdvaran och specialbyggda mjukvaran tog några av de mest komplexa ramarna i Finding Dory över 600 timmar att slutföra. Det är en kostnad som företag som Pixar måste ta hänsyn till i budgeten för en film, men egen specialbyggd programvara hjälper till att effektivisera de viktiga områdena.
Redaktörens rekommendationer
- Tre ultrasällsynta RTX 4090 GPU: er är dolda i Cyberpunk 2077
- Nvidia GTC 2022: RTX 4090, DLSS 3 och allt annat meddelat
- Nvidia GPU: er dominerar Neweggs försäljning, trots högre priser
- Nvidia omfamnar ARM med sina nya Grace superdatorprocessorer
- Intervju: Hur regissörerna för Pixar’s Soul konstfullt animerade livet efter detta