Tutorial
Heading
Apr 11, 2023

Creating 3D models from 2D images: step-by-step guide

Whatever your objective is, we present the definitive guide to transform a 2D image into a 3D model

There can be many reasons why we need to create a 3D model from a 2D image. For example, to speed up the modelling process when you need to use a 3D version of a brand logo that has been previously designed in 2D. Also to achieve a more realistic animation, to better visualise an object from different perspectives or even to create scenarios for renders, videos or videogames.

Whatever your objective is, we present the definitive guide to transform a 2D image into a 3D model. Let's get started!

Resources

  • Adobe Photoshop/Illustrator (any version from 2016 to present)
  • Autodesk Maya (any version from 2016 to present)
  • Blender (any version from 2016 to present)
  • Web Page to convert .ai files to .svg: Ex: Convertio

Vectorising the 2D image

The first step to transform our images into a 3D model is to vectorize the image. An image is normally made up of pixels, and by vectorizing it, we will make it composed of vectors. This means that its quality is not affected when it's resized. If you already have your vectorised image, this step is optional.

To start with this process we will use Photoshop or Illustrator, either software is valid.

  • We will begin by opening the image we want to convert into a 3D model in Photoshop.
  • Once you have the image, select the magic wand tool and select all the shape you desire to turn into a 3D model, right click over the selection, and press Make a Work Path.

  • Now it’s time to the Paths tab and double click on the Work Path layer to save and name the path.

  • If the work path generated has too many anchor points and you add or remove some of them, you can edit it by using the pen tool.

  • Once you have your path created, go to File → Export → Paths To Illustrator and save the path in .ai format.

We are done!

Turning the vectorised image into a 3D model

Now that we have our image correctly vectorised, we are going to learn two different ways to obtain its three-dimensional model. To do this, we will explain the process in Maya, and then in Blender, a completely free software.

Transforming a vector image into a 3D model with Maya

We have learned how to vectorise an image with Photoshop, now it's time to transform this vector composite image into a 3D model. Let’s get started with the process to do it in Maya!

  • Open Maya and import the .ai file to the scene.

  • The image will be displayed as NURBS and it will be loaded to the scene in multiple groups (as many as vectors are forming the shape). Select all the groups that compose the shape and go to the tab Surfaces and select Planar.

  • After that, a mesh with the shape of the NURBS will be generated into the scene. Unless you have a vectorised image previously optimised with only the necesary vectors to compose the shape (can be easily optimised using Adobe Illustrator), the resulting mesh will be badly optimised, and will require a later optimisation of he mesh.

  • Once you have your mesh optimised, you can freely modify the shape to adapt it to the desired shape you want. In this case this shape will be used to create a beautiful neon to decorate a wall.


Transforming a vector image into a 3D model with Blender

Perfect, now let's see how to do it in Blender, a completely free software widely used for modeling and rendering. In this software .ai files cannot be imported. Instead, we will use .svg files to import our vectorized images.

The ideal process to get our .svg, would be to open the vectorized image in Adobe Illustrator and simply export the file as an .svg.

However, we also have an alternative process to obtain an .svg from an .ai file; an online file converter, such as Convertio. This website will convert your file automatically and you can download it quickly. A super easy way!

Be careful! The SVG format lacks important information that AI files have, as it only retains the shape but not the number of segments. This can result in an unoptimized mesh with many vertices when importing into Blender. However, there are some solutions available to make it slightly optimized.

  • To turn the shape into a 3D model, first you have to go to File → Import → SVG and import the file into the scene.

  • Once you have the shape into the scene, normally it appears with a really small scale, so its recomended to increase the size of the shape to make it more visible.
  • To turn the shape into a mesh, first you have to turn it into a Polygon Curve, or a Bezier Curve.
  • To do that, you have to go to Object → Convert → Polygon/Bezier Curve.
  • No you have your shape turned into a Curve, to slightly optimize the mesh, first you have to select the curve generated on the scene (normally named “Layer 0x”) and go to the Object Data Properties. Once you are on that layer adjust the Resolution Preview U from 12 to 1 in order to reduce the number of vertices that will be generated when you turn the curve into a mesh.
  • To turn the Curve into a Mesh, you have to go again to Object → Convert → Mesh.

  • Once you have generated the mesh, the curve will turn into an editable line of vertices.  To shape it you can easily Extrude it and after that use the modifier Solidify to give some volume to the mesh. We have finished!

The final results with Maya and Blender

As you have seen, the process of vectorising images and converting them into a 3D model is quite simple and does not require much technical knowledge.

The end result is really good, and it is a very useful task for many industries. Although this process can be done in both Maya and Blender, the final model achieved in Maya is much more optimised for real-time engines than the Blender model.

Final Render with the Maya model (2200 tris.)

Final Render with the Blender model (17000 tris.)

Art
Blender
Maya
Xavi Francesch
3D Artist

Environment artist expert in game engines and digital art enjoyer

Tutorial
How to import Decentraland SkyboxEditor into Unity
Tutorial
Doing a MANA transaction in a Decentraland scene
Tutorial
Canvas (2D UI) Manager in Decentraland