设定“粒子采样器信息”(Particle Sampler Info)节点属性

 
 
 

“粒子采样器信息”(Particle Sampler Info)节点属性提供了旧粒子颜色映射器、透明度映射器,白炽度映射器和年龄映射器的所有功能。请参见粒子采样器信息节点

设定“粒子采样器信息”(Particle Sampler Info)节点属性

  1. 选择粒子形状并显示“属性编辑器”(Attribute Editor)。单击“particleSamplerInfo”选项卡。

    粒子形状“属性编辑器”(Attribute Editor)中包含与该形状关联的每个“粒子采样器信息”(Particle Sampler Info)节点的选项卡。默认情况下,“属性编辑器”(Attribute Editor)中的两个区域:“公用只读属性”(Common Read-Only Attributes)“更多只读标量属性”(More Read-Only Scalar Attributes)列出了节点已知的属性。还可以使用自行定义的属性。

  2. 可以设定属性。

重用“粒子采样器信息”(Particle Sampler Info)节点

多数情况下,只需在第一次映射特定着色节点的属性时生成新“粒子采样器信息”(Particle Sampler Info)节点。如果决定随后要映射另一个属性,则可以重用现有“粒子采样器信息”(Particle Sampler Info)节点。

通过重用“粒子采样器信息”(Particle Sampler Info)节点,可以减少混乱。但是,如果希望用不同的属性设置来实现不同目的,可以使用多个“粒子采样器信息”(Particle Sampler Info)节点。

重用“粒子采样器信息”(Particle Sampler Info)节点

  1. 选择“窗口 > 渲染编辑器 > Hypershade”(Window > Rendering Editors > Hypershade)
  2. “Maya”“Hypershade”中,选择“工具”(Utilities),然后选择“粒子采样器”(Particle Sampler)
  3. 若要在节点上建立连接,请在“Hypershade”“工作区”(Work Area)执行以下操作之一:
    • 使用鼠标中键将节点拖动到着色节点上方。
    • 在节点上单击鼠标中键,并从弹出菜单中选择列出的连接:“默认”(Default)“其他”(Other)

      如果选择“默认”(Default)“其他”(Other),将显示“连接编辑器”(Connection Editor)以建立所需连接。

    提示

    如果无法确定“粒子采样器信息”(Particle Sampler Info)节点对应的着色器,请将着色器放在工作区中并使用“图形|向上”(Graph | Up)“下游连接”(Downstream Connections)显示关联的工具节点。

添加用户定义的属性

若要使用这些属性中的任何一个,必须将具有相同名称和类型的属性添加到粒子形状。

无法添加任意名称的属性并将其用于“粒子采样器信息”节点。但可以使用表达式,将任何属性的值指定给粒子采样器信息节点识别的属性。

添加用户定义的属性

  1. 创建一个发射器。
  2. 显示“属性编辑器”(Attribute Editor)并选择“属性 > 添加属性”(Attributes > Add Attributes)
  3. 单击“添加属性”(Add Attribute)窗口中的“粒子”(Particle)选项卡。
  4. 向下滚动列表并选择“userScalar#PP”“userVector#PP”属性。单击“添加”(Add)

样例 1

假设要使粒子在远离原点的位置产生更多噪波。为此,需要将着色器的噪波参数动画设定为粒子位置向量的幅值函数。

  1. 创建一个发射器。
  2. 选择粒子形状并将“粒子渲染类型”(Particle Render Type)设定为“云(s/w)”(Cloud(s/w))
  3. 显示“属性编辑器”(Attribute Editor)并选择“属性 > 添加属性”(Attributes > Add Attributes)
  4. 单击“添加属性”(Add Attribute)窗口中的“粒子”(Particle)选项卡。
  5. “userScalar1PP”属性添加到粒子形状。
  6. 使用此运行时表达式为其指定一个值(在动力学计算之前或之后):
     userScalar1PP = mag(position);
    
    提示

    尽管本示例使用了一个表达式来实现其效果。但也可以使用渐变来设定“userScalar1PP”动画。

  7. 选择粒子“属性编辑器”(Attribute Editor)中的 particleCloud1 选项卡。
  8. 单击“噪波”(Noise)属性旁边的 (贴图)按钮。

    将显示“创建渲染节点”(Create Render Node)窗口。

  9. “Maya”“创建渲染节点”(Create Render Node)窗口中,单击“工具”(Utilities)
  10. 在右侧面板中单击

    将显示“连接编辑器”(Connection Editor)

  11. “连接编辑器”(Connection Editor)的左侧列选择“userScalar1PP”,并在右侧列选择“噪波”(Noise)。单击“关闭”(Close)

    这会将“粒子采样器信息”(Particle Sampler Info)节点的“用户标量1 PP”(User Scalar1 PP)输出连接到着色器的“噪波”(Noise)输入。

    “粒子采样器信息”(Particle Sampler Info)节点将提取“userScalar1PP”的值并传递到噪波。在本示例中,我们使用一个表达式来为“userScalar1PP”指定值,但也可以用渐变来指定值。

  12. 添加灯光,播放场景。选择“窗口 > 渲染编辑器 > 渲染视图”(Window > Rendering Editors > Render View)并测试渲染。

样例 2

假设已具有名为 myNoise 的属性(已在其中写入表达式或连接到渐变),同时希望将此值传递到“粒子采样器信息”(Particle Sampler Info)节点。就应当执行以下操作:

  1. “userScalar1PP”属性添加到粒子形状。
  2. 将其添加为表达式的最后一行:
     userScalar1PP = myNoise;
    
  3. 选择粒子“属性编辑器”(Attribute Editor)中的 particleCloud1 选项卡。
  4. 单击“噪波”(Noise)属性旁边的 (贴图)按钮。

    将显示“创建渲染节点”(Create Render Node)窗口。

  5. “Maya”“创建渲染节点”(Create Render Node)窗口中,单击“工具”(Utilities)
  6. 在右侧面板中单击

    将显示“连接编辑器”(Connection Editor)

  7. “连接编辑器”(Connection Editor)的左侧列选择“UserScalar1 PP”,并在右侧列选择“噪波”(Noise)。单击“关闭”(Close)

    现在,“粒子采样器信息”(Particle Sampler Info)节点将提取“userScalar1 PP”,这将根据需要获取“myNoise”的值。使用表达式执行该操作,不要尝试直接将“myNoise”连接到用户定义的某个属性,如“userScalar1PP”“userVector1PP”