Dissecting 3D

Recently a friend asked me for more details on how I create my 3D art pieces. In this post, I will delve into some of the more technical aspects of creating 3d art. While this is not a tutorial, it is going to attempt to give you a 10 thousand foot view of the process. Most of this process lives within a 3D application such as Studio Max 3d, Cinema 4D, Maya and other similar programs. While all these programs have a relatively high learning curve, these art pieces would be difficult if not impossible to create any other way. So the investment of time to learn has been vital for me. Like any other skill, once you learn the tools you are free to let creativity roam freely. In this case, roam freely in all dimensions. I’ll come back to my application of choice in a bit. For now, let’s get some basics down.


Understanding 3D Space

The first step is to understand 3D space. Most anyone that has taken basic geometry in school is probably familiar with the Cartesian coordinate system which specifies the location of a point along an X and a Y axis. Place a geometric object, say a rectangle, on to this coordinate system and instantly you can see that your object has width and height. If you place another object, say a square, on the same X/Y system and you can see their relationship in terms of width and height as well as distance and angle to each other.

X/Y system with two points plotted

X/Y system with two points plotted



Drawing anything on a flat 2 dimensional surface requires a strict adherence to this policy. The most basic of line drawings map points, lines, and curves onto this inarguably flat world and unless the artwork in question is mixed media or simply beyond traditional media, it too will be bound to this flat world. Of course the illusion of a 3rd dimension can easily be achieve by drawing in perspective. But it is still an illusion. Lines drawn on a flat grid system have no more depth than a sheet of paper. However the mastery of perspective drawing and painting is awe inspiring when done well as it has been done by true masters for centuries.

Fresco painting in the Sistine Chapel

Fresco painting in the Sistine Chapel by Da Vinci


The Depth of Breadth (not breath)

The Cartesian coordinate system I mentioned earlier does account for a 3rd plane beyond X and Y. This 3rd axis is the Z axis. While the X and Y system explain the placement of the words you are now reading, giving each letter a height and a width, you need the 3rd axis, Z, to see what’s behind the screen or to accurately describe the location of your keyboard relative to the screen on your desk. So the X/Y/Z coordinate system is a comprehensive means to describe bodies in space. While the math behind this generally gives me a headache, the tools I use understand them very well and allow me to manipulate objects of height, width and breadth with the greatest of ease. This ease allows me to focus on what I want to create rather than how to create it.


3D Applications

There are tons of 3d applications Maya, Cinem4D, 3D Studio Max all of which are deep, extensive tools to create true 3D projects for anything from prints and paintings to plans for building complex structures such as machines and buildings. As processor power increases with each new generation of computers, 3D graghics are being used in more aspects of everyday life such as consumer product designs and visual effects for films and video games.  My program of choice currently is Blender3D. It is an open source project that is freely distributed to anyone that wants to create in 3D. Blender 3D is a professional level tool but also completely free so there is only the investment of time to learn.


The Learning Curve.

Unfortunately it is an unwritten law that powerful systems can take time to learn and lifetimes to master. The same holds true of 3D applications but don’t be deterred, it’s not a matter of learning mathematical theory or crazy equations. It’s about learning to move around a 3D space (you’ve been doing that your entire life!). It’s about how objects react to one another in a defined space. Does the reflection of one object affect the appearance of another object? How does the direction and intensity of a light source affect the shadows cast on other shapes?

These are all the same principles used when painting in 2 dimensions and creating the illusion of a 3rd. The effect of light and shadow, overall composition and colors all must come together to present a final meaning in the work.


Let’s Make Something

This is the piece that I will step you thru:




Let’s start with the main object in this scene, the large orb in the center. It’s actually nothing more than a sphere with height, width and depth. In our 3d application it looks like this:

A sphere in 3d space.

A sphere in 3d space.


The other two primary objects in this scene are the other orbs and the rectangular blocks seen above and below our main orb. These are each created once and then scattered throughout the scene in a specific pattern. In additional to these objects, the scene contains some light sources and reflective surfaces. The entire scene is “photographed” from a specific point of view very much the way you would shoot a picture with say the camera on your phone. Below you can see all the elements of our scene from the right side.


Scene viewed from the right side.

Scene viewed from the right side.


You may be wondering why everything is colored a strange grayish hue. This is simply a default texture of all the objects to ease the placement and manipulation of things. Materials or textures need to be added to each object to give it the effect of gloss, or light diffusion, or pretty much anything else you want to recreate (real or otherwise). But at this point, the key is setting all the elements in our shot from the perspective of our camera. Here is what our camera sees before adding textures:


Camera view.

Camera view.


The last step before rendering the final scene is to add textures. This where you define how the surface of an object (or portion of the object) reacts to light as it is hit. A very glossy surface would reflect light and transmit it to other objects in the scene. A diffused surface would absorb light and reflect much less. Of course, the colors on each surface change the properties of the light reflecting. A texture can also emit light. The semi circle at the top of our scene has such a surface and projects light out onto all the other objects. Below is a closeup of one of the multiple orbs with it’s textures rendered. It’s mainly textured a glossy black, but you can see a portion is set in white. This area has been defined as emitting white light.



Background Orb with textures.



Rendering? What’s that?

So you many have noticed I used a term called rendering a few times. This refers to the final step that takes all the settings of everything in our scene and actually creates them. Up until this point, we have told our 3D application how we want to see our world (shapes, positions, angles of view, surface properties). Now the application crunches away at the underlying (and mind bogglingly complicated) math that calculates how a beam of light from a given light source travels through our scene and bounces off the objects we placed within it. This is probably the most exciting part of the process but it’s also the most time consuming part. Even a nicely powered desktop computer with the latest super fast processors can choke on the calculations required for a complex scene. This scene is relatively simple but it still took my computer about 4 hours to figure it all out. The result sometimes isn’t quite what I had in mind and tweaking of angles, materials and objects is needed. Then? Yes, you guessed it, another 4 hours to see the result. So patience is required, but well worth it in my opinion.


Our final image:



Here is a link to a higher resolution version to see the details: Click Here

and as a fine art print:

Final print.

Final print.


You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: