14-06-2019
Afstudeeronderzoek
PROCEDURAL
TEXTURING
Een onderzoek naar het procedureel genereren van realistische 3D materialen voor het verbeteren van de texturing-pipeline voor de post-productie afdeling binnen MediaMonks.
Confidential
TOM HODES
MEDIAMONKS
2019Naam: Tom Hodes
Student Nr.: 145639
Klas: EKT4
Begeleidend docent: Herman Statius Muller
Tweede lezer: Lukas Malec
1. Voorwoord
Tijdens mijn opleiding ben ik voor het eerst geïntroduceerd aan 3D software, waaronder ZBrush, Maya en Substance Painter. Sindsdien is mijn interesse in het maken van 3D modellen, materialen en oppervlaktes sterk gegroeid. Dankzij mijn opgedane kennis heb ik als stagiair de functie als ‘Junior 3D Generalist’ mogen vervullen bij de post-productie afdeling van MediaMonks. Binnen mijn functie heb ik de taak om 3D modellen, materialen en scenes te maken, te animeren, te belichten en te renderen. Dit wordt gebruikt voor o.a. televisie- en web reclames, Virtual Reality (VR), Augmented Reality (AR), games en apps.
Naast het vervullen van taken in het productieproces, heb ik vanuit mijn opleiding de afstudeeropdracht gekregen om een oplossing te zoeken voor een probleem binnen MediaMonks. Door de gesprekken met mijn directe collega’s en mijn stagebegeleider is het onderwerp van dit onderzoek tot stand gekomen. Het onderzoek dat ik heb uitgevoerd was complex, omdat er meerdere onderwerpen onderdeel waren van het aangekaarte probleem. Na uitgebreid onderzoek te hebben gedaan, heb ik de hoofdvraag kunnen beantwoorden en een bruikbare oplossing kunnen vinden voor het probleem.
2. Dankwoord
Ik wil graag mijn collega’s, met in het bijzonder Frank Fuhler, Ruud Coenen, Ivo Diependaal, Okke Voerman, Vincent van der Klaauw, Dennis Volkerts, Martijn Grootendorst en Flip Buttinger bedanken voor hun behulpzaamheid, hun adviezen, hun kritische blik en de fijne samenwerking. Ik ben er trots op om deel uit te mogen maken van deze geweldige groep, die voor mij persoonlijk aanvoelt als familie. Tevens wil ik graag mijn stagebegeleiders Herman Statius Muller en Claudia Tellegen bedanken voor hun adviezen, ondersteuning en
begeleiding tijdens dit traject. Tot slot wil ik graag in het bijzonder mijn ouders bedanken voor hun steun en motivatie tijdens het schrijfproces, wat mij heeft geholpen dit onderzoek tot een goed einde te brengen.
Ik wens u veel leesplezier toe. Tom Hodes Delden, 14 juni 2019
3. Abstract
De doelstelling van dit onderzoek is het verschaffen van kennis en mogelijkheden op het gebied van realistische textures/materials d.m.v. Procedural Content Creation (PCG). De bevonden resultaten zullen gebruikt kunnen worden om de huidige texturing pipeline van MediaMonks te verbeteren.
Een probleemanalyse wordt uitgevoerd waaruit blijkt dat het bedrijf op zoek is naar een betere workflow om deze materialen te creëren en te delen binnen hun verschillende afdelingen. Tevens wordt er bevonden dat er nog geen efficiënte manier is om deze te implementeren in hun gebruikte 3D software.
Hierbij worden als volgt de onderzoeksvragen behandeld om meer inzicht te krijgen over de huidige pipeline van de post-productie afdeling binnen MediaMonks, wat procedural content creation kan bieden en verbeteren, wat de beste workflow is om deze materialen te creëren en hoe deze workflow het beste te kunnen implementeren binnen de huidige pipeline. Hiermee wordt er antwoord gegeven op de hoofdvraag, die zich richt op het verbeteren van de huidige (3D) procedura texturing pipeline.
Het onderzoek bestaat uit een gedeelte theoretische kader over Procedural Content Creation met als nadruk het gebruik van software van Allegorithmic, om de onderzoeksvragen te kunnen beantwoorden. Hiernaast wordt er gebruik gemaakt van onderzoeksmethodes zoals: case study, desk research en vergelijkend onderzoek, etc.
Hierbij is als belangrijkste resultaten gebleken dat de huidige pipeline veel baat heeft bij het integreren van deze innovaties door de gebruiksvriendelijkheid, efficiëntie van verwerken van data, opslag en benodigde rekenkracht. Naast dit biedt deze flexibiliteit en variatie met een een non-destructive workflow.
Uit verdere resultaten uit experimenten kan worden geconcludeerd dat uiteindelijk de beste workflow gebaseerd is op situatie, tijdsbestek en gewenste resultaat. Hierbij is op te merken dat node-based workflow meer flexibiliteit en variatie levert met aanzienlijk lagere benodigde data opslag en rekenkracht, maar dat er met photogrammetry snel en efficiënt realistische materialen kunnen worden opgezet.
Naast het handmatig opzetten van procedurele materialen is het integreren van Artificial Intelligence zoals in Substance Alchemist van steeds groter belang. Dit kan worden meegenomen als suggestie voor een vervolgonderzoek, waarbij eenzelfde vergelijkend methodiek toegepast kan worden.
4. Inhoudsopgave
1. Voorwoord 2 2. Dankwoord 2 3. Abstract 3 4. Inhoudsopgave 4 5. Inleiding 7 6. Aanleiding 86.1. Afstudeeropdracht (globale beschrijving) 8
6.2. Bedrijfsschets 9
6.3. Post-production afdeling 9
7. Doelstellingen van de opdrachtgever 10
8. Voorlopige probleemstelling 11
9. Theoretisch kader 12
9.1. Procedural Content Generation (PCG) 12
9.1.1. De logica achter Procedural Content Generation 12
9.2. Procedural texturing 13
9.2.1. Procedural texturing fases 13
9.2.2. Voor- en nadelen van procedural texturing 14
9.3. Texturing software van Allegorithmic 14
9.4 Procedural texturing workflows 15
9.4.1. Node-based workflow in Substance Designer 15
9.4.2. Photogrammetry workflow in Substance Designer 16 9.4.3. Photogrammetry workflow in Substance Alchemist 16
9.5. Substance Integration/Libraries 17
9.5.1. Custom bibliotheek 17
9.5.2. LiveLink 17
9.5.3. Substance Automation Toolkit 17
10. Definitieve probleemstelling 18 11. Hoofd- en deelvragen 19 11.1. Hoofdvraag 19 11.2. Deelvragen 19 12. Afbakening 19 13. Methodiek 20
14.1. Deelvraag 1 21 14.1.1 Subvraag 1 21 14.1.2 Subvraag 2 21 14.1.3 Subvraag 3 22 14.2. Deelvraag 2 22 14.3. Deelvraag 3 23 Onderzoeksvraag 23 Hypothese 24 Experiment 24
Resultaten Experiment 1, Photogrammetry 25
Resultaten Experiment 2, Node-based 26
14.4. Deelvraag 4 27 15. Conclusies 28 15.1. Conclusie deelvraag 1: 28 16. Eindconclusie 29 17. Discussie 30 18. Aanbevelingen 31 19. Beroepsproducten 31 20. Logboek 31 21. Reflectie 33 22. Bronnen 35 23. Bijlagen 38
Bijlage 1. Texture maps 38
Bijlage 1.1. Traditional (image) texturing 38
Bijlage 2. Noises 38
Bijlage 2.1. Perlin noise 38
Bijlage 2.2 Voronoi noise 40
Bijlage 3. File Formatting 41
Bijlage 4. Substance Software van Allegorithmic 42
Bijlage 5. Kosten voor de software licenties van Allegorithmic 43 Bijlage 6. Bedrijven die werken met software van Allegorithmic 44 Bijlage 7. Alternatieve procedurele texturing software 46
Bijlage 8. Texturing Workflow Charts 47
Bijlage 8.1.. Substance Designer, node-based workflow chart 47 Bijlage 8.2. Substance Designer, photogrammetry workflow chart 47 Bijlage 8.3. Substance Alchemist, photogrammetry workflow chart 49
Bijlage 9. Post production 49
Bijlage 9.2. Pipeline post-production 50
Bijlage 9.3. Software post-production 51
Bijlage 9.4. Multi Angle Shooting Chart 52
Bijlage 10. Beroepsproducten 53
Bijlage 10.1. Mappenstructuur Substance Painter. 53
Bijlage 11. Logboek 54 Bijlage 11.1. Tutorial 1 54 Bijlage 11.2. Tutorial 2 56 Bijlage 11.3. Tutorial 3 58 Bijlage 11.5. Materialenbibliotheek 62 Bijlage 12. Beroepsproducten 64 Bijlage 12.1. Beroepsproduct 1 64 Bijlage 12.2. Beroepsproduct 2 65 Bijlage 13. Reflectie 67
5. Inleiding
Voor u ligt de scriptie ‘Procedural texturing - Een onderzoek naar het procedureel genereren van realistische 3D materialen voor het verbeteren texturing-pipeline de post-productie afdeling binnen MediaMonks’. Dit onderzoek is geschreven in het kader van mijn afstuderen voor de opleiding Kunst & Techniek aan de hogeschool Saxion in Enschede en mijn stage bij het hoofdkantoor van MediaMonks in Hilversum.
Dit onderzoek betreft een theoretische kader om de lezer een algemeen beeld te geven over Procedural Content Creation (PCG) en de logica achter deze innovatie. Daarnaast wordt er gekeken naar de bruikbaarheid van deze innovatie en hoe dit geïntegreerd kan worden in de huidige pipeline van MediaMonks.
In de loop der jaren is de zoektocht naar het nabootsen van realistische materialen in 3D een steeds belangrijkere rol gaan spelen binnen de wereld van 3D animatie, visualisatie en games. Binnen de ‘3D wereld’ zijn er stapsgewijs steeds meer innovatieve technieken ontwikkeld om realistische materiaaleigenschappen virtueel te simuleren en tevens de 3D artiest meer (gebruiksvriendelijke) mogelijkheden te bieden tijdens het proces.
6. Aanleiding
6.1. Afstudeeropdracht (globale beschrijving)
Voor mijn afstudeerstage ben ik bij MediaMonks aangenomen als 3D generalist voor hun afdeling ‘post-production’. MediaMonks is een zeer moderne digitale productie maatschappij die gebruik maakt van de laatste stand van technieken qua software en hardware. Voor mijn afstudeerstage zal ik naast het vervullen van taken in het productieproces, mij tevens bezig houden met dit onderzoek dat zich richt op een probleemstelling, aangegeven vanuit het bedrijf. Vanuit de post-production afdeling is aangegeven dat ze een groot belang hebben bij het zelf kunnen maken van complexe 3D materialen. Het maken van deze 3D materialen is over het algemeen een relatief langdurig en ingewikkeld proces. Er zijn diverse manieren om in 3D materialen te maken, maar de meest veel belovende is PBR (physical based rendering) texturing. Hierbij wordt er een combinatie gemaakt van diverse soorten ‘texture maps’ (zie
bijlage 1.) die samen zorgen voor realistisch ogende materialen/texturen op een 3D object. De
post-production afdeling van Media Monks maakt veel gebruik van PBR texturing, en tot op heden schaffen we voor onze projecten vaak 3D materialen aan op het internet. Gelukkig zijn er steeds meer 3D materialen beschikbaar, maar de post-production afdeling heeft de wens om in-house ‘custom-made’ materialen te kunnen maken en die op te slaan in een
intern-gedeelde materialenbibliotheek. Een zeer geschikt middel hiervoor zijn de
softwareprogramma’s van Allegorithmic (op 23-01-2019 overgenomen door Adobe) (Lardinois, 2019). Met deze software kan je praktisch ieder 3D materiaal maken. Omdat mijn collega’s binnen MediaMonks en ikzelf veel gebruik maken van de software van Allegorithmic, is er de keuze gemaakt om deze softwarepakketten te gebruiken voor dit onderzoek.
Dit onderzoek richt zich op de workflow, de functies- en het maken van ‘procedural textures’, hoe deze voor diverse software op de juiste wijze moeten worden toegepast en hoe ik op een goede manier deze kennis kan overbrengen op mijn collega’s. Tevens zal ik
onderzoeken hoe je bestaande oppervlaktes kan ‘scannen’ en om kan vormen tot een overtuigend 3D materiaal. De resultaten van mijn onderzoek zijn in eerste instantie van belang voor de post-production pipeline binnen Media Monks. In tweede instantie is het voor mijzelf als 3D generalist belangrijk, om zo mijn skills en kennis te versterken. In derde
instantie kunnen mijn gedocumenteerde resultaten een mogelijke toevoeging zijn aan de opleiding Kunst en Techniek, waardoor docenten en studenten meer inzicht kunnen krijgen in het maken van realistische texturen/materialen in 3D.
6.2. Bedrijfsschets
MediaMonks omschrijft zichzelf als een ‘creative digital production company’, die zich richt op het maken van (prijzenwinnende) campagnes, reclames, films, websites, games, virtual reality en augmented reality voor grote internationale bedrijven, instanties en goede doelen.
MediaMonks bestaat uit meer dan 900 werknemers (genaamd: ‘Monks’) en 12 vestigingen. Het hoofdkantoor is gevestigd in Hilversum, waarnaast ze nog vestigingen hebben in London, Stockholm, Dubai, New York, Los Angeles, San Francisco, Mexico City, São Paolo, Buenos Aires, Shanghai en Singapore. Het bedrijf is in 2001 gestart door Victor Knaap, Wesley ter Haar, Gin Roberscheuten en Terrence Koeman en is uitgegroeid tot een van de grootste creative media bedrijven ter wereld. MediaMonks is door de jaren heen met vele
internationale onderscheidingen beloond, waaronder Webbies, Lovies, BIMA, 128 Cannes Lions en meer dan 225 FWA’s. In 2018 is MediaMonks gefuseerd met S4 Capital, onder leiding van Martin Sorrell. Samen met S4 Capital wil MediaMonks “the production platform of the future” te worden. (MediaMonks, z.d.)
6.3. Post-production afdeling
MediaMonks bestaat uit diverse afdelingen, waarbij elke afdeling zo zijn eigen taken heeft. Zo zijn er onder andere de afdelingen ‘animation’, ‘design’ en ‘post-production’. Binnen
MediaMonks ben ik als 3D generalist een onderdeel van het ‘post-production’ team. De meeste mensen moeten even aan de naam wennen, omdat ‘post-production’ zich over het algemeen richt op de nabewerking van beeldmateriaal. Om de afdeling beter te omschrijven, moet er eigenlijk onderscheid worden gemaakt tussen 2 verschillende teams die naadloos met elkaar samenwerken:
- 3D animatie/full CG. De taken die hier worden uitgevoerd spelen zich meestal af aan het begin van een project/productie. Binnen dit onderdeel van het team worden de 3D assets gemaakt, gerigd, geanimeerd, belicht en gerenderd.
- Visual Effects/VFX. De taken die hier worden uitgevoerd spelen zich meestal af aan het eind van een project/productie. Binnen dit onderdeel van het team vindt
voornamelijk de nabewerking van beeldmateriaal plaats. Denk hierbij aan het toepassen van kleurcorrecties en het samenvoegen van opgenomen beeld met gerenderd 3D materiaal. Dit onderdeel van het team wordt gezien als de
post-productie.
Tevens komt het regelmatig voor dat er 3D assets parallel aan een filmproductie moeten worden geproduceerd. In dit geval kan het ‘3D team’ weer gezien worden als
7. Doelstellingen van de opdrachtgever
Wat is de vraag van de opdrachtgever?
Welke mogelijkheden zijn er voor het maken van procedural textures? Hoe kan het
procedural texturing proces worden verbeterd voor de post-production pipeline binnen Media Monks?
Aan welke producten/diensten heeft de opdrachtgever behoefte?
De opdrachtgever heeft behoefte aan meer kennis en mogelijkheden voor het maken textures/materials.
Wie zijn de belanghebbenden?
In eerste instantie is de post-production afdeling binnen MediaMonks een belanghebbende, omdat zij altijd belang hebben bij het zo goed mogelijk optimaliseren van de workflow. Tevens hebben zij belang bij het meer inzicht krijgen in het maken en gebruiken van PBR-materialen.
In tweede instantie is MediaMonks een belanghebbende, omdat ze dan personeel hebben die in-house 3D materialen kan maken. Tevens is het zo dat de procedurele materialen niet alleen voor de post-production afdeling handig zijn, maar ook andere afdelingen binnen MediaMonks kunnen belang hebben bij deze mogelijkheden. Zo kan o.a. de afdeling ‘Games’ deze procedurele materialen toepassen op hun game-objecten.
In derde instantie zijn de klanten/opdrachtgevers van MediaMonks belanghebbenden. Zo kan bijvoorbeeld een klant de wens hebben voor een specifiek soort materiaal op hun
productreclame/VR-experience/game/etcetera. Met kennis van het programma Substance Designer kunnen wij (beter) aan deze vraag voldoen.
Wat wil de opdrachtgever met het resultaat doen?
Indien dit onderzoek mogelijkheden biedt in het verbeteren van de huidige texturing
workflow/ pipeline van Mediamonks, is de opdrachtgever bereid om dit door te voeren in de post-production pipeline en wellicht andere afdelingen.
Zijn er randvoorwaarden/projectgrenzen?
Het onderzoek moet worden gedaan binnen mijn onderzoeksperiode bij Media Monks (11 februari 2019 tot 18 juni 2019). Ook zal MediaMonks geen financiële ondersteuning bieden voor mijn onderzoek. Mochten er toch bepaalde dingen moeten worden aangeschaft, dan zijn ze volledig voor mijn eigen rekening. Indien het advies van dit onderzoek aangeeft dat er financiële investeringen moeten worden gedaan, dan zal er vanuit het bedrijf opnieuw naar worden gekeken. Daarnaast wordt er van de lezer verwacht al enige kennis te hebben over 3D textures en software. Er zal daarom (nagenoeg) geen uitleg worden gegeven over de functies van texture maps, zoals diffuse map, normal map, maskers, etc.
8. Voorlopige probleemstelling
Is het aangedragen probleem van de opdrachtgever nu echt het probleem?
Op dit moment is het probleem dat de post-production afdeling van MediaMonks voor een deel afhankelijk is van de materialen die beschikbaar zijn op het internet. Het team kan vervolgens deze materialen aanpassen in Maya + Arnold (render engine). Vaak wordt er de keuze gemaakt om materialen aan te schaffen om zo tijd te besparen. Het maken van een realistisch materiaal is namelijk over het algemeen een tamelijk complex en tijdrovend proces. Toch heeft het team aangegeven dat ze graag de mogelijkheid en kennis willen hebben om zelf custom materialen te maken. Om deze kennis te krijgen, moet er onderzocht worden hoe de procedurele workflow van Substance Designer werkt.
Een ander probleem is dat de transitie tussen Substance en Maya + Arnold tamelijk lastig is. In de huidige pipeline moeten de vanuit Substance Painter geëxporteerde texture maps één voor één handmatig worden geplaatst in het node-based materialen menu (Hypershade menu) in Maya. Het importeren van deze materialen/texture maps kost relatief veel tijd.
Er is geen digitale (Substance) materialenbibliotheek waarbij alle 3D artiesten binnen MediaMonks toegang toe hebben. Er is tot op heden nog geen mogelijkheid om op een eenvoudige manier materialen te previewen, om ze vervolgens te gebruiken in Maya of andere 3D programma’s en game-engines. In de huidige situatie is het namelijk zo dat een zelfgemaakt Substance materiaal alleen wordt opgeslagen op de computer van degene die het materiaal heeft gemaakt. Voor het productieproces zou het namelijk (veel) tijd schelen als er een gezamenlijke materialenbibliotheek is die door iedere 3D artiest binnen MediaMonks kan worden bekeken en gebruikt.
Wordt het aangedragen probleem mogelijk veroorzaakt door een niet direct zichtbaar ander probleem?
Binnen MediaMonks is er het probleem dat alle afdelingen hun eigen manier hebben om data op te slaan en te delen. Zo werkt de post-production afdeling via een server, terwijl andere afdelingen voornamelijk via Google Drive werken. Hierdoor ontstaat het probleem dat die afdelingen niet direct toegang hebben tot de bestanden van de post-productie afdeling.
Is de opdrachtgever wel echt geholpen met de oplossing van dit probleem?
Indien ik in staat ben om de mogelijkheden te verbreden voor het texturing-proces, zal dat een oplossing/toevoeging zijn aan de post-production pipeline binnen MediaMonks.
Heeft de opdrachtgever misschien meer belang bij het eerst oplossen van een ander probleem?
Nee, de opdrachtgever heeft geen belang bij het oplossen van een ander probleem.
9. Theoretisch kader
In dit kader wordt procedural content generation behandeld met nadruk op het creëren van realistische materialen met software van Allegorithmic. De afgrenzing bevat theoretisch onderzoek om de definitieve probleemstelling te kunnen definiëren en om gedeeltelijk deelvragen te kunnen beantwoorden.
In dit hoofdstuk worden er verschillende technieken onder de loep genomen die worden toegepast in de 3D texturing softwarepakketten van Allegorithmic, waarbij tevens wordt gekeken naar de bestaansredenen achter deze technieken.
9.1. Procedural Content Generation (PCG)
Procedural Content Generation (PCG) richt zich op het genereren van 3D content (zoals 3D modellen en textures) door middel van algoritmes, om zo het productieproces te versnellen, kosten te drukken en de gebruiker meer vrijheid te geven in het proces.(Yannakakis & Togelius, 2011)
Procedurele 3D technieken zijn bij het maken van 3D content bijna onmisbaar geworden, doordat deze het mogelijk maakt om data veel efficiënter op te slaan en te verwerken. Hierbij wordt er gebruik gemaakt van abstraction; in plaats van details specifiek op te slaan in een complexe reeks wordt het geabstraheerd in functies en algoritmes. Dit bespaart aanzienlijk in opslag en rekenkracht wat multiresolution models mogelijk maakt. (S. Ebert et al., 2002, pp. 2)
9.1.1. De logica achter Procedural Content Generation
Procedurele technieken bestaan uit algoritmes en reeksen van deterministische stappen, om een bepaald resultaat te bereiken. Deze algoritmes worden gebruikt om een grote
hoeveelheid aan content te genereren door een kleine inbreng van input data, of om
structuur te geven aan random noises. Dit wordt ook wel gecategoriseerd in twee werkwijzen, namelijk de teleologische en ontogenetische werkwijze, die gebaseerd zijn op wat en
waarvoor het wordt gegenereerd. (Pcg.wikidot.com, 2014)
De teleologische benadering maakt een nauwkeurig fysiek model van de omgeving en het process dat hetgene genereerd. Hierbij is de simulatie gebaseerd op fysieke regels, waarbij simulaties kunnen ontstaan zoals ze in de natuur voorkomen. Deze benadering van
Procedural Content Generation wordt bijvoorbeeld toegepast bij: Artificial life, Dynamic Weather, Fluid Dynamics, Raindrop Algorithm, etc. De teleologische benadering heeft
nagenoeg niets te maken met procedural texturing, maar richt zich vooral op het procedureel genereren van bijvoorbeeld water-, vuur- en rook simulaties.
De ontogenetische benadering neemt het eindresultaat van dit process in acht en probeert directh het eindresultaat te produceren d.m.v. algoritmes en noises. Deze benadering wordt vooral gebruikt in real-time toepassingen zoals games. Deze benadering van Procedural
Content Generation wordt bijvoorbeeld toegepast bij noises als de Perlin Noise en Voronoi Noise. Voor meer informatie over deze noises, lees bijlage 2. (Pcg.wikidot.com, 2015)
9.2. Procedural texturing
Procedural texturing is een onderdeel van Procedural Content Creation en maakt gebruik van dezelfde (ontogenetische) logica achter het genereren van content. Procedural texturing is het proces waarbij (voorgeprogrammeerde) algoritmes, generators (zoals noises en patterns) PLen wiskundige functies met elkaar worden gecombineerd om een specifiek soort
effect/karakter/materiaaleigenschap te genereren. Hierbij ontstaan computer gegenereerde textures i.p.v. een handgemaakte afbeelding (door bijvoorbeeld gebruik te maken van Adobe Photoshop).
9.2.1. Procedural texturing fases
Procedural texturing bestaat uit twee fases:
- De eerste fase is de “autoriserende” fase: In deze fase bouwt de auteur/artiest het procedurele materiaal. Voor deze fase is het programma ‘Substance Designer’ geschikt. Er wordt eerst gekeken naar welke eigenschappen een materiaal moet hebben en welke technieken daarvoor moeten worden gebruikt. Vervolgens worden alle parameters/functies/noises/generators gespecificeerd en met elkaar verbonden. Daarna worden er parameters gemaakt/blootgesteld waardoor enkele
materiaaleigenschappen kunnen worden aangepast. Als het materiaal eenmaal is gecreëerd, kan het gebruikt worden voor de tweede fase.
- De tweede fase is de “genererende” fase. Tijdens deze fase wordt het materiaal dat in de eerste fase is gemaakt toegepast om de uiteindelijke output(s) te produceren, namelijk in de vorm van textures. Deze genererende fase kan op twee manieren worden toegepast, namelijk ‘impliciete’ en ‘expliciete’ generatie:
- Impliciete generatie: De procedurele texture (zoals een ‘Substance Material’) kan binnen diverse 3D softwarepakketten over een 3D oppervlak worden geprojecteerd en aangepast. Hierbij heeft de artiest de vrijheid om zelf te bepalen of een een texture op een cylindrical, frontal, cubic, spherical,
UV-based of camera-based projectie over een object wordt afgebeeld. Ook de schaal en de parameters van het procedurele materiaal kunnen worden
aangepast, zonder dat men gebruik maakt van gebakede maps, - zoals 1 gedaan wordt bij expliciete generatie.
- Expliciete generatie: Hierbij wordt het procedurele materiaal (wat gemaakt is in Substance Designer) omgezet naar gebakede texturemaps. Men kan
softwareprogramma's zoals Substance Painter gebruiken om deze
procedurele materialen te gebruiken voor het texturen van 3D objecten, om
1 Baking (in tekst: ‘gebakede’) is het proces waarbij details van een 3D model (meestal een hoge
resolutie mesh) worden getransporteerd naar een ander 3D model (met een lagere resolutie), wat zich vervolgens uit in verschillende soorten texture maps. (Polycount, 2018)
die vervolgens te baken naar texturemaps. Hierbij wordt tevens de
uiteindelijke resolutie van de texturemaps bepaald. Deze texturemaps kunnen vervolgens worden gelezen door game- en render engines.
9.2.2. Voor- en nadelen van procedural texturing
De voordelen van procedural texturing in vergelijking tot traditional texturing zijn als volgt: - Procedurele materialen zijn vaak (zeer) compact qua bestandsgrootte. Hierbij gaat het
vaak om een aantal kilobytes, terwijl traditionele image texturing al snel in de megabytes oploopt.
- Procedural texturing heeft geen vastgestelde resolutie, waardoor resolutie kwaliteit hetzelfde kan blijven, ongeacht de afstand van de camera tot het object.
- Procedural texturing bedekt geen vastgestelde oppervlaktes, waardoor elk willekeurige oppervlakte, ongeacht de grootte, bedekt kan worden zonder ongewenste naden en herhaling van de textuur patroon.
- Procedural textures kunnen gebruik maken van parameters, wat een cluster van verschillende gerelateerde textures kan genereren, zonder gelimiteerd te zijn aan één vastgestelde image texture. Met procedurele textures kunnen er oneindig veel
variaties gemakkelijk worden gemaakt door een specifieke input aan te passen.
Veel van deze voordelen kan worden teniet gedaan door slecht geschreven procedural textures. Wat wel een voordeel blijft in het algemeen is het genereren van geparametriseerde variaties van gerelateerde textures.
De nadelen van procedural texturing in vergelijking tot traditionele texturing zijn als volgt: - Een procedural texture kan lastig zijn om te schrijven en om de fouten op te sporen
tijdens het (ontwerp)process.
- Bij het genereren van procedural textures kan de uitkomst onvoorspelbaar zijn en de parameters lastig te hanteren.
- Het evalueren en calculeren van een procedural texture is langzamer dan een opgeslagen texture image. Hierdoor kan de afweging om ruimte te besparen uiteindelijk teveel tijd kosten.
- Aliasing kan een probleem opleveren bij procedural textures, omdat anti-aliasing in het algemeen vrij lastig is om te programmeren. Dit wordt niet automatisch berekend zoals bij een vastgestelde image texture.
(S. Ebert et al., 2002, pp. 14 - 15)
9.3. Texturing software van Allegorithmic
Allegorithmic heeft verschillende soorten software, die zich allemaal richten op het maken van 3D materialen, maar totaal verschillen in hun werkwijze. De verschillende software programma’s zijn:
- Substance Painter: 3D Painting tool.
- Substance Designer: Photogrammetry & node-based material authoring tool.
- Substance B2M: Image to material generator.
- Substance Player: Material tweaking and visualization tool.
De juiste file formatting is nodig om de materialen te kunnen gebruiken tussen de programma’s van Allegorithmic zoals: SBS, SBSAR en SPSM (zie bijlage 3.).
Daarnaast heeft Alchemists twee websites, die een goede toevoeging kunnen zijn voor het texturing proces:
- Substance Source: Online materialen bibliotheek waar mensen (tegen betaling) procedurele materialen kunnen downloaden van hoge kwaliteit.
- Substance Share: Community website waar mensen gratis hun zelfgemaakte materialen, functies, maskers, etc. kunnen delen en downloaden.
De verschillende soorten software van Allegorithmic zijn ontwikkeld om (nagenoeg) naadloos met elkaar samen te werken. Voor dit onderzoek is het daarom noodzakelijk om de
verschillen tussen deze soorten software onder de loep te nemen. In bijlage 4. staat een uitgebreidere beschrijving over de software programma's van Allegorithmic. Voor meer informatie over de verschillende functies en kosten van deze software programma's zie
bijlage 5.Hiernaast wordt deze al in gebruik gebracht in de pipeline van grote bedrijven zoals:
Warner Bros, Double Negative, Framestore etc. (zie bijlage 6.)
Naast de software van Allegorithmic wordt er in de ‘3D wereld’ ook veelal gebruik gemaakt van vergelijkbare software zoals; Mari, Houdini en Quixel Mixer (zie bijlage 7.).
9.4 Procedural texturing workflows
Voor het nabootsen/autoriseren van realistische materialen zijn er twee soorten procedurele technieken ontwikkeld:
- Node-based - Photogrammetry
Beide technieken verschillen sterk in hun functie en hun workflow, maar kunnen tevens naadloos met elkaar worden gecombineerd. In dit onderdeel van het onderzoek worden deze verschillende technieken onder de loep genomen en uitgelegd waarom deze twee
verschillende technieken bestaan.
9.4.1. Node-based workflow in Substance Designer
Dit is het proces waarbij men de eigenschappen van een 3D procedureel materiaal autoriseert d.m.v. ‘nodes’. Nodes zijn versleepbare kopjes, bestaande uit
voorgeprogrammeerde functies, noises en algoritmes. De gebruiker krijgt d.m.v. het aan elkaar koppelen van deze nodes controle over o.a. kleur, reliëf, reflectie, positie, grootte en vele andere functies die een materiaal helpen te specificeren. Deze procedurele manier wordt gedaan in Substance Designer (zie bijlage 8.1.).
Omdat Substance Designer een non-lineair en non-destructive workflow heeft, is er geen ‘vaste’ workflow waar de gebruiker zich aan moet houden. De meeste artiesten hebben een
eigen voorkeur voor het opzetten van een materiaal. Toch raden meerdere artiesten aan om te beginnen met het maken van de basisvormen van het oppervlak die zich uitten in de heightmap. Vervolgens gebruik je deze basis vormen voor het maken van het complete oppervlak. Hierbij voeg je extra detail toe, om zo nog dichter bij een realistisch-lijkend
materiaal te komen. Als eenmaal de heightmap is gecreëerd, valt er veel digitale informatie te halen, die bruikbaar kan zijn voor andere texture maps. Zo kan er eenvoudig een node kunnen worden toegevoegd die de heightmap converteert naar een normal map en ambient occlusion map. Tevens kan de heightmap eenvoudig worden gebruikt als basis voor de diffuse map (kleur map). Als alle texture maps eenmaal zijn gecreëerd, kan het worden geëxporteerd als materiaal.
9.4.2. Photogrammetry workflow in Substance Designer
Photogrammetry is een techniek waarbij een fysiek oppervlakte (of object) omgezet kan worden naar een 3D texturen (of 3D model). Door een oppervlakte van 8 kanten te belichten (door een lamp telkens 45° om het oppervlak te draaien) en te fotograferen, kunnen
programma's als Substance Designer en Substance Alchemist een heightmap en normal map genereren. Met deze techniek kan er op eenvoudige wijze complexe oppervlaktes worden omgezet naar een 3D materiaal. Men heeft alleen een goede camera, een lamp met witte belichting, een donkere ruimte/licht afsluitende doos en wat voorkennis nodig voor het maken van een bruikbare set up (zie afbeelding). Hierbij is het aangeraden om een camera te gebruiken die minimaal 4K kan fotograferen. Als eenmaal de foto’s zijn gemaakt, kunnen de foto’s worden geïmporteerd in Substance Designer of Alchemist. Het verschil tussen Designer en Alchemist zit vooral in de workflow en de mogelijkheden die beide programma’s bieden.
Substance Designer geeft je de mogelijkheid om photogrammetry toe te passen d.m.v. nodes. Dankzij de vele functies die Substance Designer biedt, krijgt de artiest een breed scala aan mogelijkheden om de gemaakte foto’s om te zetten naar een procedureel
materiaal. Hierbij moet de artiest van tevoren al voldoende kennis hebben van nodes en hoe hij op een juiste manier de gescande/gefotografeerde data kan omvormen naar de juiste texture maps. In bijlage 8.2. staat een verkorte weergave over hoe photogrammetry wordt toegepast binnen Substance Designer.
9.4.3. Photogrammetry workflow in Substance Alchemist
Substance Alchemist maakt geen gebruik van een procedurele node-based workflow, maar maakt gebruik van Artificial Intelligence (AI). Er wordt namelijk gebruik gemaakt van machine learning, waarbij de database van Substance Alchemist een gefotografeerd oppervlak al snel herkent en automatisch om kan vormen naar een PBR materiaal. Tevens bevinden zich er in Substance Alchemist diverse functies om een materiaal op inventieve wijze eenvoudig en realtime aan te passen naar de wensen van de artiest. Om deze redenen is de workflow van Alchemist een stuk korter en eenvoudiger dan die van Designer. In bijlage 8.3. staat een weergave over hoe photogrammetry wordt toegepast binnen Substance Alchemist.
9.5. Substance Integration/Libraries
Er zijn verschillende methodes voor het creëren van transities tussen de software
programma’s van Allegorithmic onderling en andere software pakketten. Tot op heden is het zo dat ieder programma van Allegorithmic gebruik maakt van zijn eigen bibliotheek die geplaatst is op de harde schijf. Om een materiaal te bekijken en te bewerken, moet je het materiaal apart exporteren/importeren naar de juiste folder. Ook is er geen bibliotheek waarin je snel een overzicht krijgt van alle materialen op je computer. De enige manier om je
materialen snel te previewen, is door ze in Substance Painter of Player te openen. Helaas is er nog geen verdere informatie te vinden over dat Allegorithmic hier een oplossing voor zal ontwikkelen. Daarentegen zijn er mogelijkheden voor het maken van een persoonlijke bibliotheek en het automatiseren van een transitie tussen de programma’s van Allegorithmic en andere software pakketten. In dit hoofdstuk worden deze onderdelen behandeld.
(Substance, 2018), (Substance Designer, z.d.).
9.5.1. Custom bibliotheek
Het is mogelijk om binnen Substance Designer en Painter een eigen materialenbibliotheek te maken. Deze map kan op een specifieke plek op de harde schijf worden geplaatst, waarin de gebruiker zelf materialen, functies, textures, etc. kan opslaan en bewerken. Men hoeft slechts in de instellingen van Designer en/of Painter het pad van deze map aan te geven. Het is noodzakelijk om in deze map dezelfde mappenstructuur aan te houden als de map waarin de standaard materialen en functies van Designer en Painter staan opgeslagen. (Substance Designer, z.d.)
9.5.2. LiveLink
Een van de meest ideale oplossingen voor het exporteren van materialen vanuit Substance software naar andere 3D software (zoals Maya, 3DSMax, Cinema4D) zijn de plug-ins van ‘Xolotl Studio’:
- Substance Designer Live Link - Substance Painter Live Link
Met deze plug-ins kan er zeer eenvoudig een geautomatiseerde ‘link’ tot stand worden gebracht tussen twee verschillende soorten software, waarbij textures/materialen met een paar klikken op de knop verzonden wordt naar Maya + Arnold/V-Ray/etc. Hierbij worden automatisch alle texture maps op de juiste manier geëxporteerd naar- en geïmporteerd door 3D software zoals Maya. (Xolotl Studio, z.d.)
9.5.3. Substance Automation Toolkit
Deze toolkit is door Allegorithmic speciaal ontwikkeld voor het automatiseren van taken binnen Substance software. Door middel van python scripting krijgt de gebruiker de
mogelijkheid om sneller te werken aan textures, grootschalige wijzigingen aan te brengen in meerdere assets tegelijkertijd en minder vaak repetitieve taken uit te voeren. Tevens krijgt de gebruiker meer controle over het beheren van bibliotheken en het integreren van Substance
binnen andere softwarepakketten zoals Maya. Substance Automation Toolkit bestaat uit twee componenten:
- Command Line Tools: Dit bestaat uit een reeks commando’s voor het creëren van texture maps, het maken van simpele aanpassingen aan Substance materialen, het creëren van Substance archieven en het uitrenderen van texture maps.
- Pysbs - Python API: Deze Python API functie is een python pakket voor het lezen en wijzigen van substance materialen. Hiermee kunnen o.a. materialen met elkaar worden samengesteld en kunnen nodes in substance materialen worden herbenoemd.
Substance Automation Toolkit bestaat (voor nu nog) uit python-scripting, waardoor het nog geen gebruiksvriendelijke workflow bevat. Toch biedt het mogelijkheden voor het bewerken en beheren van (grote) materialen bibliotheken. (Substance, 2018)
10. Definitieve probleemstelling
Na het uitvoeren van de probleemanalyse is het duidelijk geworden dat MediaMonks (en de post-production afdeling in het bijzonder) op zoek is naar een betere workflow voor het creëren van realistische materialen binnen hun verschillende afdelingen. Daarnaast is er het probleem dat er nog geen gedeelde materialen bibliotheek is, waarbij iedereen van de post-production afdeling (en nog liever: iedere 3D artiest binnen MediaMonks) materialen kan bekijken, gebruiken, aanpassen en toevoegen. Hierbij is er tevens het probleem dat er nog geen efficiënte manier is om procedurele (Substance) materialen te implementeren in de gebruikte 3D software, zoals Maya + Arnold.
11. Hoofd- en deelvragen
11.1. Hoofdvraag
Hoe kan de huidige (3D) texturing pipeline binnen MediaMonks worden verbeterd d.m.v. de software van Allegorithmic?
11.2. Deelvragen
1. Wat is de huidige (procedurele) texturing workflow/pipeline van de post-productie afdeling binnen MediaMonks?
Subvragen:
a. Welk onderdeel binnen een productie vervult de post-productie afdeling? b. Wat is de pipeline van de post-productie afdeling?
c. Van welke software maakt de post-production afdeling gebruik?
2. Wat kan Procedural Content Creation (PCG) bieden en verbeteren?
Subvragen:
a. Wat zijn de voordelen van procedural texturing? b. Wat zijn de nadelen van procedural texturing?
3. Wat is de beste workflow om realistische procedural materialen te creëren met software van Allegorithmic?
4. Wat is de beste manier om deze workflow te implementeren binnen de huidige pipeline van MediaMonks.
12. Afbakening
Het onderzoek heeft als onderwerp Procedural Content Creation met als nadruk het creëren van realistische materialen in de software programma’s van Allegorithmic. Dit richt zich echter vooral op de bruikbaarheid binnen het bedrijf MediaMonks. Hierbij wordt de huidige pipeline van het bedrijf vergeleken met de hierbij bevonden verbeterde pipeline.
Het onderzoek focussed zich op zo recent mogelijke informatie, opdat deze een snel ontwikkelende innovatie is binnen de ‘ 3D wereld’. Hierbij is als uitzondering de Siggraph paper uit 1985 van Perlin, omdat deze nog steeds gebruikt wordt als basis van deze innovatie en dus tot heden nog relevantie heeft.
Ondanks dat deze onderzoek zich richt op realistische materialen, omvangt het niet de basiskennis over materialen zoals het gebruik en functies van bepaalde maps (normal, roughness, height maps etc.), opdat dit niet de hoofdfocus is van de probleemstelling vanuit MediaMonks.
13. Methodiek
Deelvraag 1: Wat is de huidige (procedurele) texturing workflow/pipeline van de post-productie afdeling binnen MediaMonks?
Onderzoeksmethode: Case study.
Onderzoeksinstrumenten: Interview, probleemanalyse.
Onderbouwing: Deze deelvraag geeft antwoord op de huidige staat van efficiëntie, kosten en productiviteit. Hieruit blijkt waar verbeterpunten kunnen liggen, wat later toegepast wordt bij het selecteren van een geschikte workflow/ pipeline.
Deelvraag 2: Wat kan procedural content creation bieden en verbeteren?
Onderzoeksmethode: Deskresearch.
Onderzoeksinstrument: Literatuuronderzoek.
Onderbouwing: Gebaseerd op deelvraag 1 worden hier de limitaties, toepasbaarheid en
verbeteringen benoemd.
Deelvraag 3: Wat is de beste workflow om realistische procedural materialen te creëren met software van Allegorithmic?
Onderzoeksmethode: Vergelijkend onderzoek
Onderzoeksinstrumenten: Experiment, data analyse en een enquête.
Onderbouwing: Uit deze deelvraag moet blijken wat de beste manier is om realistische
procedural textures te creëren. Om deze vraag te beantwoorden wordt er en een experiment opgezet en resultaten vergeleken.
Deelvraag 4: Wat is de beste manier om deze workflow te implementeren binnen de huidige pipeline van MediaMonks?
Onderzoeksmethode:Case study Onderzoeksinstrumenten: Interview
Onderbouwing: Om deze workflow succesvol te kunnen integreren in de bestaande pipeline,
wordt er gekeken en gediscussieerd met collega’s over verschillende methodes voor integratie en toegankelijkheid.
14. Resultaten
14.1. Deelvraag 1
Wat is de huidige (procedurele) texturing workflow/pipeline van de post-productie afdeling binnen MediaMonks?
14.1.1 Subvraag 1
Welk onderdeel binnen een productie vervult de post-production afdeling?
Een (video)productie (zoals een reclame video) maakt over het algemeen gebruik van een algemene timeline waarin specifieke taken op een chronologische wijze worden volbracht. MediaMonks maakt ook gebruik van deze algemene workflow, die bestaat uit de volgende productiefases:
Pre-production → Shoot → Post-production → Delivery → Finals & Archive
(Voor het inzien van een schematische weergave uit een intern document, zie bijlage 9.1.
Hierbij vervult de ‘post-production’ afdeling de laatste fase binnen het productieproces. Zoals hierboven is weergegeven, vindt er na de opnames het post-productie proces plaats. In dit onderdeel wordt het geschoten videomateriaal bewerkt, waaruit uiteindelijk een gepolijst eindresultaat uit ontstaat. Zodra de post-production fase is afgerond en goedgekeurd, wordt het materiaal/product aan de klant geleverd en gearchiveerd.
14.1.2 Subvraag 2
Wat is de pipeline van de post-productie afdeling?
De pipeline van de post-production afdeling bestaat uit een aantal fases. Nadat er
videomateriaal is geschoten, begint de eerste post-production fase: de ‘Offline Edit’. In dit onderdeel wordt er door de editor het bruikbare beeldmateriaal geknipt en aan elkaar verbonden (edit). Vervolgens wordt er voor de tweede en derde fase audio, animatie en 2D/3D content (VFX) over het bewerkte beeldmateriaal gemaakt en geplaatst. Zodra de 2D/3D content is gerenderd, wordt het gerenderde materiaal in de fase ‘Grading’ aan de edit toegevoegd en verder bewerkt, waaruit een algehele stijl ontstaat. Als al het gemaakte werk eenmaal aan elkaar is gecombineerd, wordt het doorgestuurd naar de ‘Online Edit’, waarna het ‘final’ videobestand wordt doorgestuurd naar de klant. Een schematische weergave uit een intern document over de post-productie pipeline vindt u in bijlage 9.2.
14.1.3 Subvraag 3
Van welke software maakt de post-production afdeling gebruik?
De post-production afdeling maakt gebruikt van een groot aantal specialistische
softwarepakketten, die veelal worden gebruikt binnen de VFX- en game industrie. Vanwege het grote aantal softwareprogramma’s, is er daarom in bijlage 9.3. een lijst gemaakt. Hierin wordt tevens weergegeven waar deze softwarepakketten voornamelijk voor worden gebruikt.
14.2. Deelvraag 2
Voor het beantwoorden van deelvraag 2 zijn er subvragen opgesteld, die gezamenlijk een antwoord geven op deelvraag 2.
“Wat kan Procedural Content Creation (PCG) bieden en verbeteren?”
- Procedural content creation biedt mogelijkheden om realistische materialen na te bootsen en te simuleren op een meer gebruiksvriendelijke manier.
- Procedurele (texturing) technieken gaan veel efficiënter om met het opslaan en verwerken van data, wat aanzienlijk in opslag en rekenkracht bespaard. Dit is Ideaal bij het creëren van realistische materialen wat vaak hoge resoluties vergt en
meerdere PBR map.
- Procedural technieken geeft ook flexibiliteit in het creëren van materialen, doordat het parametric control biedt.
- Procedural content kan accurate(re) realisme weergeven dankzij het gebruik maken van (teleologische) simulaties en of (ontogenetische) noise/heightmap informatie. Dit is terug te vinden bij hun ingebouwde node-based en photogrammetry features van Allegorithmic.
- Binnen procedural content creation zijn er meerdere workflows (Substance Designer, Painter, Alchemist), waarbij de juiste overweging per situatie mogelijk wordt. Deze kan naadloos samen of los van elkaar gebruikt worden.
- De transitie tussen de softwarepakketten van Allegorithmic en andere 3D
programma’s (zoals Maya) kan worden vereenvoudigd d.m.v. handige plugins, zoals ‘Livelink’ en ‘Substance Automation Toolkit’. Daarnaast is er de mogelijkheid om een custom materialenbibliotheek te maken (zie Substance Integrations/Libraries)
Uiteindelijk levert procedural content creation veel voordelen op. Hierbij is wel belangrijk dat bepaalde vereisten in programmeren, opzetten en foutopsporing in acht wordt genomen.
Deze algemene voordelen kunnen nuttig zijn en van toepassing zijn binnen de huidige pipeline van MediaMonks. Te benoemen, het volgende:
- Procedural content creation zou naadloos gebruikt kunnen worden door verschillende afdelingen binnen MediaMonks, omdat het een non-destructive en non-linear process is. Ook zijn er meerdere methodes die overwegen kunnen worden, om verschillende de benodigdheden en limitaties van elk afdeling tegemoet te komen.
- Door ingebouwde features in de software (zoals node-based en photogrammetry) is het maken van realistische materialen efficiënter en eenvoudiger. Tevens zijn de materialen te hergebruiken en aan te passen, waarbij uiteindelijk tijd en kosten meer kunnen worden bespaard. De plug-ins (Livelink & Substance Automation Toolkit) voor het automatiseren van bepaalde processen voor o.a. het importeren en opzetten van materialen van Substance naar Maya (Arnold).
- Procedural Generation process kan uitgevoerd worden op loadtime (pre-rendered) of op runtime (real-time rendering). Vooral bij real-time rendering worden strikte eisen gesteld voor de prestatie van een procedural generator. (Grendel Games, n.d.) - Daarnaast biedt procedural technieken ook ‘parametric control’: Het kunnen
aanpassen van bepaalde parameters in het logaritme. Het kunnen aanpassen van parameters biedt controle over aanpassingen op grote schaal door de aangeleverde basislijn/schuifbalk te versterken of verzwakken, zonder zich te hoeven ontfermen over elk detail bij het maken van aanpassingen. Hierdoor is het gebruiken van procedural technieken vooral bruikbaar bij het creëren van realistische computer graphics (Texturing & Modeling: A Procedural Approach, pp. 1 - 2).
14.3. Deelvraag 3
“Wat is de beste workflow om realistische procedural materialen te creëren met Allegorithmic? (theorie/experiment)”
Onderzoeksvraag
“Wat is het beste workflow om realistische procedural materialen te creëren met software van Allegorithmic?”
Voor het beantwoorden van deelvraag 3 wordt er m.b.v. Substance Designer (en Adobe Lightroom + Photoshop) onderzocht wat de voordelen en nadelen zijn tussen de
photogrammetry workflow en de node-based texturing workflow. Hiervoor zijn er twee experimenten opgesteld:
- Het eerste experiment richt zich op de photogrammetry workflow, omdat de
gefotografeerde data als referentie kan worden gebruikt voor het tweede experiment. - Het tweede experiment richt zich op de procedural node-based texturing workflow,
waarbij het gefotografeerde materiaal (zo goed mogelijk) wordt nagebootst d.m.v. nodes.
Tijdens- en na het uitvoeren van de experimenten is er kwantitatieve en kwalitatieve data verzameld d.m.v. gemeten data en de resultaten voorgelegd aan twee directe collega’s.
1. Tijd: - Hoeveel tijd kost het om de workflow uit te voeren?
2. Computing Power: - Hoeveel procent processorkracht vraagt de workflow?
3. Bestandsgrootte: - Hoeveel KB/MB/GB is het werkbestand en het geëxporteerde materiaal?
De kwalitatieve resultaten worden beoordeeld op de volgende criteria:
4. Resultaat: - In hoeverre lijkt het 3D materiaal op het oorspronkelijke materiaal?
5. Bruikbaarheid: - In hoeverre heeft de gebruiker controle over het procedurele materiaal?
6. Reproduceerbaarheid: - In hoeverre is het proces reproduceerbaar?
Hypothese
Vanuit de verzamelde informatie in het theoretisch kader zijn de volgende hypotheses opgesteld:
Kwantitatief:
- H1: Photogrammetry heeft een snellere workflow dan de node-based workflow. - H2: Photogrammetry vraagt meer computing power dan de node-based workflow. - H3: Werkbestanden en materialen gemaakt d.m.v. photogrammetry hebben een
grotere bestandsgrootte dan de werkbestanden en materialen die zijn gemaakt d.m.v. de node-based workflow.
Kwalitatief:
- H4: Met beide workflows kunnen er (zeer) overtuigende realistische materialen worden gemaakt.
- H5: De photogrammetry workflow biedt weinig parametrische controle over het procedurele materiaal. De node-based workflow biedt veel parametrische controle over het procedurele materiaal.
- H6: De photogrammetry workflow moet volgens een (eenvoudige,) stapsgewijze, reproduceerbare werkmethode worden uitgevoerd. Voor de node-based workflow is er geen ‘vaste’ reproduceerbare methode (zie Node-based procedural texturing). Er kunnen wel bepaalde richtlijnen worden toegepast, maar het uiteindelijke resultaat zal tot stand komen door de interpretatie, kennis en creativiteit van de artiest.
Experiment
Voor beide experimenten is er een materiaal gekozen om na te maken in 3D. Er is gezocht naar een materiaal wat nog niet in de Substance Share bibliotheek staat. Er is de keuze
oppervlak bevat.
Omdat het eerste experiment zich richt op photogrammetry, was er een voorbereiding
noodzakelijk. Deze voorbereiding bestaat uit het maken van een camera opstelling, waarbij er een camera zich van bovenaf richt op de ‘multi-angle shooting chart’ van Allegorithmic (zie
bijlage 9.4.). Substance Designer kan deze chart ‘herkennen’, om het vervolgens te gebruiken
in het photogrammetry proces. Daarnaast is er een witte lamp gebruikt die om de 45° rondom de multi-angle shooting chart kan worden verplaatst. Na deze voorbereiding kon het
experiment worden uitgevoerd.
Experiment 1, Photogrammetry workflow:
Voor de start van het eerste experiment zijn er in totaal 8 foto’s (in RAW formaat) gemaakt van een vierkant stukje crêpepapier, die in het midden van de multi-angle shooting chart was geplaatst. Om zoveel mogelijk detail uit de foto’s te halen, moesten de foto’s qua contrast een beetje worden bijgewerkt in Adobe Lightroom. Om vervolgens alle foto’s precies over elkaar af te stemmen, werd de ‘Photomerge’ functie van Adobe Photoshop gebruikt. Hierna konden de foto’s in Substance Designer worden geïmporteerd. Er werd een eenvoudige node-structure toegepast, die de foto’s converteren naar de juiste texture maps. Er waren slechts enkel een aantal extra nodes nodig noodzakelijk, die o.a. controle gaven over de reflectie en hoogte/reliëf van het oppervlak. Uiteindelijk kon het materiaal worden geëxporteerd als een Substance Material (.sbsar).
Experiment 2, Node-based Workflow:
De texture maps van het eerste experiment werden voor dit tweede experiment gebruikt als referentie, waarbij het doel was om hetzelfde resultaat na te bouwen. Dankzij de opgedane kennis van de tutorials (zie bijlage 11. ) werd er een node-structure gebouwd. Het eindproduct werd geëxporteerd als een Substance Material (.sbsar).
Resultaten Experiment 1, Photogrammetry
kwantitatieve resultaten:
Tijd:
Tijd fotograferen van oppervlakte ± 5 minuten
Tijd nabewerken van foto’s ± 8 minuten
Tijd bouwen van node-structure in Substance Designer ± 1 uur en 10 minuten
Totale tijd: ± 1 uur en 23 minuten
Computing Power:
CPU kracht in procenten tussen de 88% en 98%
Bestandsgrootte werkbestand 57 KB Bestandsgrootte geëxporteerd materiaal 1,61 GB kwalitatieve resultaten: Resultaat: Collega 1: Collega 2:
“Het materiaal lijkt nagenoeg 1-op-1 op het oorspronkelijke resultaat.”
“Het ziet er heel realistisch uit, en de uiteindelijke texture maps zien er bruikbaar uit.”
Bruikbaarheid: Collega 1:
Collega 2:
“Er is weinig parametrische controle. Je hebt alleen controle over de sterkte van de normal/height/metalness/roughness”.
“Het biedt voor bepaalde projecten/toepassingen voldoende parametrische controle, maar het is niet mogelijk om variaties in het oppervlak aan te brengen.”
Reproduceerbaarheid: Collega 1:
Collega 2:
“De workflow is reproduceerbaar want je moet je houden aan vaste stappen.”
“Dat klopt, maar je hebt altijd nog de vrijheid om het materiaal complexer te maken, door meer nodes toe te voegen. Als dat wordt gedaan, is het niet direct reproduceerbaar, want het wordt uitgevoerd a.d.h.v. de interpretatie en kennis van de gebruiker”.
Resultaten Experiment 2, Node-based
kwantitatieve resultaten:
Tijd:
Totale tijd bouwen van node-structure in Substance Designer ± 2 uur en 17 minuten
Computing Power:
CPU kracht in procenten tussen de 17% en 32%
Bestandsgrootte:
kwalitatieve resultaten: Resultaat: Collega 1: Collega 2:
“Het materiaal lijkt aardig op het materiaal dat gemaakt is door photogrammetry, maar het mist nog specifieke details die voorkomen in crêpepapier.”
“Ondanks dat het misschien niet precies hetzelfde is, vind ik het materiaal overtuigend genoeg om te zien van dat het crêpepapier is”. Bruikbaarheid: Collega 1: Collega 2:
“je hebt veel parametrische controle. je kan de hele structuur randomizen”.
“Het biedt voor bepaalde projecten/toepassingen voldoende parametrische controle, maar het is niet mogelijk om variaties in het oppervlak aan te brengen.”
Reproduceerbaarheid: Collega 1:
Collega 2:
“De workflow is reproduceerbaar want je moet je houden aan vaste stappen.”
“Dat klopt, maar je hebt altijd nog de vrijheid om het materiaal complexer te maken, door meer nodes toe te voegen. Als dat wordt gedaan, is het niet direct reproduceerbaar, want het wordt uitgevoerd a.d.h.v. de interpretatie en kennis van de gebruiker”.
14.4. Deelvraag 4
“Wat is de beste manier om de workflows te implementeren binnen de huidige pipeline van MediaMonks.”
Voor het beantwoorden deelvraag 4 heeft er met Ruud Coenen een kort interview plaatsgevonden over wat de beste manier is om de geteste workflows te implementeren binnen de pipeline. Hieruit is het volgende gebleken:
- Voor het implementeren van de photogrammetry workflow is er een template nodig in de vorm van een Substance Designer project bestand. Deze kan elke worden gebruikt zodra er voor een project de photogrammetry workflow nodig is.
- Voor het implementeren van de node-based workflow is er geen implementatie nodig. Dit is omdat er geen vaste workflow voor bestaat, maar dat de gebruiker zelf zijn eigen workflow gebruikt om een materiaal te creëren.
- Voor het implementeren van de gedeelde materialenbibliotheek, is het raadzaam om een tutorial te typen (in de vorm van een pdf). Deze kan worden toegevoegd aan de
‘Wiki’ van MediaMonks (dit is een webpagina van MediaMonks, waarop allerlei belangrijke informatie is te vinden). Het is niet nodig om hiervoor speciaal een website, video of app te maken, want op de Wiki worden o.a. dit soort documenten gedeeld.
A.d.h.v. het gevoerde interview zijn er twee beroepsproducten tot stand gebracht: - Photogrammetry template (Substance Designer project).
- Tutorial (in pdf formaat) voor de Wiki van MediaMonks.
Beide beroepsproducten zijn vervolgens getest en beoordeeld door drie post-production collega’s.
15. Conclusies
15.1. Conclusie deelvraag 1:
“Wat is de huidige (procedurele) texturing workflow/pipeline van de post-productie afdeling binnen MediaMonks?”
De huidige pipeline van de MediaMonks is gebaseerd en ontstaan uit specifieke omstandigheden, limitaties en toegankelijkheden.
- MediaMonks is een groot bedrijf met meerdere filialen en afdelingen, die een brede focus aanneemt. Hierdoor wordt er veel parallel geproduceerd met overlappende disciplines tussen afdelingen. Desalniettemin gebruikt elke afdeling zijn eigen pipeline.
- Door te weinig kennis en ervaring met bepaalde innovatieve programma’s, worden kosten en tijd bespaard door PBR materials veelal online aan te schaffen. Ook is de transitie tussen Substance en Maya/Arnold tamelijk lastig, waarbij het importeren van texture maps en opzetten van materialen relatief veel tijd vergt.
- MediaMonks heeft op dit moment nog geen algemene deelbare bibliotheek, hierbij heeft elke afdeling een eigen manier om bestanden op te slaan en te delen.
Hieruit is gebleken wat de nadelen zijn van hun huidige pipeline en waar het verbeterd kan worden.
- Omdat MediaMonks een brede focus heeft en parallel werkt met meerdere afdelingen tegelijkertijd, kan het verschil in pipeline zorgen voor een minder efficiënte
samenwerking tussen afdelingen.
- Het extern aanschaffen van PBR materialen heeft als nadeel dat MediaMonks afhankelijk is van wat aangeboden wordt op internet.
Doordat MediaMonks nog geen algemene deelbare bibliotheek heeft, worden zelfgemaakte materialen alleen opgeslagen op de computer van degene die het heeft gemaakt. Hierbij is het gemakkelijk previewen, opslaan en delen van bestanden nog niet mogelijk. Hierdoor worden veel bruikbare bestanden niet optimaal gebruikt, omdat afdelingen niet direct toegang hebben tot elkaars bestanden.
16. Eindconclusie
In dit onderzoek is er gezocht naar een antwoord op de vraag: “Hoe kan de huidige (3D) texturing pipeline binnen MediaMonks worden verbeterd d.m.v. de software van
Allegorithmic?”. Uit de resultaten van de experimenten en beroepsproducten is gebleken dat het gebruik maken van de photogrammetry workflow de snelste en meest efficiënte manier is om complexe, realistische procedurele materialen te genereren. De keerzijde hiervan is dat de geëxporteerde materialen . De node-based workflow biedt de meest gebruiksvriendelijke oplossingen voor het parametrisch aanpassen van materialen en neemt zeer weinig data in beslag, maar kost daarentegen de meest tijd om uit te voeren tijdens een productieproces. Omdat alleen de photogrammetry workflow uitvoerbaar is volgens specifieke richtlijnen, is daarom het gebruik maken van de photogrammetry workflow template een toevoeging voor de texturing workflow. Daarnaast is de gedeelde materialenbibliotheek via de Google Drive een efficiënte toevoeging voor de procedurele texturing processen binnen MediaMonks, omdat de afdelingen van MediaMonks hiermee hun (zelfgemaakte) in-house materialen eenvoudig kunnen delen, bewaren, aanpassen en ordenen.
17. Discussie
Uit de resultaten bleek het zo te zijn dat Node-based workflow qua data opslag en
rekenkracht efficiënter is dan de Photogrammetry workflow, maar dat Photogrammetry sneller kwalitatief realisme kan visualiseren. Er kan hierbij een veronderstelling worden gemaakt dat de beste workflow gebaseerd is op de situatie, tijdsbestek en gewenste resultaat bij een specifieke project binnen het bedrijf.
De experimenten vergelijkt alleen node-based workflow met photogrammetry workflow en omvat dus niet andere mogelijke workflows binnen procedural content creation met de software van Allegorithmic. Hierbij kan gediscussieerd worden dat er andere betere workflows bestaan wat niet behandeld is in dit onderzoek.
Uit de experimentatie met gedeelde materialen bibliotheek binnen Mediamonks is gebleken dat Google Drive trager de materialen deelt dan de server binnen Mediamonks, wat niet overeenstemming bleek te zijn met de verwachting. Een mogelijk verklaring voor deze resultaten zou kunnen zijn dat het afhankelijk is van de internet snelheid van het bedrijf. Hierdoor is het mogelijk dat deze resultaten beïnvloed werden door externe factoren die niet meegenomen zijn in het onderzoek.
Dit onderzoek heeft uitsluitend gefocust op het handmatig maken van realistische materialen met Procedural Content Creation. Andere mogelijkheden zoals de groeiende belang in het integreren van Artificial Intelligence zoals in Substance Alchemist is hierbij niet bekeken, waardoor de resultaten en conclusie mogelijk anders zullen zijn.
Als vervolgonderzoek wordt er dus geadviseerd om deze te betrekken en opnieuw uit te voeren om te kijken of deze grote verschillen in resultaten zullen leveren.
18. Aanbevelingen
Voor het verder kunnen verbeteren van de procedurele texturing pipeline zijn er twee aanbevelingen:
1e aanbeveling:
Voor de photogrammetry workflow is het raadzaam om in de toekomst een ‘scanbox’ te bouwen. Deze scanbox zal fungeren als een soort donkere kamer en kan worden geplaatst over een oppervlak. Bovenin de scanbox zit dan een camera bevestigd en zitten er acht lampen ingebouwd, zodat het licht van meerdere kanten kan worden bepaald. hierdoor krijgt de gebruiker (meer) controle over de omgeving en belichting tijdens het fotograferen/
scannen van oppervlaktes/textures/materialen.
2e aanbeveling:
Voor de node-based workflow is het raadzaam om mensen op te leiden Substance Designer te leren. Hoe meer kennis er is over deze software, des te groter de in-house
materialenbibliotheek zal groeien, des te efficiënter texturing processen kunnen verlopen.
19. Beroepsproducten
Beroepsproduct 1: Voor het verbeteren van de photogrammetry workflow, is er een template voor Substance Designer opgezet. Deze template maakt het mogelijk om gefotografeerde oppervlaktes automatisch om te zetten naar een bruikbaar procedureel materiaal. Tevens heeft deze template een eenvoudige stapsgewijze uitleg over hoe men de template moet gebruiken. In ‘Bijlage 12.1’ vind u een weergave van beroepsproduct 1.
Beroepsproduct 2: Tutorial voor het implementeren van de gedeelde materialenbibliotheek. In ‘Bijlage 12.1’ vind u een weergave van beroepsproduct 2.
20. Logboek
Datum Taak Opmerking
14-01-2019 Start van het onderzoek. Gesprekken voeren met
collega’s over aankaarten van probleem/onderwerp. Start schrijven van voorlopig PVA
Mogelijke onderwerpen:
- Procedural texturing
- Realtime rendering voor post-production
- VR voor 3D modelling
18-01-2019 Contact met stagebegeleider Herman Statius Muller
18-02-2019 360° scan. Informatie zoeken over onderwerp/probleem. Informatie zoeken over de software, vergelijkbare onderzoeken en forums.
26-02-2019 Inleveren voorlopig PVA.
18-03-2019 Bespreking voorlopig PVA met Herman Statius Muller. Hoofd- en deelvragen aanpassen.
Huiswerkopdracht: Schrijf een voorlopige reflectie.
12-03-2019 Definitief inlevermoment PVA.
16 en 17
-03-2019 Uitvoeren van tutorial 1 (zie bijlage 11.1) De tutorial gaf een uitgebreide basis uitleg over Substance Designer tijdens het maken van een roestig metaal.
23-03-2019 Uitvoeren van tutorial 2 (zie bijlage 11.2.) De tutorial gaf een zeer uitgebreide uitleg over
Substance Designer door het maken van een grondoppervlak met takken en stenen.
06-04-2019 Voorbereidingen maken voor tutorial 3:
- Bouwen van Allegorithmic’s scanbox, inc.
camera- en lichtopstelling
- Foto’s maken van materialen.
Voor de camera opstelling is een Allegorithmic scanbox en lichtopstelling gemaakt (zie bijlage 11.3.) . De materialen zijn gefotografeerd in een donkere kamer.
07-04-2019 Uitvoeren van tutorial 3 (zie bijlage 11.3.) De tutorial gaat over het maken van een materiaal d.m.v.
photogrammetry in Substance Designer.
15-04-2019 Voorlopige reflectie inleveren en via Skype bespreken
met Herman Advies van Herman over reflectie: “Je mag jezelf minder streng beoordelen”.
16-04-2019 Opzetten + testen van gedeelde materialenbibliotheek.
(zie bijlage 11.5.)
17-04-2019 Start concept ontwikkelen. Schrijven van tutorial in pdf
formaat. De tutorial geeft uitleg over hoe men de gedeelde ‘Substance shelf’ kan implementeren en gebruiken.
14-05-2019 Inleveren voorlopig afstudeerverslag.
20-05-2019 Skypecall met Herman Statius Muller. Er is gepraat over het beter formuleren van de
deelvragen. Volgens Herman zit ik op de juiste koers, maar de deelvragen mogen beter worden uitgewerkt.
03-06-2019 Bespreking voorlopig afstudeerverslag. Belangrijkste advies van Herman:
- Werk het hoofdstuk ‘Afbakening’ verder uit.
- Werk het hoofdstuk ‘Methodiek’ verder uit.
18-06-2019 Definitief inlevermoment afstudeerverslag
21. Reflectie
Voor de onderbouwde persoonlijke reflectie, zie: Bijlage 12. Reflectie.
Technological | 1. Technical research and analysis: Excellent (3)
Good + the graduation process strongly focused on the development of an innovation or application of current digital technologies that is innovative to the client.
Technological | 2. Designing and prototyping: Good (2)
Sufficient + the problem statement focused on the development focused on the development of an innovation or application of current digital technologies that is innovative to the client.
Technological | 3. Testing and rolling out: Good (2)
Sufficient + the final product shows a clear connection to the design.
Technological | 4. Investigating and analysing: Sufficient (1)
The student has used knowledge of research provided by his study program. One or more prototypes were developed to conduct the selected tests.
Technological | 5. Conceptualising: Good (2)
The customers demand is translated into a proper problem statement, hatching the opportunity to creative innovative solutions.
Technological | 6. Designing: Excellent (3)
Sufficient + only small adjustments are needed to make the design of the concept(s) that is (were) developed “ready to marker”
Technological | 7. Enterprising attitude: Sufficient (1)
The student signaled chances on the market at existing audiences of the client. Innovative applications of the final product are possible, trough which value can be created by existing business models.
Technological | 8. Enterprising skills: Good (2)
The student signaled himself commercial aspects that are related to the solution of the problem statement.
Technological | 9. Working in a project-based way: Good (2)
Sufficient + the stakeholders were involved in various stages of the design process.
Technological | 10. Communication: Good (2)
Sufficient + the student can justify the choices he made in the design process.
Technological | 11. Learning ability and reflectivity: Excellent (3)
Good + the student takes a clear position as a starting CMGT professional in the discipline.
Technological | 12. Responsibility: Excellent (3)
The student has independently acquired new knowledge outside his own discipline. Student had to make ethical considerations and he clearly justified the choices he made.