---------
VMAPTOOLS
version-free tool plugin for c4d
by naam
naam@happyship.com
---------
readme written on mon.apr.15.2002
---------
This little plugin has been written in just a few days. Not everything I wanted to implement is working, and some things are still buggy and crash-prone. Nevertheless, I use this plugin on a very regular basis and can't live without it anymore. Maybe some day I'll remove the final bugs and implement all options, but untill then you'll have to do with this.
INSTALLATION
You know the drill: put the VmapTools folder somewhere in your Cinema4DXL's plugins folder. It should work with versions 6.302 and up, though maybe even older versions work as well.
THE BASICS
VmapTools is a tool panel. Just run the plugin from the plugins menu (or add a command button to your interface) and you'll be presented with a little dialog. Now, select a vertex map. The top part of the dialog will display the name of the vmap and the object it belongs to. The beauty of VmapTools is that it will remember this vmap untill you select another one, as well as the object it belongs to, and the point selection made in point mode on that object. So you are free to select and meddle with other objects in the scene, and still be able to influence the vmap weight of the point selection. This allows you to interactively change a vmap and see the results on the deformation in realtime, even without the red-yellow vmap shading.
EYEDROPPER AREA
This area displays both the number of points in the pointselection, and the average weight of these points in the vmap. You can grab the little triangle buttons of the 'average value' field and move it up and down, and like this change the weight of all the poitns at once, and in realtime. The value field will change to a number denoting how much weight has been added to the selected points. It will add this to each point seperately, so even if different points in the selection have different weight, after changing this with VmapTools, they will still be equally different.
The Realtime checkbox allows you to turn on or off the realtime behaviour of the average value field. If turned off, the vmap will only be updated after you release the slider.
FUNCTIONS
Below the eyedropper area are different functions. They work like buttons, so one click is enough. To make the settings for the functions, click on the settings button.
MIRROR VMAP
This will mirror a vertex map. Use the settings dialog to define how exactly you want the mirroring to take place.
Important to know is that the implemented mirror function will make the vertex map symmetric. That is to say, it doesn't swap around a vmap, but it lets you choose a side and then copies the information of this side over to the other side, keeping the first side intact.
In the settings, you can define the mirror plane, the mirror direction, and the tolerance. For perfectly symmetric objects, a low tolerance is enough, but for less symmetric objects, you may want to increase the tolerance so that the mirror function will even mirror vmap values between points that aren't perfect mirror duplicates of eachother.
The 'create new vertex map' option isn't implemented, don't turn it on.
Also, the mirror Vmap function isn't optimized in any way, it simply loops through all points numerous times, comparing them all, so on big meshes, it may take quite a while to finish.
VMAP TO SELECTION
This function will turn the selected vertex map into a point selection. In the settings, you can choose a treshold value. When clicking on the function, all points in the vmap that have a value equal to or greater than this treshold value will be selected, and all points with a lower weight wil be deselected.
BLUR VMAP
This funtion blurs the vmap values of the pointelection. It simply compares the vmap values of neighbouring points, and attenuates the weight of the point based on this. Ideal for smoothing out the edges of the yellow areas.
In the settings, you can define the amount of blur only, the radius setting isn't fully worked out. A blur amount of 100% means that a point will simply take on the average weight of all it's neighbours. When at 50%, the point's new weight will be a 50/50% mix of the original value and the average of it's neighbours, and is the 'ideal blur' setting.
MIMIC VMAP
This is another not fully worked out function, but it may come in handy. What it does, is it allows a vmap to mimic the mapping of another vmap, on another object. You need to define the source vmap in the settings, by having it selected, clicking on 'settings' and then clicking the 'Selected' button. Next you select the vertex map that should mimic this source, and click on 'Mimic Vmap'. Note that for this function to work, the source vmap should have a unique name, since VmapTools searches for this vertex map purely on a name-basis.
In the settings you can define the number of samples taken. With just one sample, Mimic simply looks for the closest point in the source and copies it's weight. With more samples, mimic looks for as much closest points as there are samples, then uses these values to come up with a weight for the point.
The 'create new vmap' option is not working, don't turn it on.
And again, this function isn't optimized in any way, so it can take some time to finish on dense meshes.
That's about all there is to it at the moment. I think even this barely worked-out plugin will make boning and weighing characters a complete joy, as compared to the standard c4d-way of vmap assignment. Drop me a note if you like it, or have suggestions, or anything. I can be reached at naam@happyship.com.
Cheers,
Naam