How to 3D Print a Movie

A step-by-step text and video walkthrough

tywen kelly
8 min readNov 12, 2020
The finished 3D print of “The Horse in Motion”, which was the first movie ever made shot as a sequence of high speed images by Eadweard Muybridge in 1878.

Sometime ago I made a code sketch which drew the frames of a video one at a time in a diagonal line. The effect was a 3D-looking block of video. I thought it was pretty neat to show a video in such an unfamiliar way. It also made me think, what if I could 3D print a movie? What if I could hold that video in my hands?

An older project that inspired this one.

I got to tinkering. Many hours of wrangling with Blender and watching YouTube tutorials later I got a result I was happy with. But it was a mighty struggle. I had no experience working with 3D files before this and didn’t know what tools to use. I had a hard time even asking the right questions on help forums to know where to begin!

As a way to pay it forward and to make it easier for someone in the future who wants to do what I did without any experience, I have decided to 1) make a YouTube video walkthrough of my process, 2) write up the steps in this document, and 3) discuss where I messed up along the way and what I learned.

Video Walkthrough

Below is a 22 minute walkthrough of the whole process.

The Steps

Instead of watching the above video, you may be in the mood just to read the steps. Here they are.

There are three ways to start: with a video, a series of still images from a video, or a still image with the frames embedded in it.

If you have a video file:

  1. Follow this tutorial on how to use After Effects to export a video as a sequence of PNG frames.
  2. Import the frames as separate layers into Photoshop by going to File > Scripts > Load Files Into Stack.
  3. Skip to Step 3 below.

If you have a series of still images:

  1. Import the frames as separate layers into Photoshop by going to File > Scripts > Load Files Into Stack.
  2. Skip to Step 3 below.

If you have a still images with the frames in it (as I did starting this project):

  1. Open Photoshop and import your image.

2. Select each image and cut each section of image into a new layer using the marquee tool (‘M’) and then creating a new layer from cut (‘Ctrl + Shift J’). Align each image to be the size of the canvas.

3. Save your Photoshop file.

4. Open Illustrator and go to File > Open and select your Photoshop file.

5. Install and apply this action titled ‘IMAGE.aia’. When you run the action it will automatically convert your selected bitmap image layer into a vector and smooth it out. This technique works best on high-contrast images with a clear separation between foreground and background. (Optional: install and apply this script titled ‘applyImageTrace.jsx’ which I typed up to automatically run the above action on every layer in your Illustrator document. All this script does is look for an action titled “IMAGE” and it runs it as many times as there are layers in the document.)

6. After each layer is a vector, export the layers using the Illustrator script MultiExporter, which is free to download and install, and which will export each layer as its own SVG file. You can do this manually if you do not want to install this script.

7. Open Blender. I am using version 2.9.

8. Import one SVG file.

9. Convert each SVG file into a mesh by selecting the object then going to the menu items Object > Convert to > Mesh from Curve/Meta/Surf

10. Clean up the mesh by selecting non-manifold edges: Select the object and toggle to Edit mode (or press ‘Tab’), go to menu item Select > Select All by Trait > Non-Manifold.

11. Press ‘Shift + D’ to duplicate the object and place it aside. Delete the remaining mesh.

12. Select your clean outline of mesh and remove excess vertexes by toggling to Edit Mode (‘Tab’), pressing ‘1’ to switch to vertex selection mode, pressing ‘A’ to select every vertex in the object, right click on the object and select Merge Vertices > By Distance. In the bottom left select a distance in the ten-thousands decimal place, or until the shape is simplified but still recognizable.

13. Import the next SVG file and repeat.

14. Align each frame on top of each other.

15. Select all edges and select Edge > Bridge Edge Loops from the menu. This will “loft” each frame and connect the silhouettes of each frame to its closest neighbor.

16. From here it is a matter of taste. Use the Bridge Edge Loops menu to refine how to interpolate between each frame. Adjust the number of edge cuts to makes smoother transitions between frames and play with the Interpolation modes to get different styles.

