Voor de leek – Hoe 3D Renderen werkt. Deel 1: 3D modellen

[ ongeveer 10 min. leestijd ]

Welkom bij dit 1e deel van wat waarschijnlijk een 7 delige serie zal zijn over hoe 3D renderen werkt. Het is een uitleg voor de leek. Ik zal in principe alle elementen aankaarten van wat nodig is om een 3D render te maken. 3D modellen, Materialen, Texturen, Camera & compositie, Belichting, Renderen en Nabewerkingen. Na elk deel hoop ik dat je een beetje inzicht hebt gekregen in wat er nodig is om een 3D render te maken, en dus wat het is dat ik of een andere 3D artiest doet om een 3D artwork te maken. Ik zal op geen enkel onderwerp diep ingaan. Dit zal waarschijnlijk in toekomstige artikelen worden gedaan. Mijn belangrijkste doel is om wat inzicht en bewustzijn te verspreiden voor degenen die niet bekend zijn met 3D renderen. Dus laten we beginnen met dit 1e deel: 3D modellen.

Voor elke 3D render die wordt gemaakt is een hoofdonderwerp nodig. Voor productvisualisaties is dit een 3D model van je product. Zoals bijvoorbeeld de verrekijker in de thumbnail van dit artikel. Maar wat is een 3D model precies? En zijn er verschillende soorten 3D modellen? Dit zijn vragen die ik in dit artikel ga beantwoorden.

1. Wat is exact een 3D Model?

Een 3D model is eigenlijk niks meer dan een computer gegenereerde wiskundige weergave van oppervlakken in een driedimensionale (3D) ruimte, die samen een object vormen. In een computerprogramma wordt deze 3D ruimte normaal weergegeven door een 3-assig orthogonaal (de assen loodrecht op elkaar) coördinatensysteem, weergegeven door een x-, y- en z-as. Zoals je kunt zien in de afbeelding hieronder van een 3D model van een koffiemok:

Er zijn 2 hoofdmethoden om deze oppervlakken wiskundig te genereren. Dit zijn met NURBS en Polygonen. Ik zal beide kort toelichten.

2. Polygoon modellen

De meeste 3D modellen zijn opgebouwd uit polygonen. Een polygoon is niets meer dan een vlak dat opgebouwd is uit punten in een 3D ruimte. Alle punten worden via randen met elkaar verbonden (zoals in de oude tekenboeken waar je stippen moest verbinden om een figuur te tekenen). Het oppervlak dat dan afgesloten wordt door de randen wordt dan een polygoon genoemd. Laten we het onderstaande voorbeeld eens bekijken.

Een kubus is opgebouwd uit 8 punten. Elk punt noemen we een Vertex (Vertices voor meervoud). Er zijn in totaal 12 lijnen die de hoekpunten verbinden. Deze lijnen noemen we Edges. En de randen vormen in totaal 6 vierkante gesloten oppervlakken. Deze oppervlakken noemen we Faces ofwel Polygonen. Elke face is in dit geval een vierkante vorm. Het heeft 4 vertices en 4 edges en vormt een vierkante polygoon. Maar een polygoon kan meer of minder edges hebben. Zolang de edges maar een gesloten oppervlak vormen. Bijvoorbeeld in de onderstaande afbeelding zie je dat we vierkanten, driehoeken of n-gons kunnen hebben (dit is een polygoon van welke vorm dan ook met een totaal van n-aantal edges).

Voor professioneel werk werken we normaal gesproken in vierkante polygonen om een model op te bouwen. Dit komt omdat veel van de computertools die we gebruiken om 3D modellen te maken alleen kunnen werken als het model is opgebouwd uit vierkante polygonen. Bij het renderen in een 3D softwarepakket worden modellen vaak voor het render proces door de software verder omgezet naar driehoeken.

En daar heb je het. Alle 3D artwork die je ziet, bestaat in feite uit kleine vierkantjes en driehoekjes die een groter complex object vormen. Zoals het onderstaande object:

3. NURBS (Non Uniform Rational B-Spline) modellen

De afkorting van NURBS klinkt een beetje ingewikkeld, maar wat NURBS eigenlijk zijn, zijn oppervlakken die worden bepaald door wiskundig gedefinieerde curves in een 3D ruimte. Dus zoals polygonen worden bepaald door punten in een 3D ruimte die zijn verbonden door edges om een polygoon te vormen, worden NURBS wiskundig gedefinieerd door curves in een 3D ruimte die een oppervlak vormen wanneer de curves met elkaar verbonden worden. Dit maakt NURBS perfect gekromde wiskundige oppervlakken. Dit in contrast met polygonen die in feite stapsgewijze edges/faces zijn. Laten we eens kijken naar de voorbeeld NURBS hieronder.

