Python

允许您创建 Python 脚本以影响 MASH 网络。创建新的 Python 节点时,默认脚本将自动继承编辑器,该编辑器将 MASH 网络数据读取至一个“md”的类中。

查询属性列表如下所示:

例如,若要查询 MASH 网络中第五个对象的位置,则可使用以下代码:
md.position[5]
您还可以查询特定的轴。例如,若要仅查询 x 轴,则可使用以下代码:
md.position[5].x
注: ID 和 Visibility 数组将作为双精度存储。

用于编写的属性列表如下所示:

例如,若要设置第五个对象的 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]
getVectorArray(string channelName)、getDoubleArray(string channelName)、getIntArray(string channelName)
返回在参数中指定作为相关类型数组的通道的值。
setVectorArray(string channelName, array)、setDoubleArray(string channelName, array)、setIntArray(string channelName, array)
设置在参数中使用指定数组值来指定的通道的值。
getMatrix(int id)
返回 ID 指定的点的变换矩阵。
setMatrix(matrix, int id)
将指定的矩阵设置为 ID 指定的点。

高级函数

Python 节点具有 inputPoints 和 outputPoints 属性允许添加手动 Waiter 和 MASH_Repro 之间的节点。利用这些属性,您可以访问以下数组。

输入

输出

强度

强度(Strength)
同时减弱对所有点的节点效果。
随机强度(Random Strength)
按随机顺序平滑地减弱所有点的节点效果。
阶跃强度(Step Strength)
每次禁用一个点的节点效果。
强度贴图(Strength Map)
确定输入文件(2D 纹理、动画纹理等)来控制该节点的效果的形状。
贴图投影轴(Map Projection Axis)
确定投影“强度贴图”(Strength Map)时所沿的轴。
贴图辅助对象(Map Helper)
显示用于在场景中交互放置“强度贴图”(Strength Map)的对象。可以在该字段上单击鼠标右键来创建新的辅助对象(平面)(如果不存在)。还可以使用鼠标中键将网格拖入此字段,或者单击鼠标右键连接选定网格。如果网格已连接,还可以单击鼠标右键来断开其连接或者将其显示在大纲视图中。
注: 为获得最佳结果,请将相同的纹理指定给“强度贴图”(Strength Map)“贴图辅助对象”(Map Helper)(在创建新的辅助对象时将自动执行此操作)。