there was a sale price i believe, we'll fix it right away
very cool but subscribe to pewdiepie
Harley Wilson showed to Kirill Tokarev how he uses textures, decals, and models to build a beautiful Bioshock fan art in Unreal Engine 4.
I had been toying with the idea of making something Bioshock-related (as in 1, 2, and Burial at Sea) for a while, but just never started. Then I started making one of Bioshock Infinite’s airships. Like 99% of artists’ personal projects, this was abandoned. But then I thought “Hang on. I have all these textures and cool, complex materials set up. Why not use them to quickly make a smaller, interior project?” So then I started in the usual place of hunting down reference. I like to trawl gaming forums for high-res screenshots, or threads where people try out graphics mods. But I guess the reason why I took to Infinite’s aesthetic is because I like Colonial style, and the whole “Americana” vibe. It’s such a strong visual theme, and you can find a lot of prop reference by looking for 4th of July gifts or decorations.
I knew I definitely wanted a small-ish room with some kind of centerpiece. So when I found some screenshots of the gift/souvenir shop (both from an E3 demo and the final release) it was an easy choice. I just had to make sure I nailed the Colonial style architectural elements, and the rest would follow.
Drawing a plan (on actual grid paper if possible) is something I recommend – I don’t do it as much as I probably should, though. Maybe because I’ve seen so many modular sets of interior assets by now I know which pieces I will need for a standard boxy room. And any I forgot, I just added in later – this was easy to do, as I made my architecture assets mostly using seamless textures split up by Material ID.
For example, early on I didn’t add the pieces I needed for the Shoe Shine area. But I just raised the modular floor pieces in that area about 50cm in the air, and made some 50cm high modular trims to fit around it. I didn’t even have to do corner pieces, as I hid transitions by placing columns there. Then at the end, I merged all the floor pieces, merged all the ceiling pieces, etc in Unreal to help the Lightmass bake have fewer artifacts.
The lighting took a while to get right. It started out fairly standard – I was shining a Directional Light through the window to accurately simulate the sunlight coming through, but the accurate result wasn’t what I wanted. After a few attempts I ended up with more or less the result you can see in the final product, and from then it was more simple. Just a few warm “fill” lights behind the camera to suggest things behind where you can see, as well as the mounted lights. The lights with visible artificial sources helped my figure out where I was going to place the props of those wall lamps and whatever props they were going to cast light on.
A habit I’ve definitely picked up from my professional experience is to keep the albedo/diffuse textures all fairly close to each other in terms of range and lightness – you can see this in the environment when the lighting is turned off. The important thing was using just a few materials, and being able to dedicate a bit more time into polishing them. The various wood planks – bare as well as different paint colours – are all the result of one set of textures and a couple of masks, as well as some manipulation inside the Material Editor.
When using masks, I typically keep my masks pretty small, then mask the masks via this wonderful node called HeightLerp. So for any project that has mask blending, I have small (512×512 or smaller) masks that are broken up in the Material by a larger, more detailed, and seamless grunge mask shared by all my various material setups.
While making the textures, I mostly keep to the real-life reference I gather, but I’d say don’t be afraid to exaggerate certain things. For example, I really love how the materials in Dishonored 2 look, so I tried to “borrow” some of the ideas they seemed to use in their texture/material work – e.g. my painted smooth wood has probably less roughness than most real examples, and deeper, more exaggerated cracks. This just makes it look nice when the light hits it in just the right way and you can see the specular highlight and how it interacts with your roughness maps (protip: always have some micro-noise in your roughness to break up highlights even just a little. Subtle imperfection is realism done right).
The decals are what make this whole environment work, to be honest. As well as simple mesh decals for making edges grimier and rougher, I made liberal use of decals on my architecture. All the panels, grooves, ornaments, and all of that on my walls and columns are done by floating mesh decals over the top of whatever base material I’m using. Take the main counter in the middle of the environment. It’s using the seamless painted smooth wood textures as well as seamless white marble (for the top). Or the wall pieces that use painted wood and tiling wallpaper – the decals are what make the whole thing look “right”. They add ornamentation, drawers, panels, and general construction lines and make it way less obvious when you use tiling textures. It’s pretty much the same technique used for ships and architecture in Star Citizen, just with more wood and less space-age metal.
Dressing up the environment
Well, I knew I wasn’t going to want to spend months and months on this – like a lot of artists, I get sick and tired of a personal project if it drags on. I always want to move on to another theme. So I opened Notepad and just made myself a little list of assets that would be a smart choice – and by that I mean, things I could make and then either they would be something very unique (the Shoe Shine sign) or something I can re-use over and over to get a more “cluttered” feel (the Nutcrackers). If you really wanted to pick apart the scene, you could end up wondering why this gift shop just has a bunch of nutcrackers and fireworks on the counter, one nutcracker on the shelves at the back, and that’s about it. But for casual glancing, it works, right?
Speaking of the fireworks – I have to confess: I already had the fireworks and barrels from an older project. But there’s nothing wrong with recycling content at all! If it fits, and you can afford to polish it up a bit, then go ahead and incorporate it.
The banners were very prevalent in Bioshock Infinite, and so I definitely wanted them in my environment – and in places where they wouldn’t get in the way. I made sure they looked good, with a nice Transmission/Subsurface Master Material, and some cloth simulations inside Max, made sure they weren’t in the way of my cameras, and then gave them little accent Lights (set only to Unreal’s Lighting Channel 2) to boost the transmission effect where it looked good.
The bulbs were another thing you see a lot in the early interiors of that game – so it was another thing I decided would be important for capturing the spirit. These were pretty quick to make – but I made sure the bulb’s filament was actually visible, instead of the entire bulb being just a glowing “blob”.
How game-ready is this environment?
Honestly, the only real hurdle to getting this into a game would be how it’s a very isolated, very standalone – almost a diorama. There’s nothing behind the camera apart from an orange point light and some fog. And there’s the fact that I am faking the sunlight via spot lights with LightFunctions – instead of the systemic, dynamic time-of-day you’d get in a lot of modern games. But other than that, this could slot right in to, for example, an open-world game pretty easily. I like to make my personal art with roughly the same limitations I have in my professional art – these limitations force us to be creative, after all. The architecture pieces use a select few sets of large textures, variation is handled through an atlas of decals (that affect the Normal and Roughness of the surface underneath) as well as maths in the Material Editor, and the smaller props have modestly-sized unique textures – nothing that current-generation hardware would struggle with, and nothing that couldn’t be re-used across the rest of a game world.