Hard Surface Modeling for Films

An 10-week course focused on hard surface modeling for film VFX production

Course overview Course overview

Course Overview

Prepare hard surface models for VFX

This course covers the creation of VFX production assets of an inorganic nature. Lectures will cover creation of form, efficient manipulation of topology, the art of kitbashing, scene organization, texture preparation, light rigging techniques that will aid in the modeling process, and final rendering. Students will learn the process of efficiently creating high-quality hard surface models from concept to completion, and complete exercises that will give them the tools to overcome typical challenges faced by production artists.

Course Format:   Standard
Lecture Type:   Pre-recorded
Feedback:   Individual recordings
Duration:   10 weeks
Assignment:   Deadlines each week
Q&A:   Once a week
Materials:   Maya (or equivalent) and ZBrush (or equivalent)
Skills level:   Intermediate
Prerequisites:   Knowledge of Maya and ZBrush is required

Hard Surface Modeling for Films WHAT YOU’LL LEARN

What you'll learn

The more you know, the better.

expand all
collapse all
Instructor introduction and background | Discussion of hard surface modeling principles | Introduction to the Maya interface as we will be using it
Setting up image planes in Maya | Using NURBS curves to create guidelines | Box modeling process | Naming conventions and hierarchy organization
Importing blocking models into ZBrush | Using dynamesh to combine primitive shapes together into more complex surfaces | Hard surface brushes and demo sculpt on car body | Adding panel lines | Using decimation master | Exporting from ZBrush | Importing sculpts into Maya | Quad-draw workflow in Maya
Maya modeling techniques: Maya booleans; box modeling methods using extrude and mulit-cut tools; bevel tool to create supporting edge loops; Maya sculpt tools | Radial modeling exercise: creating a rim and a tire | Creating a thruster using radial modeling techniques: anatomy of a thruster, reality vs. sci-fi; using instances to model thruster details; using pivot points to facilitate animation of thrust vectoring
A look to the past: techniques used by practical modelers | Modeling vintage model kit parts for kitbashing | Getting UVs onto geometry | Exporting parts with thumbnails for use in Maya's content browser
Kitbashing using a parts library: a look at practical kitbashing techniques; adding our greebles to Maya's content browser | Kitbashing workflow: plant on details; greeble assemblies
Modeling and rigging the pistons: single axis and ball & socket; hierarchy setup; aim constraint setup | Creating mechanisms: building the basic skeleton and animating motion; experimenting with piston placement; setting up set-driven keys | Integrating these parts into the model
NURBS curves modeling tools | Extruding along curves | Animation snapshot and tank tread exercise | Other pipe modeling techniques | Using wire deformers to create cable looms
Creating and unfolding UVs | A discussion about texel density: what it is and why it is important | UV packing techniques | UDIMS; how to organize your model's UVs for multiple texture maps | Final model setup
Alternative methods: edge creasing, face weighted normals, rounded corner shader | Rendering in Maya using Arnold | Rendering in Keyshot

Igniting your imagination

Jay is a Senior Hard Surface Modeler and Texture Painter at Industrial Light and Magic; he has been at ILM for 4 years, and has 6 years of experience as a modeler. His credits include Rogue One, Star Wars: the Force Awakens, and Transformers: Age of Extinction. In addition to his work on feature films, Jay has worked on music videos, commercials, an AAA game, and amusement park rides. He is also exploring physically based rendering, VR, game development, and 3D printing outside of work.

Student interviews


April 20th!

spring TERM Registration

Feb 11, 2019 - Apr 26, 2019




April 20th!

Pricing & Schedule

Even though our courses are the most affordable for the quality of education.

These Finance Options allow you to focus on your goals instead of the barriers that keep you from reaching them.

Employer Reimbursement

Animation Guild CSATTF

Payment Plan

Companies that hire our students

  • Naughty Dog
  • Luma Pictures
  • Google
  • EA Games
  • DreamWorks Animation
  • Blizzard Entertainment

environment design Benefits


What makes this learning experience unique?

Personal Feedback

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.

Flexible Learning

Learn anywhere, anytime, and at your own pace with our online courses.

Speak to an advisor

Need guidance or course recommendations? Let us help!

Have you taken a course with us before?

Show us your skills

Not sure if you have the skills, or are you proving you do? Show us.

Have you taken a course with us before?

