Rover
I have had a goal of being able to translate my sketches and illustrations into high level digital renderings for some time. The path to generating a presentation level 3D rendering is substantially more complex than creating a 2D image or even a 3D sketch. It is a multiple step process which utilizes a number of different software packages. Each step is reliant on the previous one, and requires a rigorous amount of training and research to understand. In 2018 there is huge amount of resources and knowledge out there on how to do this, but piecing it together is no small task. The end aim is to create a basic workflow that is repeatable and can be honed and added to over time. This project is my current benchmark for that path and is intended to identify the necessary steps and gaps in knowledge that I wish to fill in.
I feel the essential steps that I needed to learn to get to this level were.
1. Create a high quality hard surface mesh using "good" topology in a poly modelling program.
2.Sculpt complex and organic geometry
3. Create UVs that are clean, fairly unstretched, and maintain consistent texel density.
4. Retopologize the mesh to reduce complexity and allow for real-time rendering.
5. Apply PBR textures
6. Render with an HDRI lighting setup.
Each of these steps warrants a deeper dive, but I'll keep it succinct and say that I (mostly) accomplished all of the steps except for step 2 and 3 which weren't necessary for this image but will be my next tasks to tackle. I have a much deeper understanding of the workflow now, but there are still some gaps such as proper retopologizing and quite a few questions I have about UV creation.
I explored 6 pieces of software for this project and will keep quite a few of them in my pipeline. I used Maya for modelling but also spent some time digging into Blender. Blender is pretty amazing and free but I felt that Maya was easier to grasp and much more similiar to software I've used in the past (including Maya :) ). I used both Maya and 3D coat for UVing. There is much to talk about here but I'm still working this one out. For texturing I explored 3D coat initially but decided to go with Substance painter because I felt it's non destructive authoring was really more intuitive and powerful. I used Substance Painter and Iray for rendering and it looks great, but in the future I will be working other software.
The following images are intended to show my process and some of the tools that I am gaining experience with
As a 2D artist, I can sketch quite fast. A few years ago I participated in Inktober and produced a daily ball point pen sketch for the month of October. I was really happy with this batch of work because it had a lot of life in it and wasn't overly thought. Ever since then I've been wanting to translate these sketches into a more solid form and more importantly I've wanted to be create to move in 3D as fluidly as I do in 2D. In the future my intention is to be able recreate sketches, concepts, and designs exactly, but in this scenario I wanted to work through a more basic process of visualizing my basic design intent using a set of 3D components that could be expanded to build different models. For instance my sketch shows a rover with a set of tank treads that I felt were more complex than I currently have time to explore, so I opted to use wheels. The sheer number of parts also proved somewhat daunting, so I reduced the scope to something I could finish fairly quickly and then improve on in the future. Below are some quick sketches I did to inform what I wanted to create with the Rover.
The idea of 'kit bashing" is an old one that stems from Star Wars and other science fiction films. The technique is to take existing parts from plastic model kits and use these to fill out the details of a more complex object. This has become even more popular with the advent of 3D and massive parts libraries that are being produced. I wanted to produce a small set of parts that would allow me to begin to improve my hard surface modelling and then be combined to sketch out more complex forms. While this is not nearly as efficient as buying existing components, it served the double purpose of allowing me to learn the basics of topology in a quick and repeatable manner, and also it was a lot of fun!
The process of creating the parts and then assembling the rover was not exactly linear. I started with some basic shapes such as the rounded block forms on the right hand side of the image. These began to evolve into more complex shapes. Some parts were modeled from scratch each time I started, and some were morphed from existing components such as the main body which is a compilation of the rounded blocks and other forms.
Once I had the parts I needed to go through a process of assembling the Rover and then choosing which parts would be repeated so that I could UV only 1 of each part and then duplicate it. I had a lot of questions about what happens with stacked UV's or mirrored UV's. For this reason I purposely decided to repeat parts so I could discover the affect when baking out maps and authoring textures. My next project will go through a similiar process, but I will retopologize the mesh into a low poly model and reduce the number of parts and complexity signifigantly.
I used Maya and 3D Coat in conjunction to create the UV's. UVing is not particularly the most enjoyable part of the process, but it has evolved a lot since I first used 3D years ago. The fact you can paint directly on models has also changed UV requirements. I say this knowing that my UV's are kind of a mess here. They are not organized and there are a lot of curved shells. My biggest questions currently are on the proper method for laying out UV's and how to deal with distortion but maintain a useable layout. For the time being this worked fairly well when I brought it into substance. Unfortunately I assigned a different material to each main component of the mesh so I have about 15 different UV's although they are all packed into the same 1:1 space. I'll fix that next time.
My big revelation for this project was how much texturing has evolved in recent years. I knew about directly painting textures and materials, but it's pretty incredible what can be done now. Substance Painter is both simple and complex. It makes authoring textures very quick and with smart materials, you can get something that looks pretty good almost right away. This belies the fact that really creating beautiful and realistic textures requires a strong knowledge of materials and a strong organizational sense as you build these up with many many layers. I watched few tutorials that helped a lot, but had to hack my way through a first project to start to see how it all comes together. I'm very excited about the potential for this program in my work. Substance allows you to simultaneously create and author multiple maps such as Color, Height, Roughness, Normal, and many others. These work in conjunction to create the material look and feel. In the past when I had gone through this process I had only used Photoshop and frankly found it to be be miserable. The ability to directly paint in Height or Roughness or Color one at a time or individually is trans-formative.
As the final step I needed to render this image. There are a lot of tools available from built in renderers like Arnold, to Plugins like Octane. I've used Keyshot in the past and will use it again, but i primarily used that for product visualization using their pre built drag and drop materials. I used Substance's built in Renderer because it was there and it was easy and it looked good...and also I had generated so many maps that it was going to be a real pain to use them elsewhere. Lesson learned!
As I mentioned I have some clear steps to take with my next projects. I'll continue to build upon my Poly modelling and will focus on another complex form that can be retopologized. I'll dig further into proper UV techniques and layout and focus on creating material ID's for a better workflow in Substance. Once in Substance I'd like to work towards a more organized method of laying out my materials and gain more fluid use of the stack which still somewhat eludes me.
All in all I'm very excited by this project and looking forward to applying this into my work.