在运行时表达式中使用创建表达式值

 
 
 

运行时表达式无法读取您在创建表达式中定义的变量,除非您将该变量定义为全局变量。但是,您可以创建自定义属性,在创建表达式中为其赋值,然后在运行时表达式中读取或写入其值。

例如,假定您将粒子对象的位置指定给创建表达式中名为 $oldposition 的变量:

vector $oldposition = particleShape1.position;

然而,同一“粒子形状”(particle shape)节点的运行时表达式无法读取 $oldposition 变量的内容。要解决此问题,您可以为该对象创建一个属性,在创建表达式中为其赋值,然后在运行时表达式中使用该属性值。

例如,假定您创建一个名为 oldpos 的属性,并在创建表达式中为其指定以下位置:

particleShape1.oldpos = particleShape1.position;

您可以在运行时表达式中读取 particleShape1.oldpos 的值。

您无需创建一个属性来保留对象的初始位置。初始位置已存在于其名为 position0 的初始状态属性中。此属性不会显示在“表达式编辑器”(Expression Editor)“属性”(Attributes)列表中。