Blender workshop deel 4: modellen in scènes
Met Blender kun je in de virtuele wereld foto’s maken zoals in de werkelijkheid, maar dan zonder dure en zware apparatuur. Je hoeft bovendien niet een eind te vliegen als je je modellen wilt laten zien in het licht van een Venetiaanse zonsondergang.
In de eerste drie delen van onze 3D-workshop heb je plastische modellen gevormd en hun oppervlakken met realistische materialen vorm gegeven. In de Shading Workspace ziet het resultaat er al best goed uit. Nu rest alleen het renderen van de scène nog. Want pas bij het renderen ontstaat uit de 3D-gegevens een realistisch beeld, dat je in formaten zoals PNG en JPEG kunt vereeuwigen en laten zien. In deze workshop zijn we uitgegaan van Blender 2.81.
Laad het bestand met de houten trein en de porseleinen mok. Als je een van de vorige workshopdelen hebt gemist, kun je de projectbestanden voor deze workshop vinden via de link op de laatste pagina van dit artikel. Met de F12-toets of de menuopdracht ‘Render / Render Image’ zorg je ervoor dat de render-engine een stilstaand beeld berekent. Eerst wordt een nieuw venster geopend, waarin na korte tijd de gerenderde objecten moeten verschijnen. Het resultaat verschilt echter aanzienlijk van wat Blender weergeeft in de Shader Editor.
De foto lijkt vanuit een heel ander perspectief te zijn genomen en bovendien zijn bij de koffiemok en de speelgoedtrein de reflecties verloren gegaan die in de viewport duidelijk zichtbaar zijn. In de viewport ontbreken juist de highlights die op verschillende punten in de render oplichten. Een aanwijzing voor wat er aan de hand kan zijn is de egale, donkergrijze achtergrond: het lijkt erop dat Blender andere lichtbronnen en een andere achtergrond voor het renderen heeft gebruikt dan bij de viewport-weergave in de Shading-workspace.
ECHTE RENDER-WEERGAVE
In de Shading-workspace staat de viewport standaard in de modus Material Preview – herkenbaar aan de twee kogels rechtsonder. Die modus is bedoeld voor werken met materialen. Hij simuleert als het ware een soort laboratoriumomgeving met gestandaardiseerde verlichting, waarin materiaaleigenschappen snel en betrouwbaar kunnen worden bekeken. Als je rechtsboven op de meest rechtse van de vier bolvormige pictogrammen klikt, verandert de weergave van de viewport in de render-preview.
Blender kijkt voor die preview alleen naar de verlichting die je voor de scène gedefinieerd hebt. Aangezien je daar nog niets in hebt aangepast, verschijnen de objecten met de vrij neutrale standaardverlichting. Daarbij zie je een donkergrijze achtergrond en een enkele puntlichtbron die de highlights veroorzaakt.
Er zijn nog andere verschillen tussen de twee modi: in de Viewport Render kun je verschillende effecten inschakelen die de Material Preview juist zouden verstoren. Als je ook een andere render-engine gebruikt dan de standaardoptie Eevee, worden de verschillen nog opvallender. Dat is slechts bijzaak, want je gaat nu snel een passende omgeving voor de scène regelen. Daarvoor hoef je geen professionele belichtingsexpert te zijn, want Blender kan zelfstandig allerlei instellingen berekenen op basis van een sfeerfoto.
LICHT DOWNLOADEN
De Material-Preview-modus haalt de reflecties en belichting uit een 360°-panoramafoto met een hoog dynamisch bereik. Deze High Dynamic Range Images (HDRI) kunnen zowel extreem heldere objecten als beeldelementen in de schaduw gedetailleerd weergeven. Een hoogwaardige HDRI met een dynamisch bereik van 24 f-stops en meer kan zelfs de zon weergeven als een bal met een zichtbare tekening in plaats van als een overstraalde witte schijf.
Beschouw de scène in de virtuele wereld van Blender alsof die zich bevindt in een bol met een extreem grote straal, vergelijkbaar met de hemel boven onze hoofden. Op dat gebogen oppervlak, dat in Blender World wordt genoemd, kun je een 360-graden HDRI-panorama leggen, vergelijkbaar met het leggen van houtnerf als textuur over de onderdelen van de speelgoedtrein.
Net zoals Blender daarbij de helderheid van het oppervlak van het object berekent aan de hand van de kleuren van de textuur, zo reconstrueert het uit de kleurtinten in de HDRI de belichting voor de opname. Dit type beelden omvat dus een volledige belichtingssituatie, die Blender afzonderlijk van het onderwerp bijhoudt en kan toepassen op elke scène.
WERELDVERBETERAAR
Praktisch gezien hoef je hiervoor niet te reizen of foto’s te maken, want van een Venetiaanse zonsondergang tot aan het Noorse noorderlicht is bijna elke denkbare sfeer te downloaden. Sommige sites zoals HDRI Haven zijn gespecialiseerd in High-DynamicRange-beelden en staan zelfs commercieel gebruik toe zonder de naam van de auteur te noemen. Je kunt daar de zonsondergang van Venetië downloaden in een resolutie van 4K of beter (zie de link op de laatste pagina van dit artikel).
In Blender creëer je een World met dezelfde methoden als andere objecten, maar met een paar beperkingen. In de Shader Editor zie je onder de 3D-viewport, links van het uitklapmenu voor de materiaalkeuze, een ander menu dat standaard staat ingesteld op Object. Verander dat in World. De Shader Editor geeft dan de twee standaard-nodes van de wereld weer, namelijk World Output en Background. Background is gekoppeld aan de Surface-socket van World Output. Dat zorgt er eenvoudigweg voor dat de omgeving van de scène bestaat uit een oplichtende achtergrond.
De helderheid wordt geregeld door de twee ingangen Strength en Color. Je kunt je dat voorstellen alsof Blender de basishelderheid bepaalt via de Color-input en dat vermenigvuldigt met de waarde van Strength. Het pas gedownloade panorama moet dus de input worden voor de Color-socket.
Maar pas op: het toevoegen van een afbeelding via slepen en neerzetten werkt in dit geval niet omdat de HDRI-panorama’s met een speciale techniek op de achtergrond worden gemapt. Daarvoor is een aparte node nodig. Met gewoon slepen en neerzetten zou je alleen een standaard Image-node toevoegen.
Selecteer in plaats daarvan ‘Add / Texture / Environment Texture’ en verbind de nieuwe node met de Color-input van de Background-node. De hele scène zal plotseling in paars-roze oplichten. Met die kleur geeft Blender aan dat er een textuur ontbreekt. Maar omdat het object waarbij een textuur ontbreekt de hele achtergrond is, wordt meteen de hele scène gekleurd. Overigens werd deze opvallende kleur in de jaren tachtig van de vorige eeuw gedefinieerd als een semiofficiële kleur voor fouten in computerbeelden, omdat het meer voor de hand liggende rood al te vaak normaal werd gebruikt. Een onderzoek binnen de nog jonge community voor computer-graphics naar de minst populaire kleur leidde tot deze kleur.
Kies Open in de nieuwe node en navigeer naar de zojuist gedownloade HDRI. Laat je niet in de war brengen door het nieuwe ontwerp van de bestandsbrowser. De knop om de afbeelding te laden bevindt zich in de rechterbenedenhoek en is voorzien van het label ‘Open Image’.
Eindelijk verschijnen de trein en de mok in de gloed van een Venetiaanse zonsondergang. In tegenstelling tot bij de Material-Preview-modus verschijnt de achtergrond niet wazig, maar duidelijk zichtbaar. Als je de node selecteert en de zijbalk aan de rechterkant opent met de sneltoets N, vind je een functie onder ‘Texture Mapping’ om de textuur langs de Z-as te draaien. Daarmee kun je de omgeving draaien totdat je de reflecties en de algehele verlichting van de objecten mooi vindt.
Je kunt je afvragen waarom je een HDRI moet downloaden, terwijl Blender dergelijke beelden schijnbaar al aan boord heeft. Maar aangezien Blender nog geen Asset Manager heeft om texturen, materialen, 3D-modellen enzovoort te beheren, zijn de HDRI’s moeilijk toegankelijk. Daarom werkt dit momenteel beter met een zelfgebouwde, overzichtelijke bibliotheek – vooral omdat de intern beschikbare beelden ook uit HDRI Haven komen, maar in een veel lagere resolutie worden geladen.
ZELFBOUW FOTOSTUDIO
Dankzij de HDRI tovert Blender nu een realistische verlichting met even realistische reflecties in de scène tevoorschijn. Helaas oogt de totale compositie nogal amateuristisch: dit Venetiaanse straatbeeld past gewoon niet bij elk 3D-object en de objecten hebben geen grip op de omgeving, maar lijken te zweven. Een neutrale achtergrond is nodig: met een achtergronddoek zoals in een fotostudio kun je ongewenste achtergronden en zwevende objecten verhelpen.
Schakel over naar de viewport, druk Shift+S en kies vervolgens ‘Cursor to World Origin’. Voeg een laag toe met behulp van ‘Add / Mesh / Plane’. Vergroot die in de Edit-modus met een factor vijf met de toetsenreeks S en 5, zodat de laag voldoende ruimte heeft voor beide objecten. Pas anders de grootte verder aan. Activeer dan het selectiegereedschap voor randen, selecteer de achterste rand en extrudeer deze drie meter naar boven. De werkbalk is standaard verborgen in de Shading-modus. Met de sneltoets T of het pijltje in de linkerbovenhoek van het Editor-venster laat je hem verschijnen.
Het lijkt er misschien niet op, maar de mok is twee meter hoog, omdat we voor het gemak hebben afgezien van het modelleren van echte maten. Het enige belangrijke is nu dat de wand aan de achterkant boven de objecten uitsteekt.
STUDIO-ACHTERGROND
Ga terug naar de Object Mode. Het is mogelijk dat de speelgoedtrein of de mok niet perfect op de vloer staat, maar er boven of in staat. Pas in dat geval de positie aan. Je kunt alle onderdelen van de speelgoedtrein in één keer selecteren door met de rechtermuisknop op de collectie te klikken in de outliner en ‘Select Objects’ te kiezen.
De bodem heeft nu een achterwand, maar de overgang is een harde rand en geen vloeiende overgang. Herinner je je het eerste deel van de workshop serie waar je de blokken van de speelgoedtrein afrondde met een afschuining? Je kunt dat ook van binnenuit doen, zodat je het kunt gebruiken om de overgang van de vloer naar de achterwand af te ronden. Voeg een Bevel Modifier toe door de vloer te selecteren en ‘Add Modifier / Bevel’ te selecteren op het tabblad Modifier Properties van het Properties-panel. Stel de breedte in op één meter en het aantal segmenten op 5 en gebruik voor een perfect resultaat de optie Harden Normals en de functie Auto Smooth (op het tabblad Object Data Properties bij Normals).
Voilà, je hebt net zelf een goed aanpasbare studioachtergrond gebouwd. Je kunt die ook verbreden of de achterwand verhogen. Met Bevel Modifier heb je altijd controle over de sterkte van de curve.
Geef de achtergrond een herkenbare naam zoals ‘ Studio-achtergrond’ en gebruik hem als je je 3D-modellen wilt laten zien.
REALISTISCHE SCHADUWEN
Schakel terug naar de Render-Preview-modus. Er zouden nu schaduwen moeten zijn op de studioachtergrond. Die komen echter niet overeen met de verlichting van de HDRI, maar zijn afkomstig van de lichtbron die Blender standaard in elke nieuwe 3D-scène plaatst en die het Light noemt.
Als je die in de Outliner verwijdert, verdwijnen de schaduwen, wordt de vloer donkerder en lijken de objecten weer te zweven, omdat de zogenaamde contactschaduw ook ontbreekt. Het menselijk brein kan aan die vrij kleine schaduw op de vloer meteen zien of objecten in de lucht zweven of op een oppervlak staan.
Een eenvoudige vorm van contactschaduw biedt Ambient Occlusion. Daarbij wordt geometrie donkerder naarmate die dichter bij andere geometrie ligt. Om dat te gebruiken, ga je naar het tabblad Render Properties en zet je een vinkje bij Ambient Occlusion.
PROFESSIONELE CAMERA
Als je nu opnieuw rendert, krijg je wel reflecties en de studioachtergrond, maar het beeld wijkt nog steeds af van dat in de 3D-viewport op één belangrijk detail: het perspectief. Dat wordt op zijn beurt weer bepaald door de positie van de virtuele camera tijdens het renderen.
Je kunt door de camera kijken als je klikt op het camera-pictogram aan de rechterkant van het viewport-venster. In Blender 2.80 stond deze hele groep pictogrammen nog bovenin het venster. Als je opnieuw op het pictogram klikt, wordt het oorspronkelijke perspectief hersteld. Ook als je het beeld draait, door de muis te verplaatsen met de middelste muisknop (muiswiel) ingedrukt, verlaat je het camerabeeld.
Je zou de camera kunnen verplaatsen, net als andere objecten. Maar het is makkelijker om de speciale functies voor de camera te gebruiken. Beweeg in de viewport tot je een geschikte weergave vindt en kies ‘View / Align View / Align Active Camera to View’.
Het donkere kader en de als een passe-partout verduisterde omgeving geven aan dat je nu door de camera kijkt. Het perspectief moet helemaal overeenkomen met het vorige beeld, hoewel het door de camera getoonde gebied te klein of te groot kan zijn. En misschien ben je nog niet helemaal tevreden met het perspectief. Met de toets N kun je de zijbalk openen (of sluiten), waarbij je op het tabblad View de optie ‘Lock Camera to View’ vindt. Als je die activeert, zal de camera elke beweging in de viewport volgen. Dat is handig voor het maken van kleine aanpassingen aan het huidige beeld. Maar vergeet niet om de optie weer uit te schakelen als je eenmaal de juiste positie hebt gevonden. Anders loop je het risico dat je de zorgvuldig gekozen camerapositie weer kwijtraakt.
Als je nu rendert met F12, ziet het resultaat er al heel aardig uit. Je kunt de afbeelding opslaan met ‘Image / Save As’. Selecteer het uitvoerformaat rechtsboven in de bestandsbrowser. De standaardinstelling PNG is heel geschikt voor het verliesloos bewaren van afbeeldingen.
EFFECTIEF BIJWERKEN
Maar je kunt het resultaat nog steeds aanzienlijk verbeteren. Ondanks de contactschaduwen ziet de mok er nog steeds een beetje verdwaald uit. Dat komt doordat de witte studiobodem er niet in spiegelt. En aan de linkerkant zou hij een deel van de trein moeten weerspiegelen.
Schakel bij de Render Properties ‘Screen Space Reflections’ in. De mok reflecteert nu de trein, de vloer en zelfs zijn eigen handvat. Omdat het geheel er nog steeds een beetje korrelig uitziet, vouw je de eigenschap Screen Space Reflections uit door op het pijltje links ervan te klikken en deactiveer je Half Res Trace. Dan berekent Blender de reflecties in volledige resolutie. Als de zonsondergang wordt gereflecteerd in de beker, voegt een vinkje bij Bloom een fijne lichtcirkel oftewel halo toe aan de highlights die door de zon worden veroorzaakt, wat de scène nog beter maakt.
Dan rest er nog een effect dat je zeker aan moet zetten: scherptediepte oftewel ‘Depth of Field’, te vinden bij de Object Data Properties van de camera (het groene tabblad met het filmcamerapictogram). Daar vind je allerlei instellingen die vergelijkbaar zijn met de functies van een echte camera. Je kunt niet alleen kiezen voor zulke banale dingen als brandpuntsafstand, maar ook dure speciale objectieven simuleren zoals Lens Shift. Voor fotografen is het smullen geblazen.
Schakel ‘Depth of Field’ in en selecteer een relatief lage f-stop-waarde van 0.8. In de viewport lijken sommige delen nu enigszins wazig. Hoe lager de f-stop-waarde, des te kleiner het scherpstelgebied en des te vager het beeld daarbuiten wordt.
Beweeg de muis weer naar de viewport, klik daar met de rechtermuisknop en kies ‘DOF Distance (Pick)’ in het snelmenu (in de cameraweergave). De muisaanwijzer verandert dan in een pipet. Als je op een punt in de scène klikt, focust Blender op die plek door de scherpstelafstand aan te passen – net als bij de autofocus op het touchscreen van een smartphone. De weergave ziet er nu veel realistischer uit dankzij de toegevoegde effecten. Maar je kunt er nog meer uit halen: als je op het tabblad Render Properties onder ‘Render Engine’ de pathtracing-engine Cycles kiest in plaats van de realtime-renderer Eevee, zal het renderproces veel langer duren, maar het resultaat zal nog fotorealistischer zijn. We hebben de grootformaat render aan het begin van dit artikel geproduceerd met Cycles. Ook voor het vijfde en laatste deel van deze workshop zal Cycles de engine bij uitstek zijn als het gaat om het creëren van een bepaalde sfeer.
Er wordt al jarenlang gesproken over IPv6. O icieel verscheen het pas in 2012, maar in 2011 werd het door alle grote besturingssystemen al ondersteund en door bedrijven en gebruikers ingezet. Er moest haast mee worden gemaakt, want de IPv4 IP-adressen raakten immers op. En toch zijn nu, tien jaar later, talloze organisaties nog steeds niet overgestapt.
De problemen bij het invoeren van IPv6 verschillen van bedrijf tot bedrijf en van land tot land. Waar sommige bedrijven IPv6 o icieel nog niet geïmplementeerd hebben, wordt het in de praktijk wel al (ten dele) gebruikt binnen hun netwerkstructuur. Dat brengt echter wel de veiligheid van die infrastructuur in gevaar doordat regels van de firewall niet meer werken of omdat antivirus- of andere veiligheidsproducten niet voor IPv6-verkeer geoptimaliseerd zijn.
Dat probleem wordt veroorzaakt door het feit dat er in Europa geen organisatie is die de migratie overziet of handhaa . In de VS hee het overheidsbeleid de invoering van het protocol enigszins gestimuleerd. In Azië is het proces versneld ingevoerd vanwege de extreme groei, de behoe e aan adressen en de beperkte beschikbaarheid van IPv4-adressen.
WEERSTAND
In een perfecte wereld zouden organisaties een nieuwe vooor IPv6 geschikte IT-architectuur van de grond af aan opbouwen. Uiteraard hebben maar weinig organisaties de luxe om dat te doen. Het ombouwen van bestaande systemen zodat ze IPv6 ondersteunen, brengt echter vaak een reeks complexe uitdagingen met zich mee.
Productiebedrijven gebruiken bij de fabricage van hun goederen bijvoorbeeld robots en machines die soms nog het Windows 95-besturingssysteem gebruiken en al jarenlang niet meer geüpdatet zijn. In sommige gevallen zou de implementatie van IPv6 betekenen dat een hele fabriek moet worden stilgelegd om over te stappen, wat een dure grap is.
Telecombedrijven werken al jaren aan de overstap en IPv6 zal langzaam maar zeker worden uitgerold naar consumenten en bedrijven. Het is van belang om ervoor te zorgen dat IT- en beveiligingsteams daarop voorbereid zijn. Als de systemen niet op de wijzigingen zijn voorbereid, bestaat de kans dat kritieke events niet worden opgemerkt door een bewakingssysteem dat IPv6 niet ondersteunt.
IPv6 is meer dan ‘alleen maar een langer IP-adres’. Het protocol zit significant anders in elkaar dan IPv4 en netwerken moeten ten dele opnieuw worden ontworpen om goed en veilig te kunnen presteren. Dat brengt risico’s met zich mee zoals veiligheidsfouten, het onbedoeld toegankelijk maken van bronnen of vertrouwen op een eerdere beveiliging, die echter niet meer of anders functioneert.
BEREIDHEID
In veel gevallen zijn zelfs so warebedrijven nog niet klaar voor IPv6 en soms hebben technologie- en beveiligingsproducten ook nog steeds niet volledig geïnvesteerd in IPv6. Naast de risico’s dat er technologie zoals een webfilter of firewall nog niet klaar is, is het ook belangrijk om ervoor te zorgen dat er voldoende kennis in huis is omtrent het nieuwe protocol. IPv6 omvat nieuwe concepten die je goed moet begrijpen en het is niet ongebruikelijk dat het ondoordacht wordt toegepast in een netwerk. Het komt vaak genoeg voor dat IPv6 zichzelf op een netwerk configureert of wordt gebruikt in combinatie met Microso -toepassingen of OS-services, en dat het beveiligings- en incidentteam er zich niet bewust van is dat het wordt gebruikt.
Een ander aspect waarmee rekening moet worden gehouden is het groeiende tekort aan gekwalificeerde beveiligingsprofessionals in het algemeen, laat staan aan mensen met ervaring op dit specifieke gebied. Grote organisaties hebben meer mogelijkheden om te investeren in IT-projecten zoals overstappen naar IPv6, maar het MKB beschikt niet over dezelfde middelen. Aangezien ook veel grote bedrijven nog niet klaar zijn, mag de omvang van het probleem duidelijk zijn. De hele aanvoerketen van grotere bedrijven bevat bovendien allerlei middelgrote bedrijven die kritieke onderdelen aan die bedrijven leveren.
WAT NU?
De overstap naar IPv6 is voor veel organisaties een lastige stap, maar een die iedereen uiteindelijk zal moeten maken. Het is belangrijk dat bedrijven stappen maken in de implementatie van IPv6, aangezien er al een verrassende hoeveelheid IPv6-verkeer op netwerken en internet plaatsvindt. Organisaties moeten er ook voor zorgen daar vaart mee maken, omdat IPv6 ten onrechte weinig prioriteit wordt gegeven.
De cursus SANS SEC546: IPv6 Essen
tials wordt gegeven tijdens de komende SANS-training in Amsterdam in mei van dit jaar. Deze cursus is niet alleen bedoeld voor uitvoerders van IPv6, maar ook voor degenen die IPv6 moeten leren herkennen en in staat moeten zijn stappen te nemen tegen problemen die kunnen optreden door onbedoeld gebruik van IPv6.
Voor meer informatie over deze cursus en SANS-trainingen, ga naar de website: sans.org/IPV6-essentials.