在分析器中使用标记标识节点

为了更方便地找出性能瓶颈,可对节点进行标记,使其以可标识的颜色和名称(例如“手臂”、“面”等)显示在分析器中。 可通过添加两个元数据集创建标记:一个用于节点名称,一个用于指定颜色。 有关使用元数据标识 Maya 网格对象的 Maya 节点以及组件(顶点、面、边和顶点面)的详细信息,另请参见将元数据添加到 Maya 节点可视化元数据

在 Maya 的脚本编辑器(Script Editor)中,只能使用以下 MEL 脚本添加分析器标记:

标记对象使其出现在分析器中

  1. 加载场景文件。
  2. 脚本编辑器(Script Editor)中,执行以下 MEL 脚本:
    global proc addProfilerTag(string $tagValue, int $r, int $g, int $b)
    {
        // Add the profile tag data structures we need
        dataStructure -format "raw" -asString "name=NodeProfileStruct:string=NodeProfileTag:int32=NodeProfileTagColor";
        
        // set the channels
        addMetadata -streamName "ProfileTagStream" -channelName "ProfileTag" -structure "NodeProfileStruct";
        addMetadata -streamName "ProfileTagColorStream" -channelName "ProfileTagColor" -structure "NodeProfileStruct";
        
        // set the actual data
        editMetadata -streamName "ProfileTagStream" -memberName "NodeProfileTag" -channelName "ProfileTag" -stringValue $tagValue -index 0;
        
        editMetadata -streamName "ProfileTagColorStream" -memberName "NodeProfileTagColor" -channelName "ProfileTagColor" -value $r -index 0;
        editMetadata -streamName "ProfileTagColorStream" -memberName "NodeProfileTagColor" -channelName "ProfileTagColor" -value $g -index 1;
        editMetadata -streamName "ProfileTagColorStream" -memberName "NodeProfileTagColor" -channelName "ProfileTagColor" -value $b -index 2;    
    
  3. 必须使用以下脚本选择要标记的场景元素:
    select -r <elementname>;

    其中 <elementname> 为场景中的元素名称。 例如,对于名称为 secondBlendShape 的对象,使用:

    select -r secondBlendShape;
    注: 必须使用此脚本选择该元素。 无法通过在视口中选中“分析器”(Profiler)的元素对其进行标记。
  4. 执行以下脚本以设置名称和颜色:
    addProfilerTag("Blendshape2", 255, 0, 200);
    
    getMetadata -streamName "ProfileTagStream" -memberName "NodeProfileTag" -channelName "ProfileTag" -index "0";
  5. 打开“分析器”(Profiler),单击“开始录制”(Start Recording),然后播放动画
  6. 捕捉少量动画后,单击“停止录制”(Stop Recording)
该标记将出现在“分析器”(Profiler )中。选择该标记时,输出中的所有相关数据都将处于选中状态。