I N H OU D

 1. Begin

 2. Van echt naar virtueel

 3. De virtuele wereld

 4. Objecten

 5. Licht

 6. Camera's

 7. Rendering en ray-tracing

 8. 3D-animaties in de praktijk

 9. Tips & Trucs en meer

 10. 3D met een 3D-bril

 Bijlagen

 Textures en objecten

Een goede manier om een object een realistisch uiterlijk te geven is door gebruik te maken van een texture (textures worden ook wel maps of texture maps genoemd). Afhankelijk van het gebruikte 3D-programma krijgt elk nieuw object automatisch een egaal (plastic uitziend) uiterlijk. Een texture is niets meer dan een 2D-afbeelding van bijvoorbeeld een bepaald materiaal, dat op het oppervlak van een object wordt geplakt. Om dit te verduidelijken ziet u in onderstaande afbeelding een box met een neutrale grijze kleur. In de volgende afbeelding ziet u vervolgens de texture van een stenen muur die om het oppervlak van de box wordt geplakt. Het resultaat ziet u in de derde afbeelding. Verder ziet u in de viede afbeelding nogmaals de box met een aantal verschillende textures. Met behulp van een texture is ook het tafelblad van de voorbeeldtafel uit hoofdstuk 2 van een houten uiterlijk voorzien.

Box

Een box met een egale kleur

Texture

Een texture in de vorm van een muur

Box met texture

De box met de texture van de muur

Box met verschillende textures

De box met verschillende textures

Texture hout

De texture voor het tafelblad uit hoofdstuk 2

Texture hout op tafelblad

Het tafelblad voorzien van de texture

De meeste 3D-programma bevatten een bibliotheek met textures die u kunt gebruiken voor uw eigen objecten. Daarnaast wordt ook vaak de mogelijkheid geboden om textures te importeren. U kunt dan zelf textures maken en gebruiken in het betreffende 3D-programma. Een texture van een bepaald materiaal, zoals bijvoorbeeld hout, ijzer of glas, kunt u dus gebruiken om de indruk te wekken dat het object van dat specifieke materiaal is gemaakt. Daarnaast is het ook mogelijk om een texture te gebruiken om bijvoorbeeld een logo, of een specifieke afbeelding, op een object te plaatsen.

Bij een paintprogramma kunt u denken aan bijvoorbeeld Adobe Photoshop, of een eenvoudiger programma zoals Paintshop Pro van Jasc Software Inc Het kan ook handig zijn om een scanner te gebruiken om zo textures te maken door delen van foto’s, of afbeeldingen te scannen en te bewerken.



Bitmap

Een bitmap is een afbeelding die is opgebouwd uit pixels. Het tegenovergestelde van een bitmap is een vectorafbeelding. Bij dit laatste type bestaat de afbeelding uit objecten waarvan de gegevens opgeslagen zijn als coördinaten. Bijvoorbeeld de positie, lengte en richting van een lijn.

Seamless texture

Afhankelijk van het 3D-programma zal een texture op een bepaalde manier op het object worden geplaatst. Soms is de afbeelding kleiner dan het object zelf en daardoor zal de texture herhaald moeten worden, net zolang tot het hele object van de afbeelding is voorzien. In zo’n geval moet het patroon van de afbeelding wel geschikt zijn om herhaald te worden. De texture moet dus naadloos (seamless) op zichzelf aansluiten. Dit is vergelijkbaar met behangpapier met een vast patroon. Het programma Photoshop beschikt over diverse filters waarmee u zelf textures kunt maken met een kloppend patroon. U vindt deze filters in het menu Filter onder de naam Texture.

Goede texture

Patroon van een goede texture

Texture sluit goed aan

Omdat de patroon klopt, sluit de texture perfect op zichzelf aan

Textures verkrijgen