We hebben 2 curves in de 3D ruimte. Elke curve wordt bepaald door wat je als een wiskundige formule kunt beschouwen. Als we nu de curves met elkaar zouden verbinden, krijgen we een wiskundig bepaald oppervlak in de 3D ruimte. Dit is een NURBS oppervlak. Als we nu een derde curve zouden hebben die aangeeft hoe het oppervlak tussen de eerste 2 curves moet vloeien, dan kunnen we bepalen hoe het NURBS-oppervlak moet worden opgebouwd, en daarmee in feite bepalen hoe het eruit moet komen te zien. Dit is wat er in het onderstaande voorbeeld gebeurt. Dit is eigenlijk wat NURBS zijn. Wiskundig gedefinieerde oppervlakken gedefinieerd door wiskundig gedefinieerde curves in een 3D ruimte.
Zo is het bijvoorbeeld voor de verrekijker dat alle delen ervan opgebouwd kunnen worden door NURBS oppervlakken uit curves die de vormen van alle verschillende onderdelen bepalen.

4. Tessellation

NURBS worden meestal gebruikt in technische en industriële engineering software zoals CAM (Computer Aided Manufacturing), CAD (Computer Aided Design) en CAE (Computer Aided Engineering) software. Het grappige is dat wanneer je een 3D Render van NURBS oppervlakken maakt, de NURBS normaal gesproken door de software worden vertaald naar polygonen voordat het renderen begint. Dit proces wordt Tessellation genoemd. Tessellation wordt soms ook gedaan wanneer een NURBS model geïmporteerd wordt in een 3D render software.
Hoe hoger de tessellation kwaliteit, hoe beter de polygoon vorm de oorspronkelijke NURBS vorm zal behouden. Maar hoe hoger de tessellation kwaliteit, hoe meer polygonen er worden gebruikt om de oorspronkelijke NURBS vorm weer te geven. Hierdoor wordt het model zwaarder om mee te werken en zal het meer tijd kosten om een model te renderen. De regel is: meer polygonen staat gelijk aan langere rendertijden. Hoe renderen werkt, wordt uitgelegd in een volgende blog post in deze serie. Dus voorlopig moet je me maar op mijn woord geloven.
Hieronder zie je een voorbeeld van de tessellation van een NURBS oppervlak met lage en hoge tessellation kwaliteit. Zoals je kan zien, als de tessellation kwaliteit hoger wordt, wordt de oorspronkelijke NURBS vorm beter behouden.

5. 3D modellen formats

Er zijn talloze verschillende 3D modelleer softwares in de wereld. Elk heeft zijn eigen bestandsformaat. Maar er zijn een paar algemene bestandsformaten waarvan ik denk dat je ze moet kennen. Dit zijn de meest voorkomende die je tegenkomt en welke vaak worden gebruikt om 3D modellen uit te wisselen. Dit zijn dan ook de meest voorkomende formaten waarmee ik werk voor mezelf en mijn klanten:

  • .OBJ (Object)- Meest algemene 3D modelformaat dat alleen 3D polygoon geometriegegevens bevat.
  • .FBX (Filmbox)- Ook een zeer algemeen 3D polygoon modelformaat, maar met het extra voordeel dat het gegevens kan bevatten over basis materialen (kleur en textuur) en animatie gegevens.
  • .STEP (STandard for the Exchange of Product data)- Meest basis 3D modelformaat voor CAD- en CAM-gerelateerde modellen. Dit bevat normaal gesproken NURBS gegevens van engineeringsoftware. Deze NURBS worden via tessellation naar polygonen omgevormd wanneer ik dit modelformaat importeer in de 3D render software die ik gebruik.
  • Dat is alle basiskennis die je moet hebben met betrekking tot 3D modellen om een eerste inzicht te kunnen krijgen. Natuurlijk valt er nog veel meer te leren over 3D modellen, maar dit geeft een beetje basisinzicht en begrip over waarmee ik elke dag werk om geweldige beelden voor mezelf en mijn klanten te creëren. Ik hoop dat je genoten hebt van deze post en iets nieuws hebt opgestoken. Laat het me weten als je hieronder nog vragen of opmerkingen hebt.

    Geef een reactie

    Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *