Download
Softimage|XSI 5.x Plugin.
lmWeightMapTools.v1.0p.zip - archive with the plugins (.spdl/.dll/.so) and source files.
Disclaimer
The software is released as is, without any written or implied warranty. The software cannot be redistributed without permission from LaMaison. The program will not be supported. LaMaison is not responsible for any damage or loss of data incurred by the use of this software. lmWeightMapTools was developed by Aloys Baillet for LaMaison.
Introduction
This document describe the lmWeightMapTools plugin wich is composed of numerous useful tools for animating XSI weightmaps.
They are, in alphabetical order:
| Name | Description | Useful for? | Type | Output | Inputs |
|---|---|---|---|---|---|
| Cache Map | Writes or reads weihgtmap values on disk or on RAM | Useful for heavy weightmap simulations and/or copying weightmap animations from one scene to another one. | Operator | Weightmap | Weightmap |
| Clusters Map | Creates a weightmap with value 1 where selected clusters are defined, and value 0 elsewhere. | Useful for cluster material blending in the RenderTree with a WeightMap lookup node. | Command | ||
| Expression Map | Evaluate an expression in LUA for each weightmap value, with up to 30 weightmaps connected. | Useful for creating complex weightmap mixs with position dependant values. | Operator | Weightmap | Weightmaps (up to 30); underlying Geometry |
| Gradient Map | Creates a weightmap which represent a gradient from a root cluster of vertices. The gradient propagation is computed with the mesh vertices neighbors. | Useful as a work base for combing hairs for exemple. | Command | ||
| Gradient Curve Map | Take up to 30 NurbsCurve as input and output the normalized u value of the closest nurbs point. | Useful for drawing complex and animated gradient maps. | Operator | Weightmap | Nurbs Curves (up to 30); underlying Geometry |
| Mix Map | Take up to 30 weightmaps as input and outputs the mathematical blending of all inputs. | Useful for mixing numerous weightmaps into one. | Operator | Weightmap | Weightmaps (up to 30) |
| Proximity Map | Takes up to 30 Nulls, NurbsCurves, NurbsSurfaces or PolygonMeshes as input and ouputs a value corresponding to the distance of each weightmap point to the connected geometries. | Useful for animating weightmap with XSI scene elements. | Operator | Weightmap | Primitives: nulls, meshes Nurbs Curves or Nurbs Surfaces; underlying Geometry |
| Smooth Map | Apply a smooth (a median blur) to a weightmap | Useful for smoothing effects driven by weightmaps. | Operator | Weightmap | Weightmap; underlying PolygonMesh |
| Tension Map | Creates a weightmap that takes a reference position of the underlying mesh and update it's values according to the difference of edge lenght | Useful for using with the Smooth deform operator in a rig for getting a skin sliding effect. | Operator | Weightmap | UserDataBlob (with reference pose stored) |
| Gradient Hair Comb | Comb hairs according to a gradient weightmap. | Useful for quick hair combing on complex meshes. | Operator | Hair primitive | Weightmap |
Installation
Windows/Linux: Install all the SPDL through the XSI Plugin Manager , then copy the lmWeightMapTools.dll/.so to your Application/Plugins directory - either User or Workgroup, depending on where you've installed the SPDLs.
Linux: On Linux you will also have to copy the lmWeightMapTools.so to your Application/bin/linux-x86 folder.
lmWeightMapTools Plugin Use
General thoughs on the plugin
All the functionnalities offered by this plugin are accessible by menu items found in the Get->Property->lmWeightMapTools menu.
All menu items just call custom commands and act according to what is in the current selection. This way you can script the weightmap tools as much as you want. If you want to have more details on the commands, just open an explorer, hit C to see the commands, go to the lmWeightMapTools_XX group of commands and double click on the one you are interested in to get its properties.
All the tools have been written in C++ for performance reasons. Remember that weightmaps can become really heavy when the meshes are growing up in complexity.
Most of the tools are Custom Operators applied to weightmaps. They are called every time the inputs change and the output is requested. Don't forget that in complex rigs it can introduce dependency cycles.
All the tools have been designed to work with full point clusters and partial point cluster.
Tips to know...
The vizualization of the weightmaps is driven by the Weightmap Generator operator, which is always lying on the base of a weightmap stack (if the weightmap is not frozen). If you want to be able to visualize negative values in red, you have to change the Weight Value Range values.

