支点描画器 材质函数使您能够接入支点描画器 MAXScript ,后者将旋转信息存储在网格的顶点中。这种方法非常适合于处理静态网格上的动态运动。
虽然没有这些函数也可以利用支点描画器所提供的数据,但这些函数确实让使用过程更为简单。
支点描画器函数
以下是“支点描画器”类别下所有函数的列表。
PivotPainter_HierarchyData(支点描画器_层次结构数据)
处理并组织支点描画器 MAXScript 存储在模型 UV 中的全局位置及角度信息。这个特定的函数专门用来处理对象层次结构。
项目 | 说明 |
---|---|
输入 | |
父代支点的最大距离(标量)(Max Dist for Parent Piv (Scalar)) | 这个值应该与绘制资产时 MAXScript 旋钮“父代支点的最大距离”(Max Dist for Parent Piv)中使用的值匹配。 |
输出 | |
父代支点位置(Parent Piv Position) | 返回全局空间中每个父代的支点信息。子代将返回其所连接的父代的支点信息。 |
父代 X 轴矢量(Parent X Axis Vector) | 返回指向父代 X 轴的规范化矢量。 |
子代支点位置(Child Piv Position) | 返回全局空间中每个子代的支点位置信息。父代将返回值 (0,0,0)。 |
子代 X 轴矢量(Child X-Axis Vector) | 返回指向父代 X 轴的规范化矢量。 |
对象支点(Object Pivot Point) | 对象支点的位置。 |
对象方向(Object Orientation) | 对象的方向。 |
对象比例(Object Scale) | 对象的比例。 |
对象黑色蒙版(Object Black Mask) | (当前不工作)返回由支点描画器工具绘制为黑色的表面的黑色值。 |
PivotPainter_PerObjectData(支点描画器_每个对象的数据)
处理并组织支点描画器 MAXScript 存储在模型 UV 中的全局位置及角度信息。这个特定的函数设计成逐个对象地进行处理。
项目 | 说明 |
---|---|
输出 | |
支点位置(Pivot Position) | 返回全局空间中每个元素的支点信息。 |
子代 X 轴(Child X-Axis) | 返回指向元素 X 轴的规范化矢量,它从支点指向网格的平均中心。 |
每个元素的随机值(Random Value Per Element) | 返回每个元素的随机值(处于 0-1 范围内)。 |
定制阿尔法值(Custom Alpha Values) | 返回模型的顶点阿尔法通道中存储的定制衰减值。 |
对象比例(Object Scale) | 返回与对象的统一比例相等的比例值。 |
PivotPainter_PerObjectFoliageData(支点描画器_每个对象的植物叶子数据)
处理并组织支点描画器 MAXScript 存储在模型 UV 中的全局位置及角度信息。此函数专门用于处理个别植物叶子对象。
项目 | 说明 |
---|---|
输入 | |
风矢量(矢量 4)(Wind Vector (Vector4)) | 接收风向及量级的传入矢量。 |
针对植物叶子布局进行优化(静态布尔值)(Optimized for Foliage Placement (StaticBool)) | 如果您已使用支点描画器在选中“针对植物叶子布局进行优化”(Optimize for Foliage Placement)选项的情况下处理网格,请设置为 true。默认值为 false。 |
优化矢量(矢量 3)(Optimized Vector (Vector3)) | 请输入要用作元素旋转轴的局部矢量。仅当 针对植物叶子布局进行优化(Optimized for Foliage Placement)输入设置为 true 时,此输入才有效。 |
输出 | |
支点位置(Piv Position) | 返回全局空间中每个元素的支点信息。 |
元素旋转轴(Element Rot Axis) | 返回要与 "RotateAboutAxis"(绕轴旋转)节点配合使用的分支旋转轴。叶子将返回相同的信息。注:角度是通过将矢量沿着分支 X 轴从局部空间转换到全局空间来确定的。然后,确定风向与所转换矢量之间的矢量积。 |
元素 X 轴(Element X-Axis) | 返回指向元素 X 轴的规范化矢量。这个矢量从支点指向网格的平均中心。 |
每个元素的随机值(Random Value Per Element) | 返回每个元素的随机值(处于 0-1 范围内)。 |
定制阿尔法值(Custom Alpha Values) | 返回模型的顶点阿尔法通道中存储的定制衰减值。 |
规范化风矢量(Normalized Wind Vector) | 风向及量级的矢量(规范化到 0-1)。 |
风速(Wind Speed) | 输出风速乘以时间再乘以 -1。 |
风力(Wind Strength) | 返回风力。风矢量的量级是通过计算从风矢量到 0 的距离来确定的。 |
对象比例 XYZ(Object Scale XYZ) | 返回与对象的统一比例相等的比例值。 |
统一对象比例(Uniform Object Scale) | 返回与对象的统一比例相等的比例值。 |
PivotPainter_TreeData(支点描画器_树数据)
处理并组织支点描画器脚本存储在模型 UV 中的全局位置及角度信息。以 树(tree)开头的输出用于处理由支点描画器 MAXScript 存储的模型 UV 信息。以 叶(Leaf)开头的输出用于处理由脚本中每个对象的支点描画部分存储的 UV 信息。
项目 | 说明 |
---|---|
输入 | |
风矢量(矢量 3)(WindVector (Vector3)) | 这是风向。 |
父代支点的最大距离(标量)(Max Dist for Parent Piv (Scalar)) | 这个值应该与绘制资产时 MAXScript 旋钮“父代支点的最大距离”(Max Dist for Parent Piv)中使用的值匹配。 |
输出 | |
分支支点位置(Branch Piv Position) | 返回全局空间中每个分支的支点信息。叶子将返回其所连接的分支的支点信息。 |
分支风旋转轴(Branch Wind Rot Axis) | 返回要与 "RotateAboutAxis"(绕轴旋转)节点配合使用的分支旋转轴。叶子将返回相同的信息。注:角度是通过将矢量沿着分支 X 轴从局部空间转换到全局空间来确定的。然后,确定风向与所转换矢量之间的矢量积。 |
分支 X 轴矢量(Branch X-Axis Vector) | 返回指向分支 X 轴的规范化矢量。除非定制矢量计算需要此输入,否则植物叶子动画通常不需要此输入。 |
分支流梯度(Branch Flow Grad) | 返回风向中的梯度值。 |
分支流梯度旋转 90 度(Branch Flow Grad 90 Deg) | 返回全局空间中与风向之间存在 90 度夹角的梯度值。 |
叶子支点位置(Leaf Piv Position) | 返回全局空间中每个叶子的支点位置信息。分支将返回值 (0,0,0)。 |
叶子旋转轴(Leaf Rot Axis) | 返回要与 "RotateAboutAxis"(绕轴旋转)节点配合使用的叶子旋转轴。分支将返回 (0,0,0)。注:角度是通过将沿着叶子 X 轴的矢量从局部空间转换到全局空间来确定。然后,确定风向与所转换矢量之间的矢量积。 |
叶子 X 轴矢量(Leaf X-Axis Vector) | 返回指向分支 X 轴的规范化矢量。除非定制矢量计算需要此输入,否则植物叶子动画通常不需要此输入。 |
叶子蒙版(Leaf Mask) | 对于叶子,返回白色的蒙版。所有分支均为黑色。 |
叶子流梯度(Leaf Flow Grad) | 返回风向中的梯度值。 |
叶子流梯度旋转 90 度(Leaf Flow Grad 90 deg) | 返回全局空间中与风向之间存在 90 度夹角的梯度值。 |
对象支点(Object Pivot Point) | 返回对象的支点位置。 |
对象方向(Object Orientation) | 返回对象的方向。 |
对象旋转轴(Object Rotation Axis) | 返回对象的旋转轴。 |
对象比例(Object Scale) | 返回对象的比例。 |
对象流梯度(Object Flow Grad) | 与全局空间中对象级别的风矢量一致的梯度。 |
对象流梯度旋转 90 度(Object Flow Grad 90 deg) | 与全局空间中对象级别的风矢量一致并旋转 90 度的梯度。 |
风力(WindStrength) | 返回风力。风矢量的量级是通过计算从风矢量到 0 的距离来确定的。 |
规范化风矢量(Normalized Wind Vector) | 返回量级介于 0 与 1 之间的规范化风矢量。 |
风速(WindSpeed) | 风速乘以时间。 |
黑色蒙版(Black Mask) | 返回由支点描画器工具绘制为黑色的表面的黑色值。此蒙版仅在顶点着色器中工作。 |