Op het World Wide Web (Internet) zijn diverse websites te vinden die gratis textures aanbieden die u copyrightvrij in uw eigen producten mag verwerken. Raadpleeg de zoekmachines op Internet voor een overzicht met websites die textures aanbieden. Daarnaast zijn er ook bedrijven die cd-roms verkopen die vol staan met textures.

 Mapping methods

Om een 2D-texture aan een object te plakken zijn mapping coordinates nodig, zodat de software weet hoe de texture gepositioneerd moet worden. Hiervoor zijn grofweg vier methoden, te weten: planar, box, cylindrical en spherical. Soms is een combinatie van mapping methods nodig om het gewenste resultaat te krijgen. Voor de mapping coordinates worden de letters UVW gebruikt, die in de meeste gevallen overeenkomen met X (horizontaal),Y (verticaal) en Z (diepte).

Bitmap texture

Bitmap texture - Kat: Jasper

 Planar mapping

De methode planar mapping is bij uitstek geschikt om een texture met een vlakke afbeelding toe te kennen aan een plat oppervlak. Als u bijvoorbeeld een kamer met een schilderij hebt gemodelleerd, dan kunt u een bitmap van een bestaand schilderij via planar mapping aan het schilderij toekennen. Als zowel het object, als de texture, dezelfde proporties hebben (hoogte en breedte), dan zal de map perfect passen. De texture wordt op en door het oppervlak heen gedrukt. Als u het object van de zijkant bekijkt, dan ziet u strepen. Als dit hinderlijk is, kunt u het verschijnsel verhelpen door een andere mapping methode te gebruiken, of door het object minder dik te maken.

Plannar mapping

Plannar mapping

Plannar mapping strepen

Strepen zichtbaar bij planar mapping aan zijkant van ‘dikke’ voorwerpen

 Box mapping

De methode Box mapping of cubic mapping is geschikt voor objecten die de vorm van een box hebben. Op elk vlak van de box wordt dan de texture aangebracht. Het ‘mappen’ van de texture gebeurt dus planar op elk van de zes zijden. Gebruik planar mapping voor objecten die rondom uit hetzelfde materiaal bestaan.

Cubic - box mapping

Cubic/box mapping

 Cylindrical mapping

De methode Cylindrical mapping is geschikt om textures te plaatsen die om een as worden gebogen. U kunt hierbij denken aan een etiket op het 3D-model van een fles, of een blikje. Een nadeel is dat niet veel voorwerpen echt volledig cylindrical zijn. In sommige gevallen kan de texture dan vervormen, of kunnen er problemen ontstaan op het punt waar het eind van de bitmap het begin van de bitmap tegenkomt.

Cylindrical mapping

Cylindrical mapping

 Spherical mapping

De methode Spherical mapping is speciaal bedoeld voor ronde voorwerpen, zoals bijvoorbeeld een bal, of een wereldbol. In principe gebeurt dit op dezelfde manier als bij cylindrical mapping, alleen worden de bovenkant en de onderkant ‘samengeknepen’ om de texture sluitend om het ronde voorwerp te krijgen. Echter, in sommige gevallen kan dit toch een verkeerd effect geven.

Spherical mapping

Spherical mapping

 Bump maps

Als u het oppervlak van een willekeurig voorwerp van dichtbij bekijkt, dan zult u in veel gevallen zien dat het oppervlak niet perfect glad is, maar dat het oneffenheden bevat. De sterkte van deze oneffenheid is afhankelijk van het materiaal van het oppervlak. Het oppervlak van een houten tafel, of de schil van een sinaasappel, is bijvoorbeeld veel minder glad dan het oppervlak van een ijzeren vork. Als u oneffenheden na wilt bootsen met een 3D-programma, dan zou u in principe heel veel extra polygonen nodig hebben om dit effect te bereiken. Hierdoor zal de computer veel moeten rekenen, waardoor meer geheugen nodig is en het betreffende 3D-programma dus meer werk zal moeten verzetten. Daarnaast is het een verschrikkelijk lastige klus om al deze oneffenheden met de hand te modelleren. Om deze problemen te omzeilen kunt u gebruikmaken van een bump map. Met behulp van een bump map wordt het uiterlijk van het oppervlak veranderd, zonder dat het oppervlak daadwerkelijk een fysieke verandering ondergaat. De bump map wordt als het ware over het oppervlak heen gelegd. Het 3D-programma zorgt er door middel van een wiskundige berekening voor dat het oppervlak er onregelmatig uit komt te zien. Een goed voorbeeld is het verschil tussen een glad plastic balletje en het ruwe oppervlak van een golfbal (zie onderstaande voorbeelden).

