允许您创建 Python 脚本以影响 MASH 网络。创建新的 Python 节点时,默认脚本将自动继承编辑器,该编辑器将 MASH 网络数据读取至一个“md”的类中。
查询属性列表如下所示:
- position
- scale
- rotation
- id
- visibility
例如,若要查询 MASH 网络中第五个对象的位置,则可使用以下代码:
md.position[5]
您还可以查询特定的轴。例如,若要仅查询 x 轴,则可使用以下代码:
md.position[5].x
注: ID 和 Visibility 数组将作为双精度存储。
用于编写的属性列表如下所示:
- outPosition
- outScale
- outRotation
- outId
- outVisibility
例如,若要设置第五个对象的 Y 位置,则可以使用以下代码:
outPosition[5].y = 5
或者,若要使同一对象不可见,请执行以下操作:
outVisibility[5] = 0
其中,值 1 表示可见;值 0 表示不可见。
辅助对象函数
以下是列表中的内置辅助对象函数以使特定任务的速度更快。
-
计数(Count)
- 返回 MASH 点数。
-
getFrame()
- 返回当前帧编号。
-
getFalloffsCount
- 返回数字的衰减对象连接到该 Python 节点。
-
getFalloff (int Index )
- 从指定的衰减对象中返回强度列表。
例如,若要查询第一个衰减对象的强度数组,则可使用以下代码:
fallofs=md.getFalloff(0)
然后,可以使用以下代码将衰减强度应用于点位置:
for i in range(count):
md.outPosition[i].x=md.position[i].x*fallofs[i]
md.outPosition[i].y=md.position[i].y*fallofs[i]
md.outPosition[i].z=md.position[i].z*fallofs[i]
-
ChannelName getVectorArray(字符串), getDoubleArray(字符串)、 channelName getIntArray(字符串 channelName )
- 返回在参数中指定作为相关类型数组的通道的值。
-
ChannelName setVectorArray(字符串,阵列), setDoubleArray(字符串 channelName、阵列), setIntArray(字符串 channelName”、“阵列” )
- 设置在参数中使用指定数组值来指定的通道的值。
-
getMatrix(int id)
- 返回 ID 指定的点的变换矩阵。
-
setMatrix(matrix, int id)
- 将指定的矩阵设置为 ID 指定的点。
高级函数
Python 节点具有 inputPoints 和 outputPoints 属性允许添加手动 Waiter 和 MASH_Repro 之间的节点。利用这些属性,您可以访问以下数组。
输入
- 颜色
- uvTile
- frame
- isAnimated
- velocity
输出
- outColor
- outUvTile
- outFrame
- outIsAnimated
- outVelocity