3D - De gereedschappen

3D-modellen maken | Rendering

3D-modellen maken

Over het algemeen wordt een onderscheid gemaakt tussen het proces van het bouwen van de modellen en zeg maar het verfilmen ervan. Het laatste proces is zeer rekenintensief en in het geval van een nauwkeurige verbeelding door middel van raytracing of radiosity kan het vaak voorkomen dat voor een enkele afbeelding tientallen miljarden berekeningen nodig zijn. Heel lang vond deze bewerking daarom bij voorkeur met zo min mogelijk 'overhead' onder het kale DOS plaats. Een voorbeeld van een dergelijke rendering is die van het fabuleuze Persistence of Vision (PoV).

Het is duidelijk dat voor het fabriceren van een model zelf de voorkeur zal uitgaan naar een visuele ontwikkelomgeving waarbij je direct ziet wat de resultaten van je ingrepen zijn. Hierbij maken we dus graag gebruik van het grafische interface zoals dat door de Macintosh, door Windows op de PC en door de grafische shells bij Unix en Linux wordt geboden. Het licht ook voor de hand dat vooral hier een flinke hoeveelheid computerkracht is vereist en waar mogelijk grijpt men dan ook naar parallel-processing door meerdere processors tegelijkertijd, maar daarin lopen de meeste besturingssystemen nogal achter.

De modelmakerij

Inderdaad lijkt het modelleergedeelte van de verschillende programma's het meest op een werkplaats met allerlei gereedschappen uit de echte wereld, zoals zagen en draaibanken, beitels en schuurmachines. Daaraan heeft het vaak ook iets van een pottenbakkerswerkplaats. In de praktijk worden allerlei soorten gereedschappen door elkaar gebuikt en is het enige doel om zo efficient mogelijk te komen tot het model dat je in gedachten hebt. Daarvoor is het absoluut nodig om de bewerkingen als het ware 'in je vingers' te krijgen. En dat kan alleen door veel te oefenen.

In veel gevallen kan het uitgangspunt bestaan uit een of meerdere primitieve vormen die vervolgens worden bewerkt. Tot die bewerkingen behoort het samenvoegen of van elkaar aftrekken van vormen. Daarnaast kunnen 2 dimensionale vormen worden getransformeerd tot 3 dimensionale door betrekkelijk eenvoudige technieken als extrusie, lathing en skinning. In alle gevallen is het zeer nuttig om eerst een duidelijke schets te maken waar je vervolgens systematisch naar toe werkt. Zo'n schets kan natuurlijk ook een foto zijn of zelfs een ruw model van hout, kunststof of klei.


Absolute en relatieve coördinaten

Hoewel de zichtbaarheid op het scherm natuurlijk belangrijk is, ontkomen we niet aan de noodzaak om elk punt te voorzien van exacte coördinaten en dat gebeurt door middel van een numerieke waarde voor de X-, Y- en Z-as ervan. Er wordt hierbij wel gesproken van wereldruimte (world space) of van wereldcoördinaten. Dat zijn gewoon de waarden ten opzichte van een vast uitgangspunt in het werkvlak of werkscherm. Deze waarden gelden als absoluut. Additionele objecten kunnen echter ook relatieve coördinaten aannemen - deze zijn dan aangegeven ten opzichte van het eerste object.

Natuurlijke vormen

Een voor de hand liggende manier om in de werkelijke wereld tot plastische en natuurlijke vormen te komen is natuurlijk het boetseren met klei. Wel, daarvoor bestaan in de modellerprogramma's verschillende equivalenten: je kunt een virtueel model in elkaar duwen of uitrekken net zoals een bonk klei, maar er bestaan ook subtieler methoden zoals het werken met een (denkbeeldige) magneet die bepaalde delen naar zich toetrekt of het merkwaardige verschijnsel 'morphing' waarbij een figuur geleidelijk in een andere figuur overgaat.

Rendering

Licht en schaduw

Eerstverantwoordelijk voor welke beeldvorming dan ook is natuurlijk een of andere lichtbron. Dat is in de echte wereld het geval en evenzo in een gesimuleerde. Zonder licht geen beeld, zo eenvoudig is het in feite... Voor scenes die in daglicht spelen kan in principe een enkele lichtbron volstaan. Dat doet heel natuurlijk aan als een virtueel substituut voor de zon. Voor situaties die zich bij kunstlicht afspelen wordt het ingewikkelder door de onderlinge beinvloeding van vaak meerdere lichtbronnen en de vele weerkaatsingen van licht op muren e.d. Het spel van licht en schaduw bepaalt daarbij in belangrijke mate het gevoel van diepte, maar daarnaast speelt hierin ook de opgedane ervaring met vormen en structuren mee.

Dit zijn allemaal belangrijke elementen voor een enigszins realistische weergave van de kunstmatige, virtuele wereld zoals we die als het ware binnen in de computer laten ontstaan. De verdere mate van realisme wordt daarbij bepaald door de manier waarop de schaduwen worden berekend. Dat betreft dan zowel de plastiek door de verdeling van licht en schaduw op het voorwerp zelf als de manier waarop schaduwen op bijvoorbeeld de ondergrond worden veroorzaakt. Verderop gaan we daarom wat nader in op de verschillende manieren waarop de schaduwvorming bij het zogeheten 'renderen' tot stand komt.

Ook voor het zichtbaar maken van de alom tegenwoordige structuren is het spel van licht en schaduw onontbeerlijk. Vaak is het een gebrek aan structuur die een met de computer gemaakte afbeelding als zodanig doet herkennen. We zullen dus moeten proberen de werkelijke wereld nauwkeurig na te bootsen, maar zoals meestal laat de (analoge) werkelijkheid zich slechts bij benadering digitaal vertalen. Dat desondanks toch vaak zo'n hoge mate van realisme kan worden bereikt heeft vooral te maken met het feit dat onze ogen en hersenen zich zo makkelijk laten foppen. Een principe waarvan we al veel langer gebruikmaken bij 'bewegende' film en televisie.

Wat betreft de structuurweergave kunnen we in plaats van met een ingewikkelde berekening ook met een halftransparante afbeelding van de gewenste schaduw werken, 'mapping' en 'bump mapping' genoemd. Meestal volstaat hiervoor een zwart/wit afbeelding. Door onze ogen/hersenen wordt het geheel vertaald in de bergen en dalen die er in werkelijkheid dus helemaal niet zijn. Een nog eenvoudiger manier om een structuur zoals bijvoorbeeld die van hout te suggereren is door er gewoon een foto op te plakken. Dit mist uiteraard werkelijke dynamiek, maar is vooral voor objecten op afstand vaak voldoende.

Van 3D-ruimte naar beeldscherm

Onder het begrip 'rendering' wordt in de 3D-wereld de vertaling verstaan van de virtuele drie dimensionele voorstelling in de computer naar het platte vlak van het beeldscherm. Je zou dit kunnen vergelijken met het begrip 'sampling' zoals dat bij het digitaliseren van geluid plaatsvindt en inderdaad kom je ook dit woord wel eens tegen. Het is duidelijk dat de eerste beperking waartegen we oplopen het maximaal aantal beschikbare beeldpunten (pixels) is. In feite is dat ook het uitgangspunt voor het verder renderproces. Samen met het beschikbare aantal kleuren.


Snelheid versus kwaliteit

Er bestaan verschillende rendermethodes die een onderscheiden mate van realisme te zien geven. Het is echter altijd zo dat toenemend realisme gepaart gaat met een sterke toename van de rendertijd. Uitgaande van een zogenaamde wireframe-voorstelling zou je als eenvoudigste rendering de weergave kunnen zien waarbij de afgedekte lijnen worden weggelaten (hidden lines removal). Daarop volgt de flat shading, waarbij als het ware alle polygonen waaruit het voorwerp bestaat ondoorzichtig worden gemaakt en van een berekende vlakke kleur worden voorzien.

