Transfer By UV
A Modeler plugin for LightWave 3D that transfers Vertex Maps from one mesh to another mesh by matching their UV layout.
Transfer By UV is a variation of the Conform by UV plugin for LightWave 3D. It uses the same idea that Lee Perry-Smith came up with for Conform by UV to match points between meshes via the UV map. This plugin doesn't conform the geometry but transfers vertex map data between the meshes instead.
The concept behind that idea is to be able to match points between meshes that have different proportions or might have lost point order. Like chopping off and replacing body parts, dramatically altering the look, size and point count.
The plugin uses the UV layout as a point of reference to find which points to match between the source and destination mesh to decide which points to transfer the vertex maps to. The only requirement is that the UV map layout is basically kept identical between the different meshes to be used.
Thanks to Timothy Albee for ideas and brainstorming concerning this script.
Select the foreground and background layer to transfer vertex maps between and then the UV map to be used for matching and run the plugin.
It's important to have in mind that the UV maps of the meshes to transfer between must have more or less identical UV layout for this plugin to generate good results.
Select from the drop down menu which kind of vertex maps you wish to transfer. The plugin can handle Weights, Morphs and Point Selection Sets.
The tolerance setting tells the plugin how far away a point can be in the UV space until it's not considered for matching. The UV space is calculated from 0-1, so the default setting of 0.02 is 2% tolerance in the UV space. The lower the tolerance the more accurate the matching will be.
By using the Weight Interpolation mode you can use a low res background UV and transfer the weights to a higher resolution mesh and have the weight values from the background interpolate on the foreground mesh. When using a low resolution background a higher tolerance setting is usually needed to get the expected result.
Vertex Map List
Select which maps you want to transfer in the list. Shift or Ctrl click to select multiple maps to transfer.
Good to know
- The plugin respects point and polygon selections, so you can select a mouth or an eye before running the plugin to only transfer vertex maps from that section.
- When transferring Selection Sets,
_copywill be appended to the names in the foreground (Workaround for a LScript bug).
- The conform process can be aborted by pressing the ESC key while the progress bar is running.
- When the plugin has finished working a report window pops up, giving some information about the result of the operation. If there were points not finding any matches with the background, you have the option here to create a selection set of the unmatched points. The selection set is named UnMatched.
- If you need to delete the generated selection set, you can do that in Modeler's Vertex Map Window » Selections Sets » UnMatched » Right Click » Delete » Voila!
That's it, enjoy!
Available downloads for the Transfer By UV plugin.
Transfer by UV is released as an open source project under the new BSD License. The project is hosted on GitHub where the repository can be browsed or forked.
Or use git to clone the repository with complete history:
git clone git://github.com/artstorm/transfer-by-uv.git
I'm very interested in your contributions... What else deserves to be in this plugin? How can it be improved? Coders, feel free to fork the repository, make any updates and then send me a pull request. Non-coders, submit a request in the issue tracker.
There is no official support for this plugin, but if you run into any problems or bugs, you can file a report in the issue tracker and it will be looked into. You need to have a Google Account to file a new issue.
Transfer by UV has been tested with LightWave 3D 9.6, 9.6.1 OB, HC - Win32, Win64 and should work fine on Mac OS as well.
The development history of Transfer By UV.
Version 1.2 - 27 Oct 2010
- Added automatic loading and saving of settings between sessions.
- Released the script as open source under an Attribution Assurance License.
Version 1.1 - 1 Apr 2010
- Implemented an Weight Interpolation option.
Version 1.0 - 29 Mar 2010
- First public release of the plugin.