Modeling A Spaceship

Interview with Mark Hołubowski

Mark Hołubowski shared his experience of taking Hard Surface Modeling for Films course lead by Jay Machado and talked about the production of his spaceship model.


My name is Mark Hołubowski and I’m a self-taught 3D artist. I was born in USA, California but raised in Poland. I’m currently trying to land my first job in the industry. After completing my bachelor’s degree in sound engineering in 2017, I knew that I have no passion for recording sound and music. Even before I finished studying, I realized that with my love for games, great characters and epic worlds I should try to start a career in computer graphics. As for any projects I have worked on, a good friend of mine and I were working on a low-poly styled mobile/pc game. The project is currently on hold, but all the progress I’ve made and everything I learned while working on it can be found in my portfolio post.

CGMA Course Goals

My goals were pretty straightforward. I am really into sci-fi and the idea of designing cool looking tech is very appealing to me. Therefore, I wanted to get good at hard-surface modeling. I have had some hard-surface experience in ZBrush, but I felt that there was much to improve and that learning to model in Maya would be a great skill to have. While working on the model, however, I quickly learned that it would be more accurate to say that modeling in Maya is a pretty essential or almost mandatory skill to have, at least in my opinion. Mostly because of how intuitive and well designed I found the modeling tools to be in Maya, especially the multi-cut tool.


Hard-Surface Modeling: the Start

With hard-surface models, I usually start with blocking out the general shapes using simple primitives or planes. If I’m working with a concept I’ll first set up image planes and match my scenes camera with the image, just as I did with this model since I was trying to recreate J.C Park’s concept art.

By the way, I highly recommend checking out J.C’s work. He creates some really awesome sci-fi concepts.

The main body of the ship is a fairly complex shape so I decided that using primitives wouldn’t cut it. Instead, I blocked out the spacecraft using NURBS curves.

After that, I used Create Polygon Tool to create geometry in-between the curves, added a few edge loops and ended up with a nice base shape for the body.

As for the rest of the parts, it’s all either cylinders or some basic modeling done on some cubes. Here is what I ended up with.

This is a pretty simple process. And the blockout really doesn’t have to be perfect. It’s all temporary anyway. It’s mostly just so you can get an overall feel of the model and get the proportions right, so there is no point spending too much time at this stage. If you are working with a concept, what I would recommend really nailing down is the first step. Spend some time matching the camera in your project with your image because otherwise, you might find that parts of the model that are perfectly lined up with the artwork look disproportionate in other views. Also, keep in mind that you might have to be able to find some sort of middle ground between your image plane and perspective views, as the perspective in your concept art may be somewhat off. That’s how I felt about J.C’s drawing so my final blockout doesn’t exactly match the guiding NURBS curves.

One last step before moving on is giving your object the proper scale. It’s important to decide how big you want your model before working on details because that determines how large your details should be to get a proper sense of scale. Jay provided us with a simple model of a human to help with scaling our blockouts, however, if you don’t have one of those I’m sure a 1,8 m cube will suffice.


In hard-surface modeling, there are generally two types of details: panel lines and greebles. Let’s start with the former. After importing the blockout into ZBrush, Ithe body and started smoothing. Once I felt the shape was good enough I started sculpting in the details.

This stage is all about creating a roadmap for where to place the details. Getting all the parts to work with each other. In hindsight, I wish I had created a separate layer for details. More importantly, however, I definitely should’ve spent more time on making the shape smoother and not as bumpy. This made me run into many issues when retopologizing the model. But I’ll talk more about that later.

Anyway, now it’s time to take this model to Maya and start working on some nice, smoothable topology. Before doing so, remember to decimate your model using the Decimation Master plug-in. The hull panels and cockpit were created using Maya’s Quad Draw tool and all the other parts were made with good old box modeling.

It’s important to have a good amount of resolution in your meshes when trying to have sharp cuts in such curved surfaces. Otherwise, some really bad deformation after smoothing is unavoidable.


So the ship’s surface is starting to look cool but it’s clearly empty on the inside. This is where greebles come in. Jay shared a pretty sizable library to work with.

Not all parts you see here are supplied by Jay. I had to complement the collection by making some greebles that I felt were missing for my concept or that just would fit the aesthetic better. What I’m meaning to say is don’t be lazy and try to achieve what you can with what you were given. Make what you need! There, that’s a life lesson for everyone.

