My name is David Karis, I have been working as a freelance 3D artist for the past 7 years focusing mainly on public art and interior visualizations many of which have been built and featured across Australia. Everything from feature art in hotel lobbies, playground art pieces for parks, building facades, sculptures, and abstract highway art. I am also a graduate of the Academy of Interactive Entertainment in Melbourne and a qualified Game Environment Artist. I have never stopped working on in-engine game art in my downtime.
High Voltage: Goals & Reference
The main goal for me was to make a project that would allow me to master modular design, high/low poly baking, hard-surface modeling techniques, and further explore Unreal Engine and Substance Painter. My favorite game genre is survival horror, mainly for the role environments play in storytelling, and a sci-fi hallway done well is always a technical feat, so it was a combination of the style I enjoy the most and something that I could really get stuck in.
In terms of reference, I worked on this piece for over a year and it started very reference-heavy as I was trying to understand a multitude of modeling techniques.
Original reference, which I believe by the time I posted my scene has been used already (my fault for taking so long) is from an artist named Mateusz Szulek who I reached out to long before I started work on the environment.
The thing I liked the most about this concept was the overall composition, so I wanted to take this layout and turn the detail up to 11 to learn everything I could about hard-surface modeling
Games referenced include Halo 4, Alien Isolation, Star Citizen, Doom 2016, and many more. The further I got into the scene the more I started to move away from direct reference and started just sketching and experimenting more and developing my own kit.
Initial modeling was an extremely systematic process. I only used Modo to block out the scene with basic shapes as I am more comfortable using it for real-world measurements and exact dimensions compared to Maya, and to find the camera position to get my endgame angle composition-wise. After everything was in place I had to breakdown all the components needed and painstakingly find reference and inspiration for each piece. Once all that was sorted it was a long tunnel of straight modeling in Maya.
As I mentioned, I only used Modo for the big picture stuff and also all the cords, everything else was modeled in Maya as I was trying to keep my Maya skills up to scratch due to Modo being my main app for the freelance work. Though if I had to do it all again I would probably use Modo, its modeling toolkit is unrivaled and has little to no bugs and crashes.
All up there are about 17 different assets involved, 3 of them being trim sheets. It was a huge learning experience for me as I have never taken on anything as large, sophisticated, and precise as this so I expected from the beginning to make a lot of mistakes and scrap anything I was even slightly unhappy with.
In terms of workflow, I like to deal with similar parts of the pipeline at the same time to make sure I use the same techniques for the same process, e.g. all the modeling, then all the texturing, then engine import and so on. It was probably not the most efficient way to get a final result but it was my way to really focus on learning and mastering one aspect at a time. It just required that my block out and composition scene were solid.
The modeling workflow was also very experimental, stopping often to learn anything and everything Maya's modeling toolkit has to offer. I knew that I wanted the majority of the detail to come from the high poly bake, not Substance Painter so I just went crazy modeling detail and incorporating greeble components on every inch of the models then reverse-engineered them back into a low poly model.
Greebles kit & Edge flow sample:
The tug of war between sketching the high poly and keeping a low poly version that has the right amount of detail was the true challenge in modeling the scene time-efficiently. All the low poly model edges are beveled 1 segment as I gave myself no real polygon restrictions (within reason) and wanted very soft smooth edges. Having no deadline on the project made it quite the protracted experience so essentially I gave myself approximately a week per asset (whilst working full-time) of straight modeling, then 1 day to create the low poly and bake all the necessary maps in Marmoset being Normal, Obj Norm, AO, Mat ID, Curv & Position.
Here are some assets!
Low Poly / Normal Only / Final Asset:
This asset involves 3 Materials sheet. The trim sheet of the base and background, the trim sheet for the pipes, and the main machine components.
Machine Components / Detail Trim / Pipe Trim:
Low Polys / Final Assets:
Roof Generator; Low Poly / Final Asset:
Roof generator; all unique components for bake (a complicated design that required a lot of optimization techniques to get working on 1 texture sheet):
The texturing is pretty basic, to be honest. Early on I decided that there would only be 5 main materials repeated throughout each asset; Yellow Painted Metal, Dark Steel, Light Steel, Chrome/High Reflective Steel, Rubber. So during my first day in Substance, I created 5 reusable smart materials that I could just drop on the appropriate predetermined material ID. Then I used the mask builder to give some overall dirt and just add cohesion to the components. I didn’t want it to be overly dirty or scratched so I made some very considered additions of painting in scratches where I thought appropriate.
The other polish level of detail came from a pack of sci-fi decals I purchased from the amazing JROTools. If I had attempted to make all the decals myself it would have taken months to get that amount of quality and variation in a set of 50+ decals. The pack has so much to offer as they are all 2048.png so you can zoom and only use the smallest detail of one and mix and match it with others. That pack coupled with the robust texture control of Substance made it really easy to get some amazing and unique results.
The modular components took a fair amount of finessing as I was fighting between matching the original reference and what actually looked accurate and fit the grid. No real tricks here, just a set of snapping walls, doors and pillars, and 3 trim sheets that patch up the holes.
This was my original block out plan:
I knew that given the camera angle there would be some exposed areas that aren't covered with modular pieces, for example, if I were to move the main right pillars to snap next to the large circular door there would be a lot of details hidden/covered, so I spaced things out by a step and used trim sheets to realistically cover holes and bridge gaps throughout the scene.
My advice (albeit very obvious) would be to make a block out modular kit immediately to put straight into the engine. Getting these fundamentals worked out and perfect at the very beginning saves a lot of stress and hassle in the long run and allows you to just focus on the art itself.
Once my models with normal bake only were all in place, I began with the basics of lighting using primarily Spot lights. I tried to avoid point lights but I found nothing replicated the tube lights as well as they did because there is a lot of control over the shape. I wanted to get the composition and flow of the scene right first whilst being uninhibited by any distraction of textures and emissives. There were some obvious light sources that I had to build around like the tube lighting on the roof and also the large emissive lights on both pillars.
The reason there is a small spotlight in front of almost every lightsource is not necessarily to light the scene but to use with the volumetric fog and control the haziness. There are 3 reflection captures, 1 sphere at the back of the scene, 1 rectangular going the length of the hallway, and a 2D reflection plane covering the floor. Lighting a scene with so many different light sources and multiple reflection captures was a real delicate balancing act. I re-lit the whole scene from scratch about 4-5 times which I can’t stress enough. If something isn't working, just start again and as you fill the scene you find what's causing the issues as you reintroduce each element again one at a time.
Some quickfire tips for lighting a scene like this in Unreal:
- Use Luoshuang’s GPULightmass to make brute force primary GI engine
- If using GPU lightmass and a lot of emissive you need to increase GI samples in the BaseLightmass.ini to avoid splotches in your light bakes
- Increase your screen space reflection quality to max which can only be done in the console with r.ssrQuality 4 (an obvious one, but for those who don’t know)
- Don't overdo it with your PP volume, rely on your own texturing and lighting, and let the PP volume enhance what you have made
The whole is greater than the sum of its parts seems to be the most accurate way that describes how this piece looks as a finished product. Scale, composition, detail, and lighting; if you keep that in mind throughout the creation of any scene there is no way to not make something great!
There are heaps more images at https://davidalexanderkaris.com/ if you want to see some more!