Veel toegepaste rendermethoden zijn de Gouraud- en de Phongshading waarbij een redelijke balans bestaat tussen de kwaliteit en de snelheid. Bij oudere programma's zoals de eerste versies van Studio 3D was een Phongshading het hoogst haalbare, maar daarmee wordt tegenwoordig beslist geen genoegen meer genomen en wordt eigenlijk standaard het tijdrovende 'raytracing' toegepast. Hierbij wordt in feite elke pixel van het beeldscherm herleid naar zijn oorsprong en dienovereenkomstig ingekleurd. Doordat optische wetmatigheden uit de werkelijke wereld worden toegepast ontstaat een hoge mate van realisme.

Foto- of filmstudio metafoor

Er bestaan programma's die uitmuntende 3D illustraties afleveren, maar die geen of slechts zeer beperkte animatie-mogelijkheden bezitten. Anderen daarentegen kennen uitgebreide faciliteiten om complete films te maken, compleet met geanimeerde camera's. Deze bezitten veelal ook opslagformaten die voor digitale video noodzakelijk zijn, maar dan kom je al snel op het gebied van professionele toepassingen met een overeenkomstig hoge resolutie. Een voorbeeld is het programma Lightwave dat veel toepassing vindt in Science Fiction series als Babylon, maar ook in Jurassic Parc.

Speciale effecten

Er zijn ontelbare effecten die een rol kunnen spelen bij de opbouw van een 3 dimensionale scene. Voor een deel kunnen die behoren tot de kenmerken van voorwerpen zelf, zoals het reageren op zwaartekracht of op botsingen. Dit wordt veelal samengevat onder de naam applied physics. Dan zijn er zaken als partikel systemen (particle systems), waarmee vallende sneeuw of regen, maar ook rook en vuurwerk-effecten kunnen worden nagebootst. Andere veel toegepaste effecten hebben vooral betrekking op licht, zoals een lensflare en bliksem.

Speciale effecten (ook wel aangeduid als post-processing) kunnen vaak worden toegepast door middel van plugins, maar dan moet het programma dergelijke additionele programma's natuurlijk wel ondersteunen. Je dient daarbij onderscheid te maken tussen statische en dynamische effecten. De eerste kennen we ook als Photoshop plugins, tot de laatste behoren ook de After Effects plugins van hetzelfde Adobe. Tot de effectfilters kunnen betrekkelijk rustige zaken als structuren behoren, maar ook zeer exotische en psychedelische waarmee het oorspronkelijke beeld vrijwel onherkenbaar wordt.

Resolutie

Het is duidelijk dat een hogere resolutie ook een langere rendertijd teweegbrengt, maar dat kan nog onverwacht oplopen. Het is daarom dat elk programma een preview-mode kent waarbij een afbeelding behalve de realtime wireframe-weergave ook een soort proefrendering in een lage resolutie laat zien. Soms zie je trouwens ook zo'n rendering in een klein extra schermpje om het verloop te kunnen volgen. Een raytracing in een hoge filmresolutie loopt immers volledig van een normaal computerscherm af en kan bovendien uren in beslag nemen. Dan wil je toch wel graag weten hoe het ermee staat.

Er is uiteraard een nauw verband tussen resolutie en beeldformaat en de begrippen worden vaak door elkaar gebruikt, wat strict genomen niet juist is. De gebruikelijke beeldformaten bij de computer lopen grofweg van 640x480 pixels tot 1280x1024 pixels. De werkelijke resolutie bedraagt daarbij 72 of 94 ppi (pixels per inch). Een film werkt met heel wat hogere resoluties, dus daar moet een programma wel voor zijn gemaakt. Behalve de resolutie is er overigens nog een verschil, want bij film worden exact vierkante pixels toegepast en ook daarin kan lang niet elk programma voorzien.

t e r u g