XSI has it,
but maya does NOT?
think again... pelt.mel allows UV mapping the way other packages do but with a nice touch of flexibility and interactivity... :) see for yourself!
----------------------------------------------------------------------------------------------------------------------
What is Pelt?
How to use the script
extract the content of the pelt.rar -file to your lokal scripts-dir. if you don't know, where that is type: print `internalVar -userScriptDir`;
the icon "pelt.xpm" should go into your prefs/icons-folder.
type: print (`internalVar -userPrefDir` + "icons") ;
create a poly-torus
source and run the script by typing: source pelt.mel; pelt ;
The pelt-window should appear. if instead you are asked to locate a "htm"-file anywhere your disk you didn't do the installation properly as described above.
if the torus was still selected when you opened the window, then it should probably read something like "pTorus1" in the textfield right of "object to pelt".
the objective of this script is to transfer a properly flattened UV-map onto your object; besides that, the original model is not touched,
if you return from a previous session of setting an object up for pelting, or if you had anything else selected when the window popped open, then select what you want, and press the "pick"-button.
next you want to press the "pelt setup"-button; this creates a duplicate of your object. which will always jump to worldspace origin (actually, just a little above it in positive Y)
the "pelt setup"-button turns into the "cut"-button. in order for the pelt to work, you would need to cut the model up. the right way to cut the torus up is probably like this:
so select the edges you want seperated, and press "cut".
the vertices on the selected edges were duplicated, and put into the "peltCluster".
when the cutting is done, the "edit Membership"-tool is selected automatically,
the objective is to create a cluster that only includes points on outside-border-edges;
it is therefore crucial to check all the points in the cluster before you proceed.
warning: if you do your cutting in several steps, edit the cluster as your last measure, The cluster is reset to include all borderedgepoints each time you press "cut".
If you look at the window now, all other options are dimmed, but "frameRange" and "walkLength". they come alive once the "dynamic setup"-button is pressed, but before you do that, think about how much stiffness and force within your model you may need, and adjust "walkLength" accordingly. It sets a pre-option, and cannot be altered later. as a matter of fact, it will dim, after you proceed with "dynamic setup". but for this example you may as well leave the "walkLength" at "1".
if you see the circular "peltFrame" and the springs attaching the "peltObject" to it, you did well, - if you get an error-message instead, or nothing seems to happen, then your cut has most likely gone wrong, or you need to clean up you cluster some more.
press "6" for textured view-mode.
press play.
after playing a couple of frames, adjust the "frameStiffness" to "0", and crank the "stiffness" up to "20". as you can see, the script allows for a lot of interactivity, even without pausing or stopping the simulation.
although it doesnot influence the quality of the resulting UV on pTorus1 at all, you might object to the diagonal orientation of the UV-map as displayed by the "UV Texture Editor". pause the simulation for a second and feel free to rotate the "peltFrame" to your needs.
The "floorScale"-slider ensures, that your model cannot 'fall off' the sides.
If your simulation involves larger objects with high vertice-counts on the border-edges, speed up the process by turning "use Radial Field" to "off", until the final shape evolves. You are well advised to turn it back on to finalize the simulation, as the precision on the resulting UV-map is much higher.
Since the radial field emits from every vertex, it forces equal spacing between the surfacepoints. the "radius"- and "strength"-sliders control "maxDistance" and "magnitude" on the radialField. the default-settings work pretty good with this "torus"-example, but they may not with models of different scale.
to picture how this works, imagine every vertex emits the radialField, thus every vertex tries to push every other points in its vicinity away. the effect is that all vertices try to achieve an equal distance from their neighbours, as much as the springs within the "peltObject" will allow. if the radius is too high and the strength equals out the gravitational force, the the surface will crumple, and the result is not desirable. if on the other extreme the radius is too small the parametrisation on the resulting UV-map will appear as "could-be-better", so mastering these two values is pretty crucial to good results.
if your model seems too slow unfolding try lowering the "friction".
the RMB on the "cut"-button holds a shortcut-popup to "edit Membership tool".
the "ditch dynamics" will get rid of all dynamics created after the cut-process, thus preserving original object-, "peltObject"- and "peltCluster"-relations. while the RMB popup will "start over" with just the original object, meaning deleting cluster and peltObject as well as all dynamics.
Please use the Feature Requests to give me ideas.
Please use the Support Forum if you have any questions or problems.
Please rate and review in the Review section.