使属性可绘制

“可绘制属性”是一个节点属性,该属性已通过 Maya 中的 makePaintable 命令注册为可绘制。您注册一个属性后,它将存储在用户首选项中并在 Maya 会话之间和“绘制属性工具”(Paint Attributes Tool)的各个单独用途之间保持可绘制。将某个属性注册为可绘制属性的操作仅需您执行一次。使一个属性可绘制之后,“绘制属性工具”(Paint Attributes Tool)将在选定的曲面上自动查找该属性。

绘制属性应添加到“形状”节点 (pPlaneShape1),而不是“变换”节点 (pPlane1)。

例如:

// Add an attribute to paint
select pPlaneShape1; 
addAttr -ln "paintAttr" -dataType "doubleArray"; 
// Make it paintable 
makePaintable "mesh" "paintAttr"; 

注册可绘制属性

使用以下命令将一个属性注册为可绘制属性:

makePaintable [flags] <nodeType> <attrName>
nodeType

节点类型的名称,包含要使其成为可绘制属性的属性。

attrName

要使其成为可绘制属性的属性的名称。

标志

-sm/shapeMode string

该标志定义一个函数,当可绘制节点之间的匹配取决于绘制的形状时调用该函数。它用于类型 multi 的属性,其中第一个 multi 与形状索引(例如,簇节点)相对应。当前仅支持一个函数:变形器。默认情况下,该标志为空,这表示对于图形上的顶点,存在可绘制属性的直接索引。

-aa/altAttribute string

定义接收相同值的交替属性。您可以多次使用该标志。

-ui/uiName string

定义将显示在“绘制属性工具”(Paint Attributes Tool)设置编辑器和快捷菜单上的新可绘制属性的名称。默认值是属性名称。

-at/attrType string

定义可绘制属性类型。支持的类型包括:intArray、doubleArray、vectorArray、multiInteger、multiFloat、multiDouble 和 multiVector。

示例

  • 使 particle.mass 可绘制。
    makePaintable -attrType "doubleArray" "particle" "mass";
    
  • 使包含 myGoalPP 的用户界面名称的 particle.goalPP 可绘制。同时使 goalPP0 属性可绘制。
    makePaintable -ui "myGoalPP" -altAttribute "goalPP0" -attrType "doubleArray" "particle" "goalPP";
    
  • 使 weightGeometryFilter.weights 可绘制。将 weightGeometryFilter 定义为变形器节点。
    makePaintable -sm "deformer" "weightGeometryFilter" "weights";