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.

Usage

Transfer By UV 1.1 Screenshot

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.

VMap Type

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.

Tolerance

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.

Weight Interpolation

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, _copy will 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!

Download

Available downloads for the Transfer By UV plugin.

Latest Release

Older Releases

Source Code

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

Contribute

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.

Support

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.

Report a Transfer By UV issue

Compability

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.

Changelog

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.

Discuss this article

The conversation has just started. Comments? Thoughts?

I'm on Twitter and Mastodon, or come to the Discord server and hang out.

Sign up to the newsletter to get occasional emails about my game development.

Legacy comments

  • Royie Kahalany Apr 4, 2010
    Dear Johan.

    I haven't downloaded the plugin, although I'll probably will find a use for it soon enough. But that's not why I'm writing these lines.
    As we a are geographically thousands of miles apart the best I could do Is just throw in a few thank you's that will never be enough:
    Thank you for the time, the patience, the knowledge, the kindness, the will to contribute, the wealth of good will and most of all - Thank you for who you are.

    You - Johan & Lee, You - Timothy and all the unsung LW geniouses that transcend this software from a pure binary code to a beautiful and engaging way of life.

    You, fine people are the Inspiration for generations to come,
    an embodiment of the modern Renaissance men,
    and the very reason I'm proud to call myself a Lightwaver.

    Can't thank you enough,

    Royie Kahalany

    P.S. Wish I could buy you a beer someday :)
  • Breno Azevedo Jul 13, 2010
    This-is-amazing. I've been dragged into the Maya world due to multiple pipeline restrictions, and I can't stop missing Lightwave's free-flow approach to creation. Seeing such amazing tools still popping up for Lightwave is the proof of its inspirational qualities, something that's pervasive and perceptible from everyone that joins this amazing community, even if now having to share their attention with multiple applications.

    Up to these days it's still Lightwave what I go for when I need access to the raw metal, when-all-else-fails: when Maya fails to properly weld vertices, when Modo fails to give me a decent exported FBX.. here comes Lightwave to the rescue, and it never, *never* fails to get the job done.

    Of course Lightwave is nothing without its toys, provided by this ingenious community. This tool is amazing, nothing but a GATOR-killer as mr. Albee once foresaw it'd be. Congratulations!