How to Model a Basketball (3D Practice)

In today's practice, we'll try to model a basketball! Before we begin, I want you to try modeling the whole thing without reading the tutorial first, so you can see where your knowledge might be lacking. Remember, there isn’t just one way to model something, you might follow a completely different workflow than the one I used here. What matters in the end is that you have clean topology and not something with far too many polygons for a prop like a basketball.

This is not a hard limitation and can definitely change from project to project, but you can use the following table as a polygon count reference for this tutorial.

Lazy Loaded Image

General Modern Game Art Ranges, Triangle Count Table

If you have a practice or tutorial request, you can reach me here. If you'd like to use this asset in your game, you can find both the realistic and stylized versions here. Now that that’s out of the way, let's begin!

Tutorial begins!


Let's add a cube to our scene:

Lazy Loaded Image

We’re going to add a subdivision modifier (Level 2) to round it into a sphere, and then apply it:

Lazy Loaded Image

I'll remove the vertices so we can draw the shapes of the sunken parts with the help of the knife tool (Keyboard shortcut: K) and mirror them on all axes:

Lazy Loaded Image

Cutting the line with the knife tool:

Lazy Loaded Image

Now we can mirror this along the X, Y, and Z axes to get the shape across the entire surface and apply it:

Lazy Loaded Image

Apply another subdivision modifier of 1 so we have a smooth surface. Switch to Edit Mode, switch to Face Selection mode, select all of your faces, then press Alt + Shift + S (This activates the "Shrink/Fatten Along Normals" tool. Normally, Alt + S shrinks/fattens by moving vertices/faces along their normals. Shift modifies this so it applies to the entire selection relative to other constraints, like connected faces. Alt + Shift + S: This combination scales faces along their normals, similar to inflating or deflating the selection, but it takes the selection as a whole and moves the faces outward or inward uniformly. In other words, it’s like pushing or pulling the selected faces along their normals without changing the overall shape too drastically, which is useful for thickness adjustments.) and drag your mouse to smooth them.

Lazy Loaded Image

Select the lines that represent the sunken parts of the basketball:

Lazy Loaded Image

Ctrl + B: Bevel them (increase the segments to 2 or 4).

Lazy Loaded Image

Press Ctrl + Numpad - to decrease the selection, so:

Lazy Loaded Image

Activate proportional editing and press Alt + S (As explained above, this moves vertices/faces along their normals, effectively “inflating” or “deflating” the mesh. In other words, this makes the faces do not strech when we scale them up or down; S → stretches/shrinks along axes. --- Alt + S → expands/contracts along normals.) to scale it down, then add additional subsurface to smooth it.

Lazy Loaded Image

Now, if you'd like to reduce the poly count even further and bake the details into a normal map, you can follow my tutorial related to that topic here. Besides that, I hope your model turned out the way you wanted it to, and that you learned something new today!