From BlenderWiki

Jump to: navigation, search
Reproject image
Reproject UV coords based on image plane
UI location UV unwrap > Reproject image
Usage Pin the reference plane's vertices (in UV Editor), select the vertices that you want to reproject along with the reference vertices (in 3D View), and execute Reproject image
Version 1.0 Author(s) Jonathan Giroux (Bloutiouf)
Blender >= 2.70 License MIT License
Category UV Distribution Extern


Executable information
File name uv_reproject_image.py
Current version download Latest version on Github


Links Github


This addon reprojects UV coords based on a reference image plane. It is intended to work with Import as planes when you want to retopologize an image.

When your planes are axis-aligned and your retopologized mesh doesn't exceed the reference image, UV unwrap > Project from view (Bounds) may suffice. Otherwise, this addon will help you.

Usage

You have imported an image as a plane (reference) and you have retopologized it by creating a new mesh (target). They have to be in the same mesh datablock. The goal is to make the target vertices to use correct, interpolated UV coordinates.

  1. Switch to the UV Editing view at the top of the window, because you'll need a 3D View and a UV/Image Editor together.
  2. In the 3D View, select the reference plane. In the UV/Image Editor, select the four vertices of the plane (A) and pin them (UVs > Pin or P).
  3. In the 3D View, select the target mesh (i.e. the vertices that you want to reassign interpolated UV). In the UV/Image Editor, you'll notice that they aren't linked with any texture, therefore select the correct texture in the dropdown.
  4. In the 3D View, select the reference and target meshes (A twice), and execute UV unwrap > Reproject image (Mesh > UV Unwrap... or U).

Your target mesh is now reprojected according to the reference plane!

Notes

When you follow the previous steps, you'll see a warning message:

The reference plane is defined by more than 3 points, incoherencies may arise.

Basically, this message is a reminder that you should keep your reference plane as a rectangle. Indeed, you have pinned 4 vertices, but only 3 are needed to define a plane. The algorithm will always reproject according to three vertices, and you usually don't know which ones they are. If you have kept it as a rectangle, this is good, ignore the message.

The reference and target meshes may have any position and rotation in space. You don't need to align the view to make it work.

Step 3. is theoretically optional. Blender has this strange behavior of differentiating the texture used in the 3D view and the texture used for the rendering. So even if you don't select an image to use, the target mesh will anyway render the proper texture. But you'll find yourself manipulating a gray mesh in the editor, which is not reasonable.

License

MIT License