I honestly went somewhat crazy with the greebles, but I’d say it was worth it. My approach was to make the detail seem like it has a purpose. A good way of achieving that is by combining parts in your library into bigger pieces or by detailing some greebles with other greebles. The possibilities are endless!



It is highly important to give the illusion that the model is not actually empty inside, as well as to populate the scene with greebles in a way that doesn’t look random or ‘cookie-cutterish’. Placing all this little detail in a considered manner, having them be a part of a bigger shape or section of your model, makes it more difficult for the eye to make out the separate greebles you stitched together which is definitely a good thing, but it does require some creativity.

One last thing before finishing things off is to find some good spots for cables, as those give another layer of realism to some hard-surface models. Extruding a cylinder along a curve or just using the wire deformer tool are great ways for some fast and easy cables.

So there you go, the model is done, just like that! To close off this section here is an image of all the greebles as well as the completed ship.



Before this course, I had never actually heard about Mari. For the purposes of Jay’s class there really wasn’t any reason to take the model into this software solution, but I really wanted to take the opportunity to learn something new. Since the non-commercial version of Mari only supports up to 6 UDIMs and the whole spaceship is laid out into 22 UDIMs I decided to only paint the ships hull the way it’s painted in the concept. Red with white lines and decal. Basically, I only used Mari for the diffuse map and all the material work was done in Arnold or Keyshot.

As for the materials, I haven’t done anything fancy. Everything is just different presets of the standard Arnold shader with minor tweaks. The body of the ship is a car paint preset, the cockpit is a chrome material and the rest is just different colored metal. For the thruster glow, I used a ramp which I connected to the emission input for the standard shader.

For the Keyshot version of the render, I used the materials that came with the software with no additional tweaking.


The biggest challenge of the rendering stage for me is the lighting. A lot of it is trial and error. For this project, I used an HDRI map from FlippedNormals Studio HDRIs and an Arnold area light to lighten the scene. However, before settling for this setup, I spent a lot of time tweaking stuff like the number of lights in the scene, placement, size, intensity, and exposure.

Luckily, rendering engines have gone a long way over the years and the fact that you can see the effects of your changes so interactively without having to wait more than a couple seconds after every modification to the lighting or material makes the whole process quite enjoyable. 

For the Keyshot render, I just used another FlippedNormals HDRI map with no additional lighting.

I liked the effects that I was able to achieve in Arnold more but I found that quality renders took much longer, specifically between 15 and 25 minutes. Keyshot would give me a satisfactory render in something around 5 minutes, so that’s where I decided to produce my turntable.

Challenges & Mistakes

While working on the red hull panels I didn’t yet understand well enough how to model curved surfaces with sharp cuts that would smooth nicely. Also, having a messy concept sculpt as a live surface for retopology definitely worked against me. The result was beyond messy. A ton of pinching and wobbly edges. Eventually, I decided to redo all the panels, this time differently, however. I’ve taken the plane I made during the blockout phase from NURBS curves and subdivided it until I felt I had enough resolution to support all the detail.

Now the old messy panels worked as a roadmap on where all the cuts and details should be placed on the new surface. Here are some before and afters.

I recall one more issue I ran into while working on this project. I wouldn’t exactly call it a mistake, but a good lesson nonetheless. After the greeble pass, it was time to UV the whole model. That is where I discovered that many greebles had either bad UVs or none at all. As you can imagine the process of giving the greebles their missing UVs, then finding and transferring the layout to all duplicates in a scene that has 500+ greebles was a time consuming and tedious process that could’ve been easily avoided. Therefore, I would strongly recommend that if your scene has many duplicates of the same mesh, just give the original some UVs beforehand. Even if you have a plug-in for transferring UVs to multiple meshes, it’s still faster to not have to do so, especially in cases like the one I had.

Feedback About CGMA Course

Right off the bat, I must say that Jay’s class was a blast. I very much enjoyed the format of pre-recorded lectures, because all the knowledge is more precise and easy to find than in a live, real-time alternative. Jay himself was an excellent teacher as he was quick to answer any questions posted in the forums and without his feedback, I surely wouldn’t have been able to resolve the issues I had with bad mesh deformation. In the Q&A sessions, he went beyond the program by showing us how he goes about texturing in Mari and Substance Painter what definitely was a pleasant surprise.