Soft Cluster EX

Soft Cluster EX UI Preview

Soft Cluster EX Demo from xracz on Vimeo.

工具名: Soft Cluster EX
作者: Webber Huang
般本: 2.0.0
要求: Maya 2011 x64 or above
平台: Windows 64bit, Mac OS X, Linux 64bit



Soft Cluster EX基于python和C++编写,用于转换软选择为Cluster,并支持多种常见


1. 将 softSelectionQuery_<Version>-<Bit>.mll(或bundle) 放进 maya plugin 路径.
如:C:/Program Files/Autodesk/Maya<Version>/bin/plug-ins/

2. 将 softClusterEX 文件夹放进 maya script 路径.
*注意:如果之前有安装过1.x版本,请先删除 和 softClusterEX.pyc


import softClusterEX



- 简单、易于理解的UI
- 支持从polygon, nurbsSurface, nurbsCurve, subdiv 和 lattice创建Cluster
- 可选打开/关闭不希望被影响的类型
- 支持多选,Global模式下即使影响多个不同类型的物体也能创建Cluster
- 切换Falloff模式
- Global模式下可排除不希望被影响的物体和组
- 场景里存在大量重命名物体也没关系
- 即使在高分辨率模型上创建soft cluster也具备极高的性能
- 支持对所有常见可变形物体做局部或者世界空间的cluster镜像


- Soft Cluster EX的核心功能来自自定义命令(custom command)”softSelectionQuery”,

- Synopsis: softSelectionQuery [flags] [String...]
-ant -apiNodeTypes: 获取被影响物体的api类型名
-ap -allPaths: 获取被影响物体的相对路径名,用于应对重命名的情况
-c -count: 获取被影响物体总数
-cmp -components: 获取被影响的点
-exo -excludeObjects String (multi-use): 设置被排除的物体,支持列表
-l -long: 获取被影响物体的绝对路径名,用于应对重命名的情况
-n -names: 获取被影响物体的名字
-nt -nodeTypes: 获取被影响物体的类型
-s -shapeNames: 获取被影响物体的shape节点名
-sap -shapeAllPaths: 获取被影响物体的shape节点相对路径,用于应对重命名的情况
-sl -shapeLong:  获取被影响物体的shape节点绝对路径,用于应对重命名的情况
-t -types String (multi-use): 设在可影响物体类型,支持列表
-w -weights: 获取被影响点的权重值



2014-07-25: v2.0.0 by Webber Huang
- 这是一个里程碑的版本,UI基本不变,但重新设计了结构和算法

- 基于Maya API和优化的数据结构,即使在高分辨率模型上创建soft cluster也只是一眨功夫

- 所有模型点都被cluster影响,而不像之前版本仅仅是软选择覆盖范围内的点被cluster控制,

- 基于KD-Tree算法构建的镜像功能, 无论是局部空间还是世界空间,都能快速准确的完成

- 注意:如果模型不是完美对称,镜像之后可能会有少量点不受cluster控制,目前我无法解决

2014-05-28: v1.1.1 by Webber Huang
- 支持Maya 2015 SP2,更新2014编译版本至SP4

2013-11-18: v1.1.0 by Webber Huang
- 支持Linux平台
- 可按组(group)排除物体,把组添加进排除列表,Global模式下组内的所有物体均被忽略

2013-10-27: v1.02 by Webber Huang
- 支持Mac OS X平台

2013-10-09: v1.01 by Webber Huang
- 1.00版因采用vs2012编译,版本过新,导致多数电脑无法正常加载softSelectionQuery插件,为保证最大兼容性,用vs2008重新编译了所有softSelectionQuery_<Version>-<Bit>.mll

2013-09-30: v1.00 by Webber Huang
- 首次发布



- 提升在高模创建Cluster的性能
- 支持排除整个组的物体
- 支持cluster与joint相互转换
- 镜像骨骼
- 通过软选择来重新定义权重




===========================English Translate===========================

Toolname: Soft Cluster EX
Author: Webber Huang
Version: 2.0.0
Requires: Maya 2011 x64 or above
Platform: Windows 64bit, Mac OS X, Linux 64bit



