Thank you Richard. If I find some more ways to improvise for optimization, then I'll tell you definitely
would love to see the substance graph.
The visual shader system will be great for modular asset pack makers. You see some incredibly high quality modular asset packs on the Unreal store, whilst the ones for Unity are so-so, which I think is down to the ease of creating shaders on Unreal vs Unity. Alternatively you have to make your shaders in something like Uber Shader system which immediately splits your customer base.
3d artist Saimon Ma talked about his award-winning project, which was most recently featured in The Artstation Journey Challenge. It’s a great talk about the production of high quality 3d models: sculpting, texturing and post production. By the way it’s all rendered in UE4. Check it out!
My name is Saimon Ma & I am an Artist at Sparkypants Studios. My current roles include environment concept development, modeling, and material work. I recently graduated from the Savannah College of Art and Design in Georgia, USA. This is my first studio gig. In the past I’ve done work for a indie projects part-time, but nothing big.
On my personal time, I do a lot of sketching and experimenting with techniques and styles. I try to do something different on my personal time than work, such as 2D work when my work is 3D, or organic versus hard surface modeling, and vice versa. I think it’s especially important to have unexpected inspirations for your designs when it comes to interesting designs, so working on different things is how I try to keep that happening.
I had around three months of free time to work on personal projects between graduation and starting work. The Artstation Journey Challenge announcement made waves on my feeds when I was deciding on what to work on, and it seemed like a perfect opportunity. I also enjoy the sense of urgency you get from challenges & competitions, so this was right up my alley. The brief for the Journey Challenge did a great job specifying the bounds and limits of what you can make while giving you a great deal of freedom to come up with your design and piece. I knew I wanted to push posing this character, and work some kind of personal transport in there somehow. I also knew I wanted to make another character with real-time techniques, since that is what I enjoy doing more right now. Finally, I also wanted to work on my polygon efficiency a little, even though it wasn’t really important for the challenge.
The First Stages of Production
I decided on time travel as the main theme. The character would be some kind of maker, geeky type character with glasses who uses a personal transport. I also thought injecting some kind of punk aesthetic would help sell the geek and ‘high school prodigy’ feeling I was going for. I knew I wanted some kind of Arthurian subtext, so I’d need to work in an Excalibur somehow, too. My reference / mood boards consisted of a mix of cafe style motorcycles, punk fashion & Japanese school uniforms, WWII flight suits, NASA, and the DeLorean from the Back to the Future franchise. There’s also anatomy references, style references, and a bunch of photos of PVC figurines because they always have really dynamic poses. I made a bunch of mood boards out of my references, which I combined into a big sheet here. I also marathoned the Back to the Future Trilogy, as I wanted to capture some of the tone of that movie in this piece.
After some super rough thumbnails and iterations, this is the working concept sheet I ended up with after about three(?) days. I wanted to keep the character’s silhouette fairly simple and readable, since the bike is going to add complexity to the silhouette. In hindsight, I could have pushed her silhouette and color palette a little more at this stage. I knew there wouldn’t be enough time to make a super intricate rig for this character, so I kept the hair simpler and shorter so I wouldn’t have to fiddle with dynamics and IK spline rigs too much. Seeing the character in context with the bike was going to be important, so I worked in a sketch with her riding on the bike to get a rough idea of how the designs work together. I made sure to mix metal with a lot of fabric, plastics, and metal because I feel like there’s too many pure metal designs in sci-fi lately.
Mechanics of the Vehicle
The pivoting wheel design is based on the mechanism on the Dodge Tomahawk motorcycle, which raises one wheel and lowers the other to bank the motorcycle and help it steer. In this case, it’d also help with steering and balance because it widens the wheelbase and one wheel can spin slower to turn the bike. The rest of the mechanics are mostly cosmetic or there so I can make more interesting poses. The rig used is very simple, with the most “complex” features being the single-chain IK solvers on the shocks, handlebars, and pedals. Technical details like the wires, particle accelerator, and coils are there to help it look more DIY and like a time machine, using the same approach as the Delorean from Back to the Future. The coils on the shocks don’t retain volume when they retract and extend, but I wasn’t going to stretch them too much from the resting pose, so I left them as-is.
The character was mostly sculpted from a Dynamesh sphere in zBrush, remeshed in Topogun, and rigged in Maya. Little insert meshes were modeled in 3ds Max and Maya, but zModeler was used for bits like her watches and harness buckle as well. Clothing was modeled in Marvelous Designer in separate pieces, then heavily edited in Zbrush for better silhouette and folds. For her hair, I combined the use of GMH2 for the hair textures with Tom Parker’s technique for placing hair planes using zBrush. For her glasses, I transferred the normals from a squished sphere to the glasses lenses for better smoothing. Her skirt’s base mesh was modeled in Maya, then converted to an nCloth and simulated to get the folds, since I got better results making pleats this way than in Marvelous Designer. In the future I might figure out how to make pleats in Designer instead. I put some basic eye makeup and brows on the character super early on in the sculpting stage, since it affects how the eyes look.
Face at various stages:
Wireframe in Maya after remesh:
The bike and sword was modeled in Max with a baked hipoly workflow. The High poly was modeled with SubD modeling. The bag and seat were sculpted in zBrush. Occasionally Send to Maya was used to help in UVing the bike, since I’m more comfortable UVing in Maya. The bike has two materials: one mostly baked normals material for most of the bike, and one mostly tiling material with no normal bakes for the frame and wires. xNormal was used for baking.
Bike High poly:
I spend a lot of time thinking about the pose, since it can make or break a model. I started with some thumbnails, and used Jeremy Ernst’s Animation and Rigging Toolkit to make a basic rig for the character, which I used to play with poses based on the thumbnails. I just picked whichever one I felt was the strongest, which is usually one of the most dynamic & natural poses that doesn’t break the rig. The pose works with the base to make an interesting diorama, so I made sure to think about them together whenever I can. In the end, I probably spent a good week getting a good pose and base. Since the rig isn’t perfect, I had to sculpt some corrections after posing the character with the animation controls. I did this nondestructively with blendshapes in Maya and brave rabbit’s SHAPES plugin.
I used Substance Painter for all the textures on this model, including the masks for the sword. The only exception is the base color for the skin, which was painted with polypaint in ZBrush before being heavily edited in Substance Painter. zBrush’s Color Spray mode with the standard brush for polypaint can look pretty convincing for getting colored pores on your model. Painter’s library of materials and smart materials is great for getting a head start, but I wanted to push myself by relying on them less and making custom effects more, similar to the workflow in Substance Designer. In the end, I think it helped a to get more interesting materials. I used a Metalness/Roughness workflow. Normal baking was a combination of Zbrush and xNormal baking. Curvature & AO were baked using Painter’s internal baker.
For materials, I always start with the flat base values and colors for everything, make sure that works, then go into textural details and wear. Sometimes, the material and color choices change at this stage from the concept. For this reason, I didn’t use an ID mask for most of the model, and just painted where I wanted materials to be in Painter. When there’s livery, I’ll include that as early as possible too, since color changes how you read the shapes of a design.
Another thing I like to think about is breaking up mechanics into layers of materials: lower layers, and upper layers. If you think of something like a car, the chassis, engine, and the shell are all made of different kinds of metal, plastic, or carbon fiber for good reason. Thinking about it functionally like this means that naturally, mechanical things tend to have material breakup based on how deep the part is within the machine. Then things like joints and heat shields tend to have their own materials too, since they have to be resistant to friction and heat. Thinking about it that way makes it easier to decide how I want to texture a model, too. I ignore tiny things like screws and wires early on since they don’t contribute to the design and readability much at this stage.
For most of the fabric, I used a very subtle cavity mask as an overlay layer to get a little more color variation. Other colored overlay layers were also used to add subtle coloration.
I knew early on that I didn’t want this piece to look too grungy, but I did want it to have just the right amount of grunge to sell the materials and nothing more. That said, bikes get really dirty since they’re always oiled in the mechanical bits and oil attracts dirt, so with that in mind, I had a decent idea of where to localize the dirtiest parts of the model.
Plaid was really fun to make and not that difficult, you can get the pattern by using a few layers and the Stripes procedural effect in Painter. Skin pores is just playing around with different noise procedural fills to get the right density and variation.
To save time, some of the material folders were converted to smart materials and saved to the shelf. This way, they can be used between multiple material IDs and objects.
In Unreal, I used Material Instances as often as possible and gave materials some tweak controls to save time.
Substance Painter screencaps below. I like to use fill layers and folders with masks because I can change the base values very easily.
Hair is tricky to shade. I wanted a lot of control in the material instance, so I used a color overlay texture to get color variation in the hair, and a mask texture for the alpha. A Linear Gradient node was used to drive the colors of the hair, and I made a master material for the hair that allows different colors to be set at different points of the hair at different falloff rates. Up to 3 colors can be used. Other paramaters such as AO, Roughness, Spec, and Scatter can also be driven based on position on the gradient. The hair texture has the roots at the top and the tips at the bottom, which makes this possible. Since the hair uses the same texture space repeatedly, I baked AO into one of the hair’s vertex color channels to get unique ambient occlusion under the goggles and at the roots of the hair.
I used mostly dynamic lights and a few stationary lights to light this scene, because the hair shading model in Unreal Engine 4.11 has a shading issue with stationary and static lights from certain angles. I kept the number of cast shadows as low as possible for readability and performance. I started with a single main light, a rimlight, and a fill light, then kept adding accent and fill lights as needed. The result is a lot of tiny lights with small radii, but the overall look was already established by the first three lights. I kept the test cube that comes with UE4’s Advanced Lighting map in the scene throughout the texturing and lighting process to make sure nothing’s over or underexposed.
The sword material had a few components: the base shape, the shock diamond effect, the scanlines effect, and some layered UV warps, most of which are on different panners.
Here’s a short video showing the effect:
Saimon Ma, Concept Artist, Game Artist