-
Notifications
You must be signed in to change notification settings - Fork 0
Pipeline Afspraken
- Unreal Engine 4.27.2
- Sourcetree (windows gebruikers)
- Gitkraken (linux gebruikers)
- Trello
- Blender
- Substance Painter
We maken in Blender een low en een high poly versie van de assets. We hebben een triangulated stijl, om deze aan te houden gebruiken wij de volgende modifiers op de high poly mesh: Subdivision surface > Displace (voronoi texture) > Decimate (Triangulate) > Bevel (Profile 1, 2 divisions) > weighted normal. We UV unwrappen alleen de low poly versie.
We geven ook vertex color mee aan de mesh (high poly versie) om dit als ID masks te baken. Dit baken wij allemaal op de low poly mesh in Substance Painter. Wij exporteren beide low en high poly versies als FBX met de volgende benamingen: Mesh_low, Mesh_high.
In Painter importeren wij de low poly versie. Voor het baken gebruiken we de volgende instellingen: alle secondary rays zetten we op 256, diffusion zetten we aan, de high poly baken we op de low, antialiasing op 4x, match by mesh name, Average normal zetten we soms uit (dit ligt echt aan de mesh zelf) ID op vertext color, ignore backface op always. Aangezien we een bevel hebben met specifieke instellingen op de high poly mesh kunnen we dit baken op de low en het laten lijken alsof alles een zachte gebevelde edge heeft zonder de daadwerkelijke extra topology.
We gebruiken standaard kleuren zonder speciale grunges of masks. Aangezien we triangles in onze mesh hebben geven we deze aparte kleuren en roughness. De ID's kunnen we gebruiken als masks. We gebruiken die ID masks met en color selection en een HSL filter om kleur verschil te krijgen over de verschillende triangles.
We exporteren 3 textures: Basecolor, Normal en ORM (occlusion, roughness en metallic). De file type is Targa met 8 bits. We exporteren ze 4K (dit passen we meestal in de Engine nog aan). Padding staat op Dilation + default background color (pixel staat op 12). We gebruiken de volgende benaming: T_Mesh_Basecolor, T_Mesh_ORM, T_Mesh_Normal.
Terug in Blender maken we een copy van de low poly versie en combinen we alle losse meshes tot 1. We zorgen ervoor dat de pivot in het midden van de mesh staat op de grond zodat hij niet zweeft of door de vloer zit, we zorgen er ook voor dat de mesh in het midden van de wereld staat (world origin). We maken ook zelf de collision met basic shapes. De benaming van de mesh en collision is als volgt: SM_Mesh (mesh) UCX_SM_Mesh (Collision). We geven de mesh een material met de naam: MI_Mesh. We exporteren dit allemaal in 1 FBX. We zorgen ervoor dat in de export settings –Y forward is en Z up.
Alle textures zijn in 4k resolutie geexporteerd en de scale van het model wordt door de developers aangepast in de engine. Na het exporteren van de textures importeren wij het model en de textures in Unreal Engine 4. Het enigste wat wij aan de import settings veranderen is dat de Engine niet automatisch een materiaal aan maakt. Nadat het model met de textures zijn geimporteerd, maken wij een material instance aan. In dit materiaal slepen we dan de textures in de bijbehorende channels. Bij de ORM texture veranderen wij de 'compression settings' naar 'Mask (no RGB)'. De rest van de textures blijven hetzelfde. Hierna slepen wij het materiaal op het model en zijn we klaar. We slaan alles op en pushen het vervolgens naar onze eigen branch.
Alle geexporteerde assets krijgen een nederlandse naam en die naam moet beginnen met een hoofdletter. Alle static meshes krijgen SM_(Modelnaam). De textures T_(Texturenaam). De materials M_(Materialnaam). Skeletal Meshes krijgen SK_(Meshnaam). Alle animaties zijn geschreven in snake_case, en hebben 'anim' in de naam staan.