Tijdens de indroductie oefeningen ben je al een beetje in aanraking gekomen met materialen en misschien ook wel met texturen. Objecten heb je een kleur met wat glans gegeven door een 'aiStandardsurface' aan te maken en sommigen hebben hun boom ook echt een houtnerf textuur kunnen geven. Heel tof!
Maar nu gaan we er weer een stapje dieper op in. Want hoe zorg je er nou voor dat deze texturen tot leven komen met diepte, schaduwen, glans, weerspiegeling en ga zo maar door. Wat een mooi model met texturen echt geloofwaardig maakt is het correct 'uv-unwrappen' van je model. Dit houdt in dat je de afbeelding om je model wrapt. Om dat te doen, moet je het 3D model eerst uitvouwen tot een plat object. Dan pas kan je erop tekenen, Photoshoppen of Substance Painter gebruiken.
De drie oefeningen zijn correct uitgevoerd en ingeleverd.
Materialen aanmaken
Textures downloaden en toevoegen
Optimaal UV-unwrappen
Substance Painter (basis)
Verschillende texture maps begrijpen
Texture maps exporteren in importen
Om te beginnen moet je begrijpen wat het verschil is tussen een 'material' en een 'texture' (of texture map).
Een 'material' maak je aan om je mesh eigenschappen te geven, zonder een material is je mesh eigenlijk alleen een geometrisch object gevormd uit berekeningen in de 3D omgeving. Een materiaal bepaalt dus de optische eigenschappen van een object, denk aan kleur en hoe het bijvoorbeeld reageert op licht, dof, glanzend of spiegelend. Dit zijn allemaal verschillende soorten eigenschappen, maar ze werken samen om het algehele uiterlijk van het object te bepalen.
Een texture is een vaak een levensecht patroon, denk aan houtnerf in een plank, een bakstenen muur of gewoven stof van katoen. Het doorbreekt hiermee het vlakke uniforme eigenschap van een material. In de echte wereld zijn komen perfect uniforme oppervlaktes bijna niet voor, er zitten altijd wel oneffenheden in een oppervlak van welk materiaal dan ook. Textures voeg je toe aan een materiaal, zonder materiaal geen textuur op een object toepassen.
Materials
Textures
Hier zie je links de eigenschappen van de material met de texture, het glans effect komt door de metalness en roughness. Rechts zie je juist te texture met normal map zoals die is. De samenwerking zorgt juist voor het realistische effect.
Als je goed kijkt zie je een groef in de sphere. Dit is met een displacement map gedaan en wordt gebruikt om diepte en verhogingen in de geometrie van een mesh te simuleren. De waarde van elke pixel wordt gebruikt om de positie van de vertici van de mesh te wijzigen. Hoe meer vertici je hebt, hoe gedetailleerder de verplaatsing wordt. Je mesh blijft nog wel exact hetzelfde, dus deze sphere is nog steeds exact rond.
Websites voor (gratis) textures en meer: Polyhaven, Sharetextures, Texturebox, Megascans, CGBookcase
In de 3D-ruimte hebben we te maken met 3 assen, A, Y en Z. In een 2D omgeving praten we over een U en V as, het 3D object moet dus "plat" worden gemaakt zodat de 2D-texture eroverheen gelegd kan worden. Als je het 3D model vervolgens weer in elkaar vouwt dan "wrapped" je texture eromheen, vandaar de term UV-unwrappen. UV's zijn essentieel omdat ze de link vormen tussen het oppervlakte van de mesh en hoe de 2D-textuur op het 3D-oppervlak wordt getoont.
De stretching moet minimaal zijn. Dat controleer je met de stretch-test-texture of checker texture. Zeker op gebieden waar tekst komt, of patronen, zal stretching opvallen. Gebieden met een egale kleur, of een lichte gradient, kunnen meer stretching hebben. De seams mogen niet opvallen. Plaats ze op edges waar het niet opvalt. Kijk altijd naar echte objecten waar deze seams zitten. Bijvoorbeeld je kleren kun je makkelijk bekijken waar de seams zou moeten zetten. Een scherpe lijn in de texture is ook een perfecte plaats om een seam te zetten. Omdat seams lastig weg te werken zijn in Photoshop, is het slim om zo min mogelijk seams toe te passen.
Een grafische kaart kan maar een beperkt aantal textures inladen. Daarom moet je elke pixel in je texture benutten. Wanneer er veel ongebruikte witruimte in jouw texture zit, heb je jouw werk niet goed gedaan.
Maak het de Photoshopper zo makkelijk mogelijk. Zet recht, wat recht kan. Zet bij elkaar, wat bij elkaar hoort. Voorkom zoveel mogelijk dat elementen in spiegelbeeld staan. Wanneer een vorm symetrisch is, dan kan je vaak de texture van de linkerkant gebruiken voor de rechterkant. Dat bespaart heel veel ruimte in de grafisch kaart. Wanneer je later Normal-maps gaat maken, dan moeten lijnen horizontaal recht, of verticaal recht lopen. Dus niet schuin en niet gebogen. Anders ga je de seam in de normal-map zie
Ga naar UV-Editing workspace.
Er verschijnt een schaakbord patroon die je helpt om vast te stellen hoe je 'texture' straks op je model gewrapped zit. Je kan dit patroon eigenlijk al als texture beschouwen.
Tip: Rechtsbovenin kan je het patroon in helderheid verlagen, je kan dan beter de lijnen van je model zien.
Selecteer je hele model/mesh.
Ga in de UV editor viewport naar 'create' en klik dan op 'camera based'.
Je model is nu unwrapped op basis van je camera standpunt. Maar het is nu één grote 'uv-shell'. Deze ga je opdelen in meerdere kleinere uv-shells zodat het texturen (painten) straks makkelijker, bewerkbaar en gecontroleerd verloopt.
Open de UV toolkit, en ga naar het menu 'cut and sew'. Knippen en vastnaaien.
Dit doet precies wat het zegt, je gaat nu door middel van edges te selecteren, kniplijnen maken die volledig aan elkaar sluiten (edge loop).
Op deze edges onstaan 'seams', je knipt hier in feite je texture door. Het is erg verstandig deze seams zo te maken dat ze het minst opvallen. Bijv. precies in een hoek of waar een nieuw materiaal begint.
Zodra je dat is gelukt heb je een nieuwe UV shell gemaakt.
Op deze manier ga je heel je model af, houdt rekening mee dat je op plaatsen juist je texture wilt laten doorlopen. Zeker als die nerven bevatten zoals hout of marmer.
'Sew' seams weer aan elkaar wanneer je per ongeluk te ver bent gegaan met cuts maken.
Gebruik 'unfold' om de uv-shells uit te vouwen. Vaak zie je dan vanzelf of ze op de juiste manier uitvouwen, als je ziet dat ze teveel stretchen dan weet je waar je nog cuts moet maken.
Gebruik straighten UV's in situaties waarbij je een zeer specifieke naadloze texture in Substance Painter wilt toepassen.
Nu heb je allemaal verschillende UV shells die als je ze weer in elkaar vouwt, jouw model moeten vormen.
In het voorbeeld hierboven zie je dat het middelste stuk van het pilaar express kleiner is geschaald.
Aan het schaakpatroon is te zien dat we nu te maken hebben met een niet-overeenkomende 'texture density' (textuurdichtheid). Als je nu texturen zou gaan painten resulteert dit in zichtbaar te gedetailleerde of te weinig gedetailleerde oppervlaktes. Stel je voor dat met een dichte texel density je hele fijne houtnerven hebt en je texture steeds pixeliger wordt namate je 'texel density' steeds minder is.
Door de texeldichtheid gelijk te maken, kan een gestandaardiseerd niveau van textuurdetails in een asset of omgeving behouden blijven.
Met het gereedschap Texeldichtheid kunt u de resolutie van de gebruikte textuur specificeren, waardoor de texeldichtheid op de juiste manier kan worden berekend voor verschillende textuurgroottes, maar toch visueel consistent blijft.
Met de tool Texel Density kunt u de grootte van UV-eilanden of individuele polygonen snel schalen, zodat ze ongeveer hetzelfde aantal textuurpixels per meter werkelijke grootte omspannen. (Een UV-eiland is een verbonden groep polygonen in een UV-kaart.)
Nu heb je allemaal verschillende UV shells die als je ze weer in elkaar vouwt, jouw model moeten vormen.
Met de (shift+) 'Layout' tool kan je alle 'UV-shells' gelijkmatig verdelen over je UV-map. Voor een optimaal resultaat benut je zoveel mogelijk pixels van je 'UV-map'.
Gebruik 'Shell Padding' en 'Tile Padding' om ruimte rondom je shells te creëeren, dit wil je. Want dat maakt het painten straks veel makkelijker en "mors" je niet op oppervlaktes die je niet of anders wilt painten.
Je kan je snapshot in Photoshop lezen om hier textures in te maken. Hier komt nog een uitgebreide uitleg van het maken van textures in Photshop.
Ook kan je in Substance Painter textures maken. Hierbij een tutorialvideo van tijdens covid. Hij is wat ouder maar nog steeds up-to-date en toepasbaar.
Alle drie de oefeningen zijn uitgevoerd.
Uv-unwrapped
Textures toegepast
Render ingeleverd
UV snapshot per oefening ingeleverd
EXTRA
In de teamstegel van 3D art staat bij files een extra opdracht om je nog meer te stimuleren je eigen asset te maken en te texturen. Het moet een barrel worden zoals in de voorbeelden te zien is. Aan jou de keuze hoe je deze gaat modellen en voorzien van textures. Denk ook aan een bepaalde stijl. Realistisch of juist minimalistisch?