MAXScript - tyFlow for 3dsMax
MAXScript - tyFlow for 3dsMax
tyFlow 信息
- tyFlow_version(): 返回当前安装的tyFlow DLO文件的版本号。
- tyFlow_found_in_scene(): 返回有关场景中活动tyFlow类(对象、修改器等)数量的信息。
tyFlow 许可
- tyFlow_activate_license(): 尝试激活tyFlow PRO许可证(tyFlow.cfg必须已存在并包含有效的许可证密钥或服务器地址)。tyFlow_deactivate_license(): 尝试停用激活的tyFlow PRO许可证。tyFlow_license_activated():如果当前激活了tyFlow PRO许可证,则返回1;如果未激活,则返回0。
MAXScript 编辑器访问
tyFlow对象具有MAXScript接口,可用于操作其编辑器窗口。
- [obj].editor_open(): 打开tyFlow编辑器GUI。[obj].reset_simulation():重置tyFlow模拟并清除缓存。
MAXScript 粒子访问
tyFlow和tyCache对象都具有可用于读取粒子数据的MAXScript接口。
准备粒子
- [obj].updateParticles {frame}: 准备粒子数据以便在特定帧进行MAXScript访问。
警告:
访问粒子数据之前,必须调用tyFlow或tyCache对象的updateParticles函数。
- [obj].numParticles():返回准备帧处的粒子数。
单个粒子数据
单个粒子的数据可以通过其索引进行访问。有效的粒子索引(对于至少有1个粒子的tyFlow/tyCache对象)范围从1到[obj].numParticles()。
注释:
粒子指数是基于1,而不是基于0!
提示:
对于优化的粒子访问,请使用“getAllXXX”函数接收一个数组,该数组填充了特定特性的所有粒子数据。获取和迭代该数组将比按索引重复调用每个粒子的属性访问函数快得多。
- [obj].getParticleID {index} :返回指定的粒子指数的不朱名。
- [obj].getAllParticleIDs() :返回准备好的框架的所有粒子ID的数组。
- [obj].getParticleAge {index} :返回指定粒子指数的年龄(帧)。
- [obj].getAllParticleAges() :返回已准备好的框架的所有颗粒年龄(在框架中)的阵列。
- [obj].getParticleTM {index} :返回指定粒子指数的变换。
- [obj].getAllParticleTMs() :为准备好的框架返回一个所有粒子变换的数组。
- [obj].getParticlePosition {index} :返回指定粒子指数的位置。
- [obj].getAllParticlePositions() :返回准备好的框架的所有粒子位置的阵列。
- [obj].getParticleScale {index} :返回指定粒子指数的比例尺。
- [obj].getAllParticleScales() :返回准备好的框架的所有颗粒尺度的阵列。
- [obj].getParticleVelocity {index} :返回指定粒子指数的速度(单位/帧)。
- [obj].getAllParticleVelocities() :返回准备好的框架的所有粒子速度的阵列。
- [obj].getParticleShapeMesh {index} :返回指定粒子指数的三角网格。
- [obj].getAllParticleShapeMeshes() :返回准备好的框架的所有粒子三元网格的阵列。
- [obj].getParticleMass {index} :返回指定粒子指数的质量值。
- [obj].getAllParticleMasses() :返回已准备好的框架的所有帕里克尔质量值的数组。
- [obj].getParticleMatID {index} :返回指定粒子索引的材料ID覆盖。
- [obj].getAllParticleMatIDs() :返回所有粒子材料的数组,为准备好的框架覆盖。
注释:
材质ID替代值为0表示没有为粒子指定替代。
- [obj].getParticleInstanceID {index} :返回指定粒子索引的实例ID。
- [obj].getAllParticleInstanceIDs() :返回准备好的框架的所有粒子实例ID的数组。
- [obj].getParticleSimGroups {index} :返回指定粒子索引的模拟组比特标记。
- [obj].getAllParticleSimGroups() :返回准备好的框架的所有粒子模拟组比特标记ID的数组。
- [obj].getParticleExportGroups {index} :返回指定粒子索引的导出组比特标记。
- [obj].getAllParticleExportGroups() :返回准备好的框架的所有粒子导出组比特标记ID的数组。
- [obj].getParticleUVWChannels {index} :返回指定粒子索引的映射通道覆盖索引。
- [obj].getAllParticleUVWChannels() :返回已准备好的框架的所有粒子映射通道覆盖索引的数组。
- [obj].getParticleUVW {index | channel}:返回指定粒子索引的映射通道覆盖值。
- [obj].getAllParticleUVWs {channel} :返回已准备好的框架的所有粒子映射通道覆盖值的数组。
以下是一个示例脚本, s显示了如何在第15帧访问名为“tyFlow001”的tyFlow对象的单个粒子变换:
tf = $tyFlow001
tf.updateParticles 15
numParticles = tf.numParticles()
tms = tf.getAllParticleTMs()
for j in 1 to numParticles do
(
tm = tms[j]
)