This model has many edge cuts (8+), which makes for smooth sides. This particular image is a ray-traced render of the print using Blender‘s’ built-in “Cycles” renderer.

17. Close all holes in your model. To do this quickly go to Mesh > Clean Up > Fill Holes. Or, manually select edges around a hole and press ‘F’ to create a face between your selected edges.

18. When you are satisfied, align your model into the center of your document. Use ‘G’ to move your selected object. While moving press ‘X’, ‘Y’, or ‘Z’ to lock to one axis. Hold ‘Ctrl’ while moving the object to snap the object to the base grid.

19. Export your Blender files as an STL file.

20. Import the STL into your slicer software of choice.

21. Export G-code and bring it into your printer!

Failures along the way

Below are a few tidbits where I stumbled and learned along the way. These couldn’t make it into the how-to video or the above how-to list.

I had no idea what this concept of “connecting movie frames in 3D” was called. I searched for ways to “mix” flat layers, to “interpolate” between them, and to “blend” between faces. All to no avail. Perhaps by stating my common-language terms here they may be picked up by SEO for some other newbie looking to do that same.

The Bridge Edge Loops feature in Blender is considered “lofting” in other 3D Modeling and CAD programs. It’s a way to connect multiple existing edges together into a intuitive line. In using it, I’ve learned that Bridge Edge Loops does not like to connect complex shapes. It will do it, but the results may appear strange. It is also crucial to not bridge edge loops which are nested in each other. This will create unwanted results, as shown here:

I also ran into the problem of creating too complex of a mesh. On my first couple of attempts I skipped step 12, which removed extra vertexes. Because I skipped that step my model was excessively complicated and it bogged down the software. I crashed it many times.

In an attempt to simplify my mesh I encountered the idea of “retopology”. This technique allows a computer to reinterpret the mesh into simpler terms and gets rid of weird intersecting edges and other unwanted artifacts like skewed normals of a face. (Normals, I learned, are the way that the “direction” of the face is dictated. These can get flipped around and create weird issue with selection and rendering.)

I also learned retopology is called a “remesh” modifier in Blender.

One thing about modifiers — they act like a “filter” on the object, kind of like applying a color filter on Instagram, but far more mathematically complex. These filters are by default very malleable and allow you to adjust the settings. If you are happy with a modifier you can apply it by selecting the downward facing arrow next to the blue camera icon and selecting ‘Apply’. Once the modifier is applied it will actually affect the mesh. It will be “baked in” so to speak and wont be editable down the road. This can be confusing because when a modifier is not applied it does affects Object Mode view, and changes how the mesh looks. But in reality an unapplied modifier does not affect the actual mesh — when you enter Edit Mode view you see the actual vertexes, edges, and faces, and if those aren’t altered as you expect, then the modifier is likely not applied yet.

Lastly, I played with many ways to smooth the surface of the mesh. One of the ways I found which I did not end up using in my final export was by adding a Subdivision modifier to the model.

This smoothed the transition during areas of the model with hard angles in it. The result is pictured below (with just one linear edge cut).

Conclusion

I am interested in researching the aesthetic intersection of images, computers, and reality. This piece touches all three points of this Venn diagram: It’s a real and physical object, made up of flat images, interpreted by a computer. My next project is to get comfortable with this medium of “3D Printed Movies” and start to play with different storytelling techniques in it.

As a learner this was a satisfying project to complete. The learning curve for 3D software was steep. There are so many terms in the industry, the hobbyist community, and within the tools themselves that take time to grasp. I have a greater appreciation for all 3D works now. With my beginner’s understanding of the tool, I can start to imagine new ways of manipulating my own models and virtual environments. While I’m very happy with the result of this piece I am even more excited to be able to start to think like a 3D-remixer, and start to image new ways to mash images, computers, and reality together.

--

--