You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maya 2020原生节点类枚举实现及整数切换输出需求咨询

Maya 2020 原生节点实现枚举式数值切换功能

直接使用Maya原生的Choice节点就能实现需求,它专门用于根据选择器值切换对应输入的输出,完全匹配你要的枚举式逻辑:

操作步骤

  • 创建Choice节点:在节点编辑器中创建Choice节点,或执行命令 createNode choice。
  • 配置输入数值:
    • 给Choice节点的input数组属性添加对应数量的元素(示例中需3个:input[0]、input[1]、input[2])。
    • 分别为每个input元素赋值:input[0]=1、input[1]=5、input[2]=3。
  • 设置切换控制:
    • 将整数类型的switch属性(可手动创建属性或用现有节点属性)连接到Choice节点的selector属性。selector的取值直接对应输入数组的索引:0对应第一个输入,1对应第二个,以此类推。
  • 获取结果:
    • Choice节点的output属性会自动输出selector值对应的输入数值,比如selector=0时输出1,selector=1时输出5。

脚本批量配置示例

如果需要快速批量设置,可使用以下代码:

MEL命令

// 创建Choice节点并设置参数
string $choice = `createNode choice`;
setAttr ($choice + ".input[0]") 1;
setAttr ($choice + ".input[1]") 5;
setAttr ($choice + ".input[2]") 3;

// 设置切换值为1,输出5
setAttr ($choice + ".selector") 1;
// 查看输出值
getAttr ($choice + ".output");

Python脚本

import maya.cmds as cmds

# 创建Choice节点
choice_node = cmds.createNode("choice")

# 批量设置输入数值
input_vals = [1, 5, 3]
for idx, val in enumerate(input_vals):
    cmds.setAttr(f"{choice_node}.input[{idx}]", val)

# 设置切换值为2,输出3
cmds.setAttr(f"{choice_node}.selector", 2)
# 获取并打印输出
print(cmds.getAttr(f"{choice_node}.output"))

内容的提问来源于stack exchange,提问作者MyHornCanPierceTheSky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:30:48