Soft Cluster EX is a python and c++ based tool for converting soft selection to
cluster, supports common types of deformable geometry(e.g. polygon,nurbs,subdiv
and lattice) with a lot of advance features.


1. Place softSelectionQuery_<Version>-<Bit>.mll(or bundle) into your maya plugin path.
e.g., C:/Program Files/Autodesk/Maya<Version>/bin/plug-ins/

2. Place softClusterEX folder into your maya script path.
e.g., C:/Users/YourUsername/Documents/maya/scripts/

*NOTE: Please remove and softClusterEX.pyc first if you’d installed
the 1.x version before.


import softClusterEX


General functionality:

- user friendly UI, easy to understand
- supports create cluster from polygon, nurbsSurface, nurbsCurve, subdiv and lattice
- all types can be toggled on/off from UI
- supports create cluster from multi objects of different type
- change falloff mode
- supports exclude influenced objects and groups while working on Global falloff mode
- supports objects with duplicate name
- ultra high performance, even working on massive density geometry
- mirror cluster in local or world space, also support working on
multiple types of deformable geometry

Command line:

- The core function of this tool come from the custom command “softSelectionQuery”,
you can use it to implement your own tools.

- Synopsis: softSelectionQuery [flags] [String...]
-ant -apiNodeTypes: return api type name of influenced objects
-ap -allPaths: return partial paths to nodes in DAG
-c -count: return count of influenced objects
-cmp -components: return components of influenced objects
-exo -excludeObjects String (multi-use): set exclude objects
-l -long: return full path names for Dag objects
-n -names: return names for Dag objects
-nt -nodeTypes: return type names of influenced objects
-s -shapeNames: return shape names of influenced objects
-sap -shapeAllPaths: return partial paths to shape nodes in DAG
-sl -shapeLong: return full path names for shapes
-t -types String (multi-use): set support types
-w -weights: return weights of influenced components


Update Log:

2014-07-25: v2.0.0 by Webber Huang
- A complete redisign of architecture, optimized codes and algorithms

- Base on Maya API and optimized data structure, this version achieves a significant
performance improvement when create cluster on massive density geometry

- All geometry vertices are binded to cluster, it means that no more necessary to use
“Edit Membership Tool” to append vertices to cluster, if you want some more
influence, just paint it

- A powerful mirror function has been implemented to enhance this tool, supports
all kind of common deformable geometry, base on kd-tree algorithm, it works fast
and reliable, so please feel free to play it with your wide imagination

- Notes that there may be a few vertices mis-binded(zero weight value) after perform
mirror operation, it happens when geometry is not perfect symmetry, i can’t solve
this issue in current, please paint it when you come across this situation, i hope
it won’t be such a troublesome problem to you, this function works perfect mostly

2014-05-28: v1.1.1 by Webber
- Nothing’s news, but support maya 2015 SP2 and update compile against 2014 SP4

2013-11-18: v1.1.0 by Webber Huang
- Add Linux compile version for softSelectionQuery plugin, it works on linux now

- Exclude objects by group supported, user can add groups into exclude list,
objects under these groups will be ignored while working on global mode

2013-10-27: v1.02 by Webber Huang
- Compiled softSelectionQuery plugin for OS X, mac user can play with it

2013-10-09: v1.01 by Webber Huang
- Issue of plugin loading failed,i re-compile all softSelectionQuery_<Version>-<Bit>.mll with vs2008 to maintain maximum compatibility

2013-09-30: v1.00 by Webber Huang
- Initial release



- performance improve when operate on high-res geometry
- supports exclude objects by groups
- supports convert cluster and joint into each other
- mirror joint
- re-define weights with soft selection



Bugs, questions and suggestions to


Soft Cluster EX on Creative Crash

2014-07-25: SoftClusterEX-
2014-05-28: SoftClusterEX-
2013-11-18: SoftClusterEX-
2013-10-27: SoftClusterEX-1.02.7z
2013-10-09: SoftClusterEX-1.01.7z
2013-09-30: SoftClusterEX-1.00