I'm Filip Coulianos, currently working as Lead Level Designer at Hazelight in Stockholm. I've been working as a level designer for about 7 years and spend most of my free time to learn other diciplines such as 3D art and programming. Participating in the Neon challenge is the first real chance to test my artistic skills elsewhere than in my home showing off my work for friends.
I love science fiction and have been working on space ships and science fiction pieces for several years practicing and getting better at the craft as I go along. Most of my art is heavily inspired by either the Homeworld series, or the Star Wars franchise. My inspiration often comes from combining elements for a large series of images that results in one model that combines those elements. I wanted to show a scene in movement, but I concluded that I did neither have the time to animate the whole scene, nor would I have the skills to pull it off. Instead I decided to make a diorama, a frozen moment in time, inspired by classic World War II dogfight pictures.
The scene itself is vaguely inspired by classic World War 2 dogfight pictures I then used various concept art from the ships, drones and torpedoes. Below are examples of reference I used for the main assets:
I started with setting up the final shot in the scene. Where the camera would end up once it had been flying around, and tried to match up the hero ship, the derelict, the drones and the protagonist frigate in the background to match well with that frame. The hero ship is about 70 meters, the antagonist ship is about 400 meters and the derelict ship is about a kilometer in size. To emphasize this I decided to start off the camera sequence from the interior of the of the hero ship passing by some characters for reference to show off the massiveness of the scene once the camera leaves the ship. Read more about this in Post 01 and Post 02 of the worklog.
Once I had the composition, the hero ship and the derelict carrier in place i started building the antagonist frigate in the backdrop (Described in detail in Post03).
I setup two camera tracks quite early after final composition shot for reference to help with where i should put focus with my artwork and composition. One great benefit with space and especially a debris field is that its very easy to put art assets where needed to help frame the picture without any real restrictions. Setting up the camera tracks before putting out all the detail made this process much quicker and easier. About this time I started setting up the interior and the assets within it.
Once that was done, it was all a process of populating the scene with detail putting more effort on a few key shots, such as the characters beng sucked out through the airlock , the drone shot and the final picture. All characters in the scene are free assets I found on the asset store around this time. I simply downloaded them from the asset store, posed them to fit in the scene, they all have the same helmet I downloaded from sketchfab (Helmet(https://sketchfab.com/models/7280c9e8f06d4691b2ff44f24310a6bd) by polish_farmer(https://sketchfab.com/polish_farmer) is licensed under CC Attribution(http://creativecommons.org/licenses/by/4.0/)). (read more in post 07)
The post processing stack was continously used to adjust the feel and look of the scene. The Volumetric lighting plugin was key to the scene as I needed fog and volumetric lighting to create the sense of depth to the scene. During this process i made a series of detailed wreckage parts of various sizes to populate the scene and put them nicely with the camera.
Lighting in the entire scen is strictly realtime. The only baked information in the scene is basically reflection probes, in some emissive maps on some of the assets and on the vertices on some of the really big assets (such as the carrier and frigate, read more in post 03). This is because the sheer size of the scene is so big and complex (several kilometers) that baking lighting would probably be a little bit too much to handle for me given the time frame. I figured i would save a lot of time by simply having all lighting realtime and be careful about how many overlapping lights I use and which lights that use shadows. It turned out to be a good decision as I constantly needed to move lights around finding good angles that would work with the cameras and all the shots. However this decision did impact the performance of the scene. It does render at 1080p on a decent computer, but with way too many draw calls and triangles than would be allowed if this scene was to ship in a game. Next step would be to go through the scene, combine all the assets that could be combined, create LOD's for all the debris and stuff like that, but since the scene was running pretty OK on my computer I decided to leave it as it is.
As a final pass I added FX (such as explosions, muzzle flashes and engine trails) a skybox and the tiny debris pieces which are basically just small particles. You can read more about that process in Post06. At this final stage i put a lot of time getting the lighting correct, the post processing stack to work together with the volumetric lighting for the final result.
The two camera tracks where at first handkeyed using timeline. Later the first track was replaced with a cinemachine dolly track and animated lookat target to comply with competition rules (Read more about how and why in post 09 of the worklog). I also used the Cinemachine to add some vague dynamic camera shake. Timeline was also a vital tool as it helped me animate pretty much any public variable i could expose, so in addition to cutting between cameras, I also animate values such as bloom and focal distance.
The very final touch was adding a soundscape that me, Henrik Alfredsson and Tobias Möllstam put together using analogue synthesisers hooked up in various creative ways. I finally rendered the scene by building the project and then screen capturing it using Fraps, added the soundtrack on top and uploaded on youtube!
Downloaded Art assets:
Forge3D planets (Planet In background) (Asset Store)
Amanda (Free Character from Asset Store)
Speedball Player (Free Character from Asset Store)
Helmet(https://sketchfab.com/models/7280c9e8f06d4691b2ff44f24310a6bd) by polish_farmer(https://sketchfab.com/polish_farmer) is licensed under CC Attribution(http://creativecommons.org/licenses/by/4.0/)
Ambience Music by Me, Henrik Alfredsson and Tobias Möllstam
So everything has settled down, the video is pretty much done everything is in place and yesterday I had a great recording session with my buddies Henrik and Tobias. We have no experience with audio creation what so ever, but we went at it full force spending a day on making a audio soundscape for the video. It turned out to be something, well, at least different :). Pretty much everything was put together with analogue synthesizers plugged together and lots of wine and beer!
None of us really have any idea about audio, what's good practices or bad ones, but we had a great time at least. Let's hope its good enough to convince the judges that its a good piece :).
Post09 - Cinemachine!
So far I've been working with handkeying the cameras for the scene using timeline. This would however probably break one of the requrements for the competition, so I've now swapped the cameras to be powered by cinemachine. I truly appreciate what cinemachine does, its incredibly powerful and I've faced all the issues mr Adam Myhill uses as examples soo many times when working. However the one case where I believe a hand-keyed camera is easier, faster and allows for more control is when doing long shots where the camera shifts focus between different static points of interest.
This is exactly the challenge I had when working on this submission. So to make it all work with Cinemachine I decided to use a dolly track with a camera on it and then animate the focus point, handkeying it to replicate the camera behaviour I wanted. This turned out to be quite tricky, but easier than I expected. One tricky part I was challenged by was the fact that the roll of the camera kept doing a little bit whatever it wanted. I tried all the settings i could find to adjust the roll of the camera, but it seems like the best result was to have the track dictate the up axis and then add roll to the track to compensate if the camera did any awkward moves. Also adding a very high dampening value on the roll helped smoothing the behaviour out.
One thing i found really interesting is the fact that the cameras are all virtual, so I could add the virtual camera component, have the tracks and everything in there and at the same time keep my old hand-keyed track on the very same actor for reference without destroying anything! There wouldnt even be any conflict between the two systems. That is something i truly appreciated. Usually a brand new system or plugin forces you to rip out everything old and stomp everything new in, but the cinemachine stuff seems to work really nicely with whatever you already had. Hats of to that!
Post 08 - FX, timeline and finalization
This coming week I've been working with timeline and effects. It has proven more difficult than i thought to for example animate focus distance on the camera as well as bloom and stuff like that. I tried working with cinemachine and animate it that way, but i just couldnt get it to work it was supposed to. I ended up making a script that set the values on tick, and then animate that script through timeline. I also had to animate near and far clip planes since the scene is enormous and occlusion would break down if the far clip plane was too far, so I had to animate those values too. However, its getting pretty close to a finalized scene. The particles and new effects are getting into place. As the scene is static it turned out easier than I thought to get believable impacts from projectiles into place. Just mesh something out, add some half-transparent additive material scretch it properly and boom, good enough :).
Post 07 - Characters!
I'm not a character artist by any means, but I definetely felt like i needed to add characters to the scene to make the viewer understand and appreciate the scale of the scene. I decided to go with an airlock being blown open from the hero space ship of the scene and adding characters in there.
I also promised myself not to go out and buy some character pack or whatever, but only use what is free out there. So I started looking around the asset store and found the character "Amanda".
I wasnt really sure if the quality would work for the scene, but perhaps with some clever lighting I could make it work. I also felt the characters face was the weakest part of the mesh. So I simply decided to hide it somehow.
After posing the character for quite some time in the scene it was clear that i wouldnt be able to make it work, I would have to conceal it in some other way. I decided to find a helmet from some free model site that i could use. I managed to find one made by Polish_Farmer at sketchfab (https://sketchfab.com/models/7280c9e8f06d4691b2ff44f24310a6bd#). The model is free under the creative commons for commercial use, so with proper credit it should be fine :). Now with the helmet in place and tweaked amandas shaders and textures somewhat I came up with the following result:
Post06 - FX!
The scene wont need that much effects, but I spent some time yesterday to add enginetrails and muzzle flashes. The whole process was quick and easy. In the end I actually ended up using the same material, shader and mesh for both muzzle flashes, engine trails and spotlight cones!
I started with making a mesh that could easily be scale in engine to fit whatever purpose i needed it for. It was created in two layers as seen below:
Then I made a very simple shader that is basically acting as a invert Fresnel and that has a gradient to make the effect be intense at the thick end of the shape and slowly fade out the longer away from the intense part it comes. I set the shader to be additive instead of translucent or opaque. This creates a little bit of artifacts depending on the camera angle, but worked just fine for my purposes. I made the shader using Shader Forge, best tool ever!
And then I put theese meshes out at the end of every engine nozzle, tweaked color and intensity until it visually fit. I used the same shader and mesh for muzzle flashes.
Post05 - Now the fun begins!
Finally most of the big assets are done and I can work in the fun part! Since the scene is going to be a diorama, I've now taken time to put in the camera tracks and setup the compositions. Now I need to fill up the scene in all the shots and make sure it looks good from all the angles, adding stuff where needed, and remove where it's too crowded. This process has so far been by far the most fun and rewarding! I even added some tracks to show off other parts of the scene that i didn't plan for, but those parts turned out to be the best :). So far I've only used timeline. As an old Matinee user (both when working on Brothers: A tale of two sons, and now A Way Out) I found timeline to be quite powerful, but also a bit clunky. Easily editing multiple camera tracks seems a bit of a hazzle compared to what I'm used to.. But it might also be that I haven't worked that much with timeline yet... Still trying to figure out the best way to keyframe post process information... Ah well, it can't be that hard, right? :D
Post 04 - Not all assets have tiling textures
A bounch of the smaller assets in the scene have been modelled using traditional hard surface modelling. I spent a lot of time on each asset to make sure they all feel nice to look at on an individual level also, not just from a composition standpoint. This might perhaps not really be necessary for increasing the quality of th escene, but I still feel its alot more fun and rewarding to spend time making each asset real nice to look at from all angles as i might want to use them in the future. In the pictures below i show off a drone, and a torpeo. Both have been modelled in highpoly in maya, then baked into normalmaps and color maps. I also baked radiation to make realistic engine glow, which i use as illumination masks in Unity. Texturing is done in DDO. Inspiration for the designs come mostly from Home world. The torpedo to the right is using a 1 by 2K texture. This might sound a bit high-res for some, as its just a moving object, but its around 10 meters tall all will probably be re-used in other scenes i might do. The drone is a square 2K texture with a lot of mirroring
Post 03 - Making of the assets
The scene for this submission is mainly put together by a bunch of big, time consuming assets. Its mainly space ships, or parts of space ships. They are absolutely huge and made to hold up for quite close-up shots. The ship in the foreground is about 70 meters long and is detailed enough for a character to walk on it without loosing fidelity. The bigger ships and the hulks in the backdrop is between 700 and 400 meters. To make this work and keep the high detail up and yet make it feasible to actually build and render in real-time I come up with a series of tricks to keep the time spent building the ships, memory and performance quite low. It's nothing revolutionary at all, in fact, it's suprisingly simple, but it works. So to go through the steps I'm going to show the steps of making the frigate in the backdrop which ive been working on during the past 2 weeks.
At first I start with a blockout. This is about the detail level i keep at, it usually takes around a day to nail the shapes down and make it work from all angles. To me it's very important to get the siluette working and proportions right, so as soon as this step is done, i export the mesh immediately into the scene.
Then i keep adding detail using a series of techniques. I re-use several normal maps and smooth alot of angles on the mesh to keep the ship look smooth, although no textures in this mesh is baked. Everything is tiling textures. I also add alot of small utility boxes, and minor detailing. Theese are uniquely baked meshes from a big set of meshes i already created and reused from other ships, so again, nothing unique for this ship. Everything is re-used from the other ships. At this stage i really dont bother about how the diffuse or specular is going to work. Its all about the shapes.
Since this ship is enormous, about 350 meters. I really cannot bake any proper lightmaps that would look proper. What I instead do is baking ambient occlusion to the vertices. It looks rough, but this combined with realtime AO in the post processing of the engine will improve the quality for sure!
After this stage I start thinking about color scheme, this is something i do quick and dirty in photoshop. Just paint straight onto a screenshot from Maya.
As you can see I'm a huge fan of the homeworld art, so this one is quite bright in colors! Next up, I use this as a reference and paint vertices on the mesh I'm going to put into the game. Sometimes this will require me cutting up the mesh to get certain color patterns in there, but I'm fine with that! No end user cares if the topology is broken of a model :). For vertex coloring I store the baked vertex color information in the blue channel and use red and green to color the primary, secondary, tertiary colors in them. Theese vertex colors will then later act as masks for the colors I set in the materials themselves in unity!
Finally I export the mesh, setup the materials I made using shader forge. Where i take the vertex colors and multiply those into the diffue and specular, and also use the blue channel as AO in the PRB shaders. Final result in-game is like this:
Now; there's one step i haven't done yet. And that is decals. You can see quite a lot of them in the big scene for the competition. For this I go as basic as physically possible. I just make planes in maya and cut out icons and numbers from a big decal sheet I have for all the ships and then export the decals out as a separate mesh that doesn't cast shadows and has a simple alpha clip setting. Heres an example of the hero ship, where this pass as already been done taken from Maya:
Post02 Inspiration from the past
Currently im working on a new ship in the backdrop replacing the old one. I'm also overseeing the composition of the scene. It currently feels quite messy due to the equal amount of detail throughout the image. There's a lot of noice and no real focal point. I looked some at WW II dogfight imageing. It's celar they put the ships right up at the camera, letting them take most of the picture, even sometimes squeesing the airplanes in to the point where it becomes a bit funny, but from a composition standpoint it really works! Maybe I'm trying to fot too much into the picture... I'll try putting the camera and stuff closer to the subject and try to have all the ships with a closer fit to the screen to capture some of the speed and cool dynamics the WW II shots have for sure!
In the coming weeks I will make more ships in the backdrop add a skybox. Put more debris around the derelict and improve overall quality of the scene. First mission is to make the big ship in the background be replaced with a unique asset! Its going to be a tough couple of weeks to pull this off :).
I will also spend some time showing off the different techniques I used to create the shaders, materials and models for the scene in weekly updates.