Course overview Course overview
Build and design hard surfaces for characters
Throughout this course we are going to take a look at the techniques and challenges of designing and building hard surfaces for characters. This does not only include design, sculpting, and modeling, but especially the focus on creating character hard surfaces with animation in mind from the very beginning. The goal is to get students to look at the subject matter from a new perspective and to take away as much knowledge, tips, tricks, and techniques as possible for use in their own work.
Hard Surface Modeling for Characters WHAT YOU’LL LEARN
The more you know, the better.
Igniting your imagination
Ben is a Senior Character / Creature artist and modeler currently working at Blizzard and has been in the industry for over five years now. Previously a Character Artist at Guerrilla Games, on "Horizon Zero Dawn." He is at home with many styles and techniques, from organic to hard surface, realistic to imaginary. As a character artist he has worked on the games Kill-zone: Shadow Fall and Horizon Zero Dawn, and has also worked for Blur Studio as a freelance artist.
Hard Surface Modeling for Characters Student gallery
Fall TERM Registration
Jul 27, 2020 - Oct 12, 2020
Ben has been one of the most accommodating, engaged instructors I've ever had, always enthusiastic about our work and making sure things are clear. And on top of that, he's very open about career advice and provides high-level artistic critique.
Ben was a wonderful teacher who showed interest in his students and gave insightful critiques and Q&As.
He’s great at teaching everything you need to know about Hard Surface.
"Ben is a fantastic instructor. Hard surface modeling felt like math to me but he made the workflow easy to understand. "
Companies that hire our students
environment design Benefits
What makes this learning experience unique?
Receive personal individual feedback on all submitted assignments from the industries best artist.
1+ Year Access
Enjoy over 365 days of full course access. This includes all lectures, feedback, and Live Q&A recordings.
Certificate of Completion
Earn a Certificate of Completion when you complete and turn in 80% of course assignments.
Learn anywhere, anytime, and at your own pace with our online courses.
Speak to an advisor
Need guidance or course recommendations? Let us help!
Show us your skills
Not sure if you have the skills, or are you proving you do? Show us.
Knight Production Guide
Interview with Joakim Hammarslätt
Joakim Hammarslätt discussed the approach to creating the character he worked on during the CGMA Hard-Surface Modeling for Characters course and shared his step-by-step modeling workflow in ZBrush.
My name is Joakim Hammarslätt, and I am currently attending FutureGames in Stockholm. In the following, I will discuss my approach to making armor, and some of the lessons I have learned since and during Ben Erdt's hard-surface modeling class at CGMA.
Before joining the class, I had been planning on doing a project about a knight for some time. This class seemed like a great opportunity to do some research on historical armors, while also having my pipeline and technical skills pushed by a more senior artist.
Some weeks before the beginning of the course, I had exchanged a few e-mails with Ben about the class. I proposed to make a knight instead of a sci-fi suit. He was quite enthusiastic about it and supported the idea.
Assuming a concept art is given (which the class did provide), the general workflow can be summarised as:
- Break down the reference by dividing the character into larger forms, and separating the materials indicated in the concept.
- Construct the major blocks using ZBrush and DynaMesh.
- Cut the forms into smaller parts, and export it into Maya for test rigging. Be mindful of geometry and articulation errors in your design.
3.1. If the character cannot perform key poses because his armour prevents him, make necessary adjustments.
- Bring the model back into ZBrush. Here you will also have to choose if you want to finalize the high poly using DynaMesh, or if you want to create a model suitable for SubD-modeling before finalizing the high poly.
- Make the game-ready mesh.
Working on the Details
Historically, putting pictures on armour would be done with etching, painting or engraving. In my research, I found a collection of decorative etching prints made by Daniel Hopfer (1470-1536). Hopfer's patterns were cut out and turned into a Trimsheet in Photoshop and later brought into Substance Painter to act as stencils & masks.
The polygon strips are made by duplicating geometry from the armour and being offset slightly. Once duplicated, the strips' UVs are unitized, sewn and laid out horizontally in their own UV space, in order to utilize the trim sheets.
A similar technique was used for the cylinders decorating some borders of the armour. However, a few more steps were taken.
- Model the pipe
- Project onto a uniform cylinder with straight UVs
- Cut and paste the texture into the same texture as the leather straps (optional).
- Extrude the cylinders using your 3D package of choice
- Unwrap cylinders, and move UVs into place.
Lastly, both the "squiggly buns" and the "brushstroke" decorations are stamped across the mesh using alphas painted in Photoshop.
The Biggest Challenges
Perhaps, the major issue was related to the ambiguity of the project development - often, I was working on a number of things at the same time without a clear vision of where the path would lead. In moments like that, it was very helpful to talk to Ben, that was acting as an experienced and thoughtful supervisor and giving me valuable pieces of advice. Amongst them - "do one thing at a time", which turned to become one of the biggest takeaways from the project for me as well as - "keep it together". Don't split your mesh into several SubTools too early. Your shoulder pad might consist of 4 parts, but jumping between 4 SubTools and adjusting things is doubtful practise in the early stages. Work on them as a single SubTool until you are happy with the shape, then split it into 4, clean up and refine the individual parts. 4 Break the model into grayscale, and add contrast in material and specularity. When looking at character design, we can consider 3 levels of contrast, form, colour, and specularity.
CGMA program is cleverly designed to help students to avoid such confusion and sidetracking - every week is dedicated to focusing on a specific task or skill development. My advice would be to implement this strategy and consider adding weekly themes or goals for your own projects.
On a side note, I would also recommend to focus on your project and limit distractions when it comes to work, such as listening to GDC talks/podcasts or binging YouTube tutorials which are not directly related to your current work. Stay mindful, focused and do your research.
Working on Materials
There are a handful of armour smiths on YouTube who are willing to talk about their approach to traditional smithing, such as Jeffrey Wasson and Albert Collins. The process of shaping physical armour can be summarised as cutting patterns out of a sheet of steel and hammering it into shape. Think pattern sewing, but with metal.
When it comes to game production, we need only to indicate the process of shaping the armour - we create the pieces using mesh extraction and moving things into place, instead of hammering flat metal surfaces. After the shaping is done in ZBrush, I will indicate hammer marks all over the armour, using a custom round brush, trying to mimic how a real smith would work their armour using a dome-shaped hammer.
For instance, bowls and spherical pieces like the chest piece & the back of the helmet would be worked from the middle and out, similar to how a pizza baker would roll out the tomato sauce.
Once this stage is completed, instead of the evening the surface by using the Smooth Brush, I will use a modified Trim or Polish brush using a square alpha, replicating the process of planishing, where the smith flattens the surface of the armor with a square or rectangular hammer.
Finally, all edges of the mesh are given a bit of work in order to break up the smooth edges and give them a more authentic look.
When discussing the render setup with Ben, we agreed that the most important part of a portfolio project is to highlight the work that has been done. That means the pose is fairly simple, and there is very little post-processing.
I am still interested in medieval armors and their representation in games. The course at CGMA gave me a great inspiration to venture into more projects like that one. However, right now, I am focusing primarily on furthering artistic skills on small scale projects such as armor studies, trying to figure out how the different parts work from both artistic and mechanical points of view. I am considering to challenge myself once again with a knight figure in the nearest future to see how my perception and work have changed since the end of the course.
Joakim Hammarslätt, Character Artist
Interview conducted by Ellie Harisova
Cyborg Monk: Modeling Workflow in ZBrush & Maya
Interview with Marcos Melco
Hello! My name is Marcos Melco, I’m a Brazillian 3D Modeling and Texturing artist with 3 years of experience in the VFX industry and many more in trying to figure out “How to art”. I’m currently not working in the industry but I’m gearing up to hopefully return this year. I’ve had the immense pleasure of working at Method Studios (2015-2018) and Icon Creative Studios (2018) in Vancouver, Canada. While at Method Studios, I worked on Black Panther, Okja, Captain America: Civil War, and King Arthur: The Legend of the Sword. At Icon Creative Studios, I worked on Disney’s Rocketeer reboot.
Why did I take a Hard Surface Modeling course at CGMA?
This question has a two-part answer:
First of all, this industry is full of artists who are brutal with themselves. We shouldn’t be, but we are. I have a bit of Imposter Syndrome (that feeling of being undeserving of your job position or praise). Being a technical-minded person, I’m always second-guessing myself. “Is this the correct process of doing this?” As if such a thing existed in CG. The right mindset should be “If it works, looks good, and is completed within a reasonable time and specifications then yes, it is!”. I didn’t get rid of this bad habit yet but I’m trying to. So I took this course because I wanted to see how the real pros go about it. I wanted validation that I’m doing this the right way.
The second part was Ben Erdt’s art. His personal work is full of characters with great design, insane detail, but the most important aspect of it is that he makes them production-ready. A lot of projects you find on CG society or Artstation are stunning but they work only as still images. Ben’s work is functional, it can be rigged and animated. As a production artist, those are the skills I want to master.
I was very pleased to find that my workflow was similar to Ben’s. I still have a lot to learn to reach his level, but I’m hopefully on the right track. He helped me reinforce what I was doing right but also taught me some new ways of doing things, pointed out steps that most artists skip during the design process and made me realize the power of some techniques I was aware of but to my detriment, didn’t really use.
Choosing the Concept / Preparations
At the start of the course, Ben gave us a few concepts of characters to work on. I chose Jianli Wu's concept for its design and the level of detail suited that my needs. l really liked the cyborg monk vibe and its composition of hard armor clustering on the upper body and lighter armor for the rest of the body. It makes the character feel quick and skilled and also fits its theme.
It was also helpful that the level of detail is high on the upper body and gets streamlined in the lower body which suited the course timeline. I was able to focus on the hard-surface portion during the 6 weeks I had with access to Ben’s feedback and I knew I could complete the rest on my own later.
To prepare for the modeling stage, Ben had us collect references, come up with a character backstory to help us breathe more life into the design and do a material breakdown of the character. I also did an extra paintover to expose the details the armor is covering.
Backstory and Material Breakdown (Course assignment for Week 1) PS: His backstory is lame, I know, I’m not a writer
Blocking Stage (ZBrush)
Concept artists never deliver a 100% solved design. They do the bulk of the work and it’s up to the modeling artist to solve problems and flesh out the design. Sometimes you also need to change details that overcomplicate the modeling or rigging parts. It often happens that the design is changed in production. So don’t feel bad if you aren’t able to match the design 1 to 1.
Two important changes I made during the blocking phase were:
- Moved the piston that connects the character arm to the Shoulder armor. Making a piston that works for that arm setup would be straightforward to a seasoned rigger but I don’t have that skill set, so I thought it was best to move it to the Shoulder armor making it simpler for the rig.
- The tail vertebrae were really organic-looking, morphing along the spine gradually into other shapes. I didn’t have the time to model each one to make that transition noticeable so I changed them to 3 simpler designs and manually scaled them along the tail. It doesn’t do the concept justice but I saved a lot of time approaching it that way.
I’ve started in ZBrush using the average male model that comes with the software. I blocked the body proportions, then went into Maya to quickly retopologize and remove details I wouldn't need (nipples, genitals, facials details, and toes), then moved it back to ZBrush to start the armor sculpting.
ZBrush is really weird with how it handles the scales and position of the objects. The extra benefit of this first step is that it helps me make sure Maya and ZBrush scenes match. A good trick is having your top subtool as a ground plane (I use a 2m² one created in Maya (units set to cm)). This gives me a reference of scale and position. It also helps with naming, as every time you save your Ztool the top subtool gets renamed to the Ztool file name.
The retopo body mesh gives a source to start extracting costume parts from. Later in rigging, I can skin this base mesh, then transfer the skin weights to other deformable costume parts.
The costume sculpting was done using the old-school ZBrush Dynamesh workflow.
To create new parts, I either duplicate the base mesh and slice the parts I don’t need (Helmet, Chest armor) or use mesh extraction or panel loops to create thin meshes (Arm plates, Leg armor).
Using the classic tools of Masking, Clip brushes, Clay Tubes, Move, hPolish, Trim Dynamic, and DamStandard I define the shapes. You can also use alphas with base geometric shapes to speed up your blocking work.
Blocking stage (Course assignment for Week 2)
I continue working in ZBrush up to the point when all the shapes are in place and there is nothing to solve in terms of design or proportions. I deliberately left the shoulder pistons unsolved as I planned to use Maya rigging tools to block functional ones. I used aim constraints and groups, nothing too complicated. Just made sure the Shoulder armor could move around and the pistons wouldn't crash or disconnect by being too short.
One thing I have to comment on before we move to retopology is how I botched the proportions of the character. His chest is too wide, the armored collar is too high, and the shoulders too small. It makes his torso look super long. The character looks fantastic in up-close shots but when you look at the character as a whole you’ll know what I mean. It’s too late to fix it as it would take too much time to do it properly. Let it be a warning to myself and you. Be careful with your proportions, I’m sure that every character artist out there noticed my mistake. Oh, well!
Range of Motion Tests
Week 3 of the program was focused on motion tests. We broke the model into parts and built a quick and dirty rig to see if the model could move around without severe crashing. This character armor is well designed so it can move with freedom as long as the clavicle doesn’t rotate forward or upwards too much. In hindsight, I should’ve changed the design a bit by moving the border of the Chest armor inwards, giving the arms more freedom of movement and reducing deformation if the character was to be animated.
Range of motion tests (Course assignment for Week 3)
Retopology in Maya
For this project, since I was going for a Sub-D ready character I decided to move to Maya and add more details directly in my final mesh. Sometimes, I’ll go back to ZBrush to block more details (I did this to the Collar armor and Helmet) as ZBrush allows me to work without the distraction of topology.
Sculpt ready for Maya (Course assignment for Week 4)
Notice that the shapes are solved but the surfaces aren’t perfectly polished, it’s not useful to waste time cleaning surfaces in ZBrush if you can clean them during retopology. During retopo, working from big shapes to small, we can create those shiny clean shapes everybody expects to see.
I use 2 methods to start a retopo object:
Quad Draw on a live mesh is the main tool for retopology. If the shape from ZBrush is really clean you can do the whole model using mostly Quad Draw. But it’s important to know that sometimes it’s better to Quad Draw the bigger forms then turn it off and poly model the small details using the ZBrush mesh as a guide (Live Mesh off). Especially for parts that aren’t really fleshed out.
Mesh example using Quad Draw method
Another way of getting started is Zremesh then GoZ into Maya. Starting from scratch always takes time, so getting ahead with Zremesher and cleaning-up in Maya is also a good tactic.
Mesh example using Zremesher method
Experiment with Zremesher on your meshes with Polygroups and Keep Groups on. Play with Smooth Groups slider for better results.
Fair warning: SmoothGroups is no joke, it really rounds off sharp corners of your mesh. If you want a fighting chance, go with crazy low values like 0.0001 (and it still gives round corners) or just turn it off completely. There is no “one size fits all” setting here, experimentation is key. You might save a lot of modeling time here.
Useful Maya Tools
Let me walk through some tools I use a lot that I’ve seen some people overlook. Hopefully, there is something new for you here. Some experimentation is required.
For the Matching Tools, select the target objects first then the object that will be the source (matched to).
- Match Translation, Match Rotation - These tools allow matching the translation and rotation of new objects to the selected target object.
- Match Pivot - Moves the pivot to the source object without changing transforms.
- Bake Pivot - This one is the best tool. Bakes the translation and rotation of the pivot current position. You can snap and orient the pivot then get that exact transform values. Very useful to get the transform of an object during blocking phases.
A combination of Bake Pivot, Match Translation, and Match Rotation allows blocking mechanical moving parts quickly. Matching also assists in the placement of bones and locators during the rigging step.
Bake Pivot also helps you to move the symmetry plane when in object mode. Ever wonder why sometimes it doesn’t work even if the pivot is in the correct position? It’s because you didn’t bake in the pivot transform values. It took me ages to figure that one out and I’m still mad about it.
- Transform - Allows you to move components along its normal. Works kinda like inflate in ZBrush. Super useful to change the thickness of cables or extrusion heights after you cleared the object history.
- Edit Edge Flow - It averages the selected edge loop based on the neighboring edges, this is my favorite tool to get smooth curved surfaces quickly.
Edit Edge Flow
- Connect - Creates an edge between 2 vertices or an edge loop along the midline of selected edges.
- Multi-Cut - This one is super useful as well. You can use it to insert edge loops or draw panel cuts in an existing mesh. Just go nuts with making cuts and clean the edge later.
- Sculpting Tools - If you ever used Mudbox, these brushes work in a similar way.
- Grab Tool - Works just like the move brush in ZBrush. You can use it to change shapes or just move vertices to even out the spacing.
- Relax Tool - Quickly evens out the surface vertices with minimal shape loss, remember to keep it away from supporting loops and corners.
The texturing stage for this character didn’t take too long and honestly, I didn’t push the textures as far as I should have. Just enough to make the materials read well in V-Ray.
Substance Painter can create great-looking materials quickly. You can make great textures only using its presets. The caveat is that every texture artist worth their salt will look and say “Oh! He is using Grunge X and smart material Y” so don’t do that. Take your time to create distinct materials and blend your grunges. You can also save those for later use.
I started by splitting the character into two files to help Substance run quicker and keep my file sizes smaller. One file had the metallic armor, the other had everything else.
I created my maps for V-Ray 3.6 so I used the Non-PBR (Physically Based Rendering) spec/gloss setup in Painter. In simple terms, Specular maps will tell V-Ray how shiny the pixel is and Glossiness tells us two things, the size of the highlight and how blurry the reflection is. IOR (Index of Refraction) is also very important for most materials and can be texture-mapped but if you need to map IOR it’s because the base material is changing (Bare metal to the coat of paint). It is a better practice to use a Vray Blended shader and a mask map and control the material aspects in their independent shaders. You get more control that way.
Good UVs are a huge help during texturing. There are a few guidelines that will pay off when texturing.
- Separate the UDIMs by materials.
- Every line should only contain UDIMs of the same type of material when possible.
- Texel density should be kept the same across the same material. It’s fine to scale shells up to fill a UDIM with free space. Just make sure the texture scale matches across the model.
- If some materials don’t occupy enough UV space to fill a full UDIM and also not visible enough to be scaled up, it’s fine to group them together in one UDIM. Keep the shells of the same material clustered together and give enough space between groups for easy selections in the texturing software.
- The cost of using many UDIMs is an increase in render times, so be as efficient as possible but from my experience, the VFX studios see render time cheaper than artist time. So plan your layouts for faster texturing and with a resolution to spare. You never know if the Director is gonna change a shot and bring your asset closer. If your textures hold up when changes happen, if nothing needs to be redone it will make your leads and production very happy.
UV layout (Maya UV Editor)
My process in Painter is to set up whole materials (texture sets of diff, spec, gloss, normals) procedurally in the Fill layers. Layer them one on top of the other and reveal the edge wear, scratches and so on by using the powerful mask generators. Nothing new really.
One step that I could’ve done to improve my textures is painting masks for my scratches. If you look closely there are some scratches that wrap perfectly around the geometry. Those never happen in reality and really detract from the quality of the textures.
Textures for the metallic parts (Substance Viewport)
Textures for the body (Substance Viewport)
V-Ray was the rendering software Method Studios used primarily so I learned the basics there and kept using it because lots of VFX studios still use it as their main rendering software. Its base shader is really easy to use. I used a Vray Standard Material for everything. Most of my materials only needed the maps plugged in and they worked. No remapping nodes needed, yay! There is no shame in remapping your textures though! It’s recommended actually. (For those who don’t use Maya remapping nodes have similar functionality to using HSV, Curves, and Levels on your texture sets.)
The “gold” Metal got a bit more attention. I made two specular maps for this material, as I’ve shown in the Texturing part of this article. The first specular works just like a regular spec map, the second specular map was used to fake an iridescent oily like sheen for an additional breakup. To blend those, we stack the shaders using the usual blend node and a VRayFresnel node to mask the oily sheen. The idea is that the first spec map is used on highlights but at certain angles (surface normal starts pointing away from the camera the second spec gets displayed).
Gold Metal Shader Setup (Maya Hypershade)
I’ve also used a similar setup for the cloth undersuit. I duplicated the shader and in one version made the diffuse map slightly brighter. Then using the same setup as for the gold shader I blended them together using the VRayFresnel. This setup gives a velvet-like result, I just toned it down to keep the cloth feel without drawing too much focus on it.
I won’t get into the Lighting part because most of my lighting was created through trial and error. I just placed a few Area Lights and a VrayLightDome (HDRI lighting) to light the model. I do need to spend some time learning lighting fundamentals to give accurate advice. It’s on the list.
This project was a really good ride. I think I came really close to Jianli Wu’s concept. The biggest challenge is always converting the 2D concept into a working 3D model, solving the hidden parts and making sure the character can move with its costume. After that, follow the course and with patience finish the character.
If you are considering taking Ben’s course, make sure you are comfortable around ZBrush and your favorite 3D modeling package. There is a lot to learn from Ben and you wouldn't want to waste time struggling with software issues. If you are comfortable with the basics I really recommend you take it.
I hope this article was helpful! Huge thanks to all the artists and staff that helped me along my art journey and thank you for reading all the way though!