Jij krijgt een zeecontainer in 3D. Daarvan moet jij een eet- of drinkkraampje maken voor op een food-festival. Je mag zelf weten welk eten of drinken er wordt verkocht in jouw kraampje. De stijl moet realistisch zijn. Je krijgt 5 weken de tijd.
Met dit project oefen je de volgende dingen:
3D-objecten maken met voldoende, maar niet te veel polygonen. De mesh heeft een goede topology.
Netjes unwrappen, zonder veel stretch en zonder veel seams. De texel-desity is overal gelijk.
De unwrap's van meerdere 3D-objecten samenvoegen in 1 UV-space.
Realistische textures maken, met ten minste color-maps, metal-maps en normal-maps.
Een 3D-object met textures op de juiste manier opleveren voor een game-engine.
Verder leer je wat al deze moeilijke woorden betekenen.
Studenten in leerjaar 2 van Creative Software Developer, van het Grafisch Lyceum Rotterdam, maken een VR-multiplayer-arena-shooter in Unity. (Als het lukt. Misschien wordt het singleplayer met bots.) De arena is een food festival. Daar staan vele eet- en drinkkraampjes. Bij de kraampjes kan de speler eten of drinken pakken. Dit is de munitie waarmee de speler gooit. Jij gaat 1 kraampje maken en opleveren aan de studenten van media-development.
Omdat de game in VR is, moeten alle assets (kraampjes) goed geoptimaliseerd zijn.
Er is gekozen voor een realistische stijl.
Vrijdag 24 november moet je jouw kraampje opleveren. Dat betekent dat je 5 weken aan dit project kan werken. Op school krijg je hiervoor 6 uur per week. (We zullen 2 uur van 3D ART gebruiken voor extra techniek-lessen.)
Je krijgt een zeecontainer aangeleverd in 3D; met unwrap. Deze staat op Teams als Maya- en als OBJ-bestand. Dit is de link: foodfest
De unwrap van de zeecontainer vult slechts de onderste helft van de uv-space. Jij gaat 3D-objecten maken en toevoegen. De unwrap's van jouw eigen objecten moet passen in de bovenste helft van de uv-space.
De studenten van Creative Software Developer werken met Unity en gebruiken de Universal-Render-Pipeline (URP). Dat betekent dat jij jouw textures zo met exporteren, dat ze hiervoor geschikt zijn. De juiste naamgeving is super belangrijk !!! Uiteindelijk lever jij de volgende zaken op:
3D-mesh van de container als obj-bestand: Voornaam_Achternaam_3Dmesh.obj
3D-mesh van je gooibare object als obj-bestand: Voornaam_Achternaam_3Dmesh_prop.obj
Kleuren-texture als png-bestand: Voornaam_Achternaam_Albedo.png
Metallic-texture als png-bestand: Voornaam_Achternaam_Metallic.png
Normal-texture als png-bestand: Voornaam_Achternaam_Normal.png
De 3D-mesh mag maximaal 50.000 tris hebben.
De textures moeten 4k zijn.
De grootste beloning is, als alles goed gaat, dat jouw kraampje straks te zien is in een VR omgeving. Je zit op school, dus er mogen dingen mislukken. Voor de beoordeling moet je een Learning Journal maken in Adobe Express. Hierin omschrijf je alle stappen die je doorlopen hebt tijdens dit project, met lekker veel plaatjes erbij. Beschrijf ook de dingen die fout of lastig gingen. Hoe heb je dat opgelost?
Complexiteit: Hoe hoog heb je de lat voor jezelf gelegd? Zien jouw objecten er realistisch uit qua vorm en qua textures? Heb je veel verschillende objecten moeten maken? Zijn de vormen ingewikkeld?
Topology: Heb je niet te veel polygonen gebruikt? Gebruik je meer polygonen waar een ronding zit en minder polygonen in een vlakte? Heb je minder dan 50.000 tris gebruikt? Zijn je polygonen alleen quads, met enkele tris?
Unwrap: Past de unwrap van al jouw 3D-objecten netjes in de bovenste helft van de uv-space? Heb je niet te veel seams? Heb je niet te veel stretching? Heb je niet te veel lege ruimte? Is de texel-density overal gelijk?
Textures: Zien jouw textures er realistisch uit? Heb je veel verschillende materialen gebruikt? Heb je standaard materialen aangepast naar jouw eigen wensen? Zit er veel detail in de textures?
Opleveren: Heb jij jouw werk precies zo opgeleverd, zoals het gevraagd werd? Heb je de deadline gehaald? Heb je nog iets extra's gedaan bij de oplevering, om het de media-developer makkelijk te maken? (Zit er een strakke rendering bij?)
Op vrijdag 24 november moet je jouw 3D kraam opleveren. Je hebt 5 weken om aan dit project te werken. Per week wordt er 6 uur ingeroosterd voor dit project. In de agenda zie je 8 uur staan, maar we gebruiken 2 uur van 3D ART voor extra lessen in techniek. Voor veel studenten zal dat nodig zijn.
Om tijd te besparen, gaan we heel snel door de concept-fase heen. Het concept wordt niet beoordeeld.
week 1 Concept bedenken / Research / Schets maken / Assetlist maken
week 2 3D models maken
week 3 Unwrap
week 4 Textures
week 5 Finishing touch / Opleveren / Inleveren Learning Journal
Als het goed is, weet jij nu hoe je een project start. Je doet research, je bedenkt ideeën, je kiest 1 idee en die leg je vast in een schets. Dat is bekend. In de planning staat dat je ook een Asset List moet maken. Dat is misschien nieuw.
Een Asset List is een lijstje met alle objecten (assets) die jij moet maken voor jouw concept. Per asset maak je een schatting hoeveel tijd het kost. Als je alle tijden voor alle assets bij elkaar optelt, dan weet je hoe lang jij erover doet om jouw concept uit te voeren.
Probeer zoveel mogelijk 3D-modellen te hergebruiken. Een plank voor een toonbank kan ook gebruikt worden als plank in de keuken. Dat scheelt weer een beetje werk.
Hieronder zie je een voorbeeld.
Elke 3D-artist heeft zijn eigen aanpak. Hieronder staat de aanpak die wij adviseren.
Van elk 3D-model maak je er maar 1. Je moet straks eerst unwrappen, voordat je kopieën gaat maken.
Zorg ervoor dat elk 3D-object een nette unwrap heeft, los van elkaar.
Selecteer alle objecten en bekijk de UV. Nu ga je schalen en schuiven met alle shells, totdat ze netjes passen in de uv-space. De uwrap is klaar.
Je gaat jouw 3D-scene straks exporteren naar Substance Painter. Die software kan automatisch schaduwen uitrekenen. Als er bij jou een kom op de tafel staat, dan krijg je een schaduw van de kom om de tafel. Als je later een kopie maakt van de tafel, dan zit daar vanzelf een schaduw op, ook als er geen kommetje is. Dat wil je niet.
In Substance Painter krijg je een scene met al jouw 3D-objecten. Er zit veel ruimte tussen de 3D-objecten. Doe een "bake mesh maps" voor mooie schaduwen. Op deze manier kan je ook werken met "smart materials".
Kies een materiaal dat je wil gebruiken en zet deze in een laag. Nu zit het materiaal overal. Gebruik een masker op de laag, zodat het materiaal alleen te zien is, waar jij het nodig hebt.
Indien nodig pas je het materiaal aan, zodat het precies is wat jij wil.
Maak alle materialen voor alle 3D-objecten. Misschien moet je hiervoor zelf een logo of een tekst importeren als texture. Deze kan je dan vooraf maken in Photoshop of Illustrator.
Als alle materialen in Substance Painter klaar zijn, dan kan je de textures exporteren. Kies als "output template" voor "Unity Universal Render Pipeline (Metallic standard)". Dit is wat de media-developers nodig hebben in Unity. Je krijgt dan 3 textures: Albedo (kleur), MetallicSmoothness en Normal.
In jouw 3D-software maak je 1 materiaal voor alle 3D-objecten. Gebruik de 3 textures die je gemaakt hebt in Substance Painter. Nu kan je wel alle 3D-objecten op de juiste plaats zetten.
Voeg belichting toe en maak een mooie rendering.
Exporteren voor game-engine als .obj volgens aangegeven oplevereisen.