Glad plastic balletje

Glad plastic balletje

Onregelmatig oppervlak

Golfballetje met onregelmatig oppervlak

Om het effect van het gebruik van een bump map te illustreren, ziet u in onderstaande afbeelding een texture van een stenen muur. In de tweede afbeelding ziet u dezelfde texture, maar nu voorzien van een bump map waardoor de muur er veel realistischer uitziet.

Zonder bump map

Stenen muur zonder bump map

Met Bump map

Stenen muur met bumpmap, waardoor een meer realistisch uiterlijk ontstaat

Voor een theoretische uitleg over weerkaatsing van het licht ga ik even terug naar schoolbanken en stap ik het natuurkundelokaal binnen. Hier werd verteld dat de hoek waaronder het licht op het oppervlak valt, ook de hoek is waaronder de lichtstraal weer wordt gereflecteerd. Om de hoek van inval te bepalen wordt een lijn onder een hoek van 90 graden op het oppervlak geplaatst. Dit noemt men de normaalvector. De hoek tussen de invallende lichtstraal en de normaalvector is gelijk aan de hoek tussen de normaalvector en de uitgaande lichtstraal. In de volgende afbeelding ziet u dit grafisch weergegeven.

Hoek van inval

De hoek van inval is de hoek van uitval

Als een lichtbundel valt op een object met een relatief glad oppervlak, dan zullen de lichtstralen parallel aan elkaar ook weer het oppervlak verlaten. Deze vorm van reflectie noemt men in jargon specular reflection. U ziet dan ook in de volgende afbeelding dat de lichtstralen allemaal parallel op het oppervlak vallen en dat de gereflecteerde lichtstralen ook parallel worden weerkaatst. Daarnaast lopen ook de individuele normaalvectoren van de lichtstralen parallel.

Weerkaatsing invallende lichtstralen

De invallende lichtstralen worden parallel weerkaatst op een glad oppervlak

Het wordt een ander verhaal als een lichtbundel op een onregelmatig oppervlak valt, zoals bijvoorbeeld de schil van een sinaasappel. In dat geval valt de parallelle lichtbundel uiteen en zal elke gereflecteerde lichtstraal een andere richting opgaan afhankelijk van de toestand van het oppervlak waar de individuele lichtstraal op terechtkwam. Deze vorm van reflectie noemt men diffuse reflection. Het effect van diffuse reflection ziet u in onderstaande afbeelding. Zowel de gereflecteerde lichtstralen als de normaalvectoren van de individuele lichtstralen lopen niet langer parallel.

Onregelmatig oppervlak

Bij een onregelmatig oppervlak gaat iedere lichtstraal zijn eigen weg

Een methode van bump mapping is dat het 3D-programma de hoek van de normaalvector verandert om zo het effect van een veranderlijk oppervlak na te bootsen.

Bump Map

Met een bump map kunt u een object een realistischer uiterlijk geven. Het is echter vaak niet nodig om alle objecten in een scène te voorzien van een bump map. Het heeft bijvoorbeeld niet zoveel zin om een object dat ergens in de achtergrond van een scène staat, een bump map te geven. In veel van zulke gevallen zal het verschil namelijk amper te zien zijn en dat is dan zonde van de extra bewerkingen die het 3D-programma uit moet voeren.

[Vorige | Volgende]




(c) 2000 - 2015 Rogier Mostert