Project Start

I was working on something at work and had me model a planet. Which I then took a little further by putting one of our products in orbit around it. I had a lot of fun making it and it inspired me to do something similar in an animation. So I came up with the idea of a short story with a space station.

My primary asset for the animation will be obviously be a big space station. Which means blocking out and getting down and dirty in Blender first. I want the design to reminiscent of contemporary space stations, so I am going for a similar build and modular design. Most of the elements will have the same length with a couple odd shapes in the mix. They all use the same Connecting docks, so this one needs to be defined first.

I love blender for blocking out early, because the modifiers (mainly bevel and solidify) along with some plugins (HardOps primarily) allow me to iterate fast. While I can maintain a decently polished look.

While I am working on this I start building my excel file with the various elements needed, along with naming, number of textures needed etc. this helps me keep it organised, at least up to a certain point. That said, at the early stage I don’t let structure get in the way of the process. Organizing files can be done when I get to the stage where I prepare my final models for texturing.

For the face weighting I am using a plugin called Y.A.V.N.E. for blender. I disable the bevel modifier and select all sharp edges I made using Hardops. I bevel these by hand and apply a weak face weight, I then invert my selection and apply a strong face weight. Voila, perfectly weighted faces in no time at all. After the blockout stage The models slowly get more and more complex. I add more detail and break up large surfaces. Since I am working with a rendered animation I don’t have to worry about polycount or big textures too much. but I still keep some of it in the back of my mind as a matter of practice. At this point I also create some greeble and modular surface detail for later stages. I start UVing my parts and texture them. When everything is finished being textured I bring everything back in Blender and start adding additional details, like hanging cables or antennae. Which is a point I have not reached right now, so that’s it.

Tools

Octane is awesome. Seriously, it renders with the speed of lightning about to crap its pants, looking for the closest toilet. The lighting looks amazing, but for some reason everything has to either be a mesh light or a sun.

Especially the sun part is kind of annoying, since Octane simulates sunrise and sunset beautifully. I would see almost perfect for anything that requires your feet on the ground. A space scene, not so much though. If you try to light a scene you would, ideally, rotate your light rig around your objects. The thing is, now I cant, because at some angles the sun starts being affected by the Rayleigh effect, resulting in dimmer, red light.

Now, instead of rotating my light, I have to rotate my entire scene, except for the light. Which means also rotating the camera along with everything else. Octane being a plugin that doesn’t always update the viewport correctly without reloading the entire scene means it becomes quite a chore aligning everything correctly. So you have to reload the scene often.

Which ties in with the next problem. For this project I have been using both Octane override materials and On the fly materials. Which was working fine for a while, until Octane wanted to reload all textures every time I made a change at any point. Even a numerical value prompted a 10 second reload of the scene.

Lastly, because of these weird solutions I had to use to rotate the light, combined with some windows 10 forced resets (which are the fucking worst), the scene rotation had a mind of its own. You can see this clearly in the last scene of the animation, it looks like the light is going haywire. This is because of several resets of the system, where I just pressed render again, but the rotation reset too. Well, lesson learned… check -everything- before you re-render after a crash.

Workflow/Knowledge

I tried to do everything in one go. Render the entire animation in one go, instead of layered. This resulted in complex lighting situation where nobody would see the difference if I had simplified it. Not only is it not noticeable, but the renders take much longer as well. I tried to keep compositing to a minimum because I kept worrying about camera angles and complex camera pans and how to combine loose components.

Another issue concerning render time are the way I set up the materials. There are many unique objects in the scene. And instead of normal mapping some elements, I modelled most of the panels. Something you would see in closeup shots, but not in 3/4 of the shots currently in the animation. In principle, this should be ok though. The strain on my system, which I specifically built for 3D, isn’t that high with just the meshes. Instead, the strain comes from the materials.

Imagine a PBR workflow with 4K textures. Now imagine that with at least 40 sets of textures. That’s easily 200 4K textures that my system has to precess. My assumption that ‘I can get away with higher res textures, because it’s not for a game’ was the biggest mistake I could have made. So I kept down ressing them, to 2k and down to 1k. And even converting some to grayscale and 16 bit or even 8 bit. And even now, looking back at the animation and the amount of detail visible in the shots, I think I could have gotten away with 512×512 textures for most shots. This would have resulted in faster render times, and less noise/grain in the shadowy areas. For close-up scenes I could still swap in the specific high res textures I need for the scene without too much trouble.

How do I solve these issues? Don’t be a bitch. There, it’s easy. Plan the shot better, if possible opt for a more simplified approach in camera movement and add elements through layers in compositing to make it more visually engaging. From now on I will make at least 3 individual passes for these shots: foreground, midground and background. More if necessary. Gleb and Aidy’s  Space VFX Elements tutorial I can get started on better and more interesting backgrounds and foreground elements. Aim for the coolest shot and solve problems along the way, with good editing minor mistakes will disappear anyway.

As I already said I can reduce the size of the textures, but I could go even further and use normal octane materials to replace several image based textures in the station itself for big wide view shots, swapping in high res images for close ups. For the closeups themselves I could even turn of the materials for some elements to increase the render speed and quality.

Conclusion

In closing, I am very happy with the way this project went. With deliverables at every milestone it gives me clear goals and motivation to finish something. Something you don’t normally get when you work in a studio or for a client, you generally just work towards one final product instead of several small ones leading up to one big one.

Octane is amazing and even though it seems to piss me off, it really doesn’t. It’s annoying sometimes, but that mostly due to myself. And that’s why I am doing these projects, to learn new techniques, find the limits of software and find limits of myself. If you stayed up till the end, thank you! You’re awesome!