lm Weightmap Tools Documentation

Give Life to your Weightmaps

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

Get Property

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.