Monday, January 29, 2018

Polygonize an image in Blender

Reducing an image to set of triangles is an interesting way to make abstract art but requires hours of careful placing of points and tedious colorizing of polygons. Of course there are programs that try to automate this process, but you as a true Blender user want to make everything in your favorite program. So, in this tutorial I will show you how to make polygonized images by couple of ways in Blender - applying some skills and knowledge from Modeling, Modifiers and UV mapping.

In this tutorial we will create the images shown above.

Let's begin!

Preparing the image plane

Start with a simple Plane object. The orientation of the object is not important. My preferences are to place it in XZ plane.
You can resize the Plane to the proportions of the image. For example if you intend to render 1920x1080, you can resize the dimensions to X - 1.920 and Z - 1.080.

Plane object aligned in XZ plane and rescaled to desired dimensions.

If you like squares leave the dimensions unchanged. Apply the scale and rotation before going further, just in case.

We will examine two types of polygonisation: abstract and concrete.

Abstract polygon background

In the abstract variant we will generate triangles that will take the color from given image without taking into account the underlying shapes.

Enable Wire and Draw All Edges in Display panel of Object Properties tab to better observe the changes.

1. Add Subdivision Surface modifier and set it to Simple.
2. Set Subdivisions - View to 6
3. Add Decimate modifier and set the Ratio to 0.1, also check Triangulate option.

Remeshing of the plane made simple.

You can play with the above settings to your liking.
4. Apply the modifiers in the order of creation.
5. With object selected tap Tab to enter edit mode. Select All vertices.
6. Press Spacebar and type Edge Split and execute the operation. All triangles are now split from each other and deselected.
7. In Front view Select All and press U -> Project from View (Bounds) to create UV map layer.
8. Switch from 3D View to UV/Image Editor change UV selection mode to Face and Rotation/Scaling pivot to Individual Origins as marked on the image below.

Editind UVs. From this...

.. to this after scaling the UV faces.

9. Press S to scale the polygons and type 0. Now the UV faces will pick single color from the texture.
10. Switch to 3D View again. Set the Viewport Shading to Rendered. Create a simple Shadeless material for the plane and add new texture to the material. I will use a Clouds texture with custom Ramp colors and settings for the Depth and Size. Make sure that Mapping coordinates are set to UV. The settings are shown below.

Create abstract backgrounds from procedural images...

... or photos.

With that the polygonization of the image texture is complete. You can experiment with any kind of textures including photos to see how they will look. Render cool abstract art!

Concrete image polygonization

In the concrete variant it is taken care of outlining the forms that we want to remain recognizable by the viewer.

Lets take for example this photo:

If we apply this image to the plane object that we created it will look like this:

For fresh viewer it will be hard to recognize what is on the image and here you have the opportunity to focus on specific parts of the image in order to make it look better.

You can always increase the polygon density in some parts, but if you want to keep the image low-poly you have to put your basic modeling skills at work. This approach requires more time and artistic look. Be patient!

Using the image as reference create new object, delete all vertices and start placing and connecting new vertices at strategic places - mostly where the edges of shapes are and where the texture is varying.

Try to keep the polygon count low, because this is the beauty of this art - showing more with less.

After creating the polygons (preferably triangles). UV unwrap the mesh as described above. This time you can load the reference image in the UV/Image editor to see exactly where the uv faces are located.


Here is my take on placing vertices at strategic places on the image, variations are unlimited.

After finishing with the modeling repeat the steps from No. 5 as instructed above to achieve the low-poly look.

Polygonization of an image with attention to the details. Compare with the polygonized image using the first method.

A great thing of this method is that you can always change the colors of the polygons by simply moving around the scaled down UVs in the UV/Image editor. Make sure Proportional Editing is enabled and the size of the falloff is set to very small value so the vertices of the faces stay toghether.

Improved image by moving around the uv polygons and placing them on different pixels.

With that the tutorial is complete.

The technique described here could be a base for creating various low-poly effects and animations and it's not limited to 2D mesh ot triangle polygons.

Like the examples below.

If you like this content follow me on Twitter for updates and new cool stuff!
Happy polygonizing!

No comments:

Post a Comment