2006/09/03 | [DF]DF表达式 教程
类别(软件杂烩) | 评论(0) | 阅读(144) | 发表于 18:40
Digital Fusion的表达式(help翻译)
这是Dfusion3.12版本中Expressions(表达式)修饰工具的面板和参数介绍,希望对大家有用 。

Expressions(表达式)修饰工具
表达式修饰工具是众多修饰工具中操作最复杂的工具,但是它有更大的操作弹性,能够提供9个控制变量和9个位置变量的链接,用户可以输入数学表达式和使用数学函数计算链接的变量,并最终得到一个结果值。
Controls(控制)标签面板
控制标签面板用来初始化表达式工具的控制和位置变量,共有9个位置变量和9个控制变量,控制变量所代表的是一个数值,可以用到工具的控制滑块上面,位置变量代表的是一个位置坐标,可以应用与位置相关的参数上面。
Point In 1-9(坐标点1-9)
每一个坐标点都可以记录一个坐标位置,可以被手动修改或链接到其他位置数据上面,它们在表达式工具的变量名称分别为p1x、p1y、p2x、p2y......p9x和p9y。
Number In 1-9(数值1-9)
每一个坐标点都可以记录一个数值,可以被手动修改或链接到其他控制值上面,它们在表达式工具的变量名称分别为n1、n2、n3......n8和n9。
Number Out(数值输出)标签面板
在该标签面板的书写区域中,用户可以运用运算符号和数学函数书写自己的数学表,计算元素为Point(坐标点)变量和Number(数值)变量,并且输出一个结果值,这个结果为数值数据,能够被工具的控制滑块链接引用。
Point Out(坐标点输出)标签面板
在该标签面板的两个书写区域中,用户可以运用运算符号和数学函数书写自己的数学表,计算元素为Point(坐标点)变量和Number(数值)变量,Point Expression X书写区中的表达式结果会输出一个X坐标数据,Point Expression X书写区中的表达式结果会输出一个Y坐标数据,能够被工具的位置参数链接引用。
Config(配置)标签面板
Random Seed(随机速率):拖拽该滑块可以改变表达式中的随机速度率(随机种子),只有在表达式中含有Rand(随机)函数时,该滑块值才会产生实质性的作用。
Point Controls(坐标点控制)和Number Controls(数值控制):这两个控制参数用来设置Controls(控制)标签面板中坐标点和数值变量的名称和可用数量,在Config(配置)标签面板中设置的变量名称只供Controls(控制)标签中显示使用,并不会影响坐标点和数值变量在表达式中的实际名称。
表达式中的变量名称
n1-n9:依次为9个数值变量的变量名称。
p1x- p9x:依次为9个坐标点在X方向上的变量名称。
p1y- p9y:依次为9个坐标点在Y方向上的变量名称。
time:时间变量,能够获得当前所处的时间(帧数字)。
运算操作
在下面的例子中x、y为2个虚拟的数值(变量或常量)。
!x:非运算,比如x=1.0,那么!x=0.0。
-x:取负运算,如果x=-0.1,那么-x=0.1
+x:取正运算,没有什么实际意义,可以省略不写,例如+9可以写成9。
x^y:乘方运算,如果x=2.0,y=3.0,那么x^y=8.0。
x*y:相乘运算,如果x=1.0,y=0.15,那么x*y=0.15。
x/y:相除运算,如果x=1.0,y=2.0,那么x/y=0.5。
x%y:取模运算,得到两值相除后的余数,如果x=5.0,y=2.0,那么x%y=1.0。
x+y:相加运算,如果x=1.5,y=0.5,那么x+y=2.0。
x-y:相减运算,如果x=1.5,y=3.0,那么x-y=-1.5。
x<y:判断运算,如果x的值小于y,将会得到一个1.0的值,否则将得到一个0.0的值。
x>y:判断运算,如果x的值大于y,将会得到一个1.0的值,否则将得到一个0.0的值。
x<=y:判断运算,如果x的值小于或等于y,将会得到一个1.0的值,否则将得到一个0.0的值。
x>=y:判断运算,如果x的值大于或等于y,将会得到一个1.0的值,否则将得到一个0.0的值。
x=y:判断运算,如果x的值等于y,将会得到一个1.0的值,否则将得到一个0.0的值。
x==y:判断运算,如果x的值等于y,将会得到一个1.0的值,否则将得到一个0.0的值,与x=y的作用意义相同。
注意:因为表达式工具的每个表达式都有固定的数据输出,比如Number Out(数值)标签面板中表达式的运算结果将会输出一个数值数据,所以Digital Fusion没有赋值运算符,"="被视为判断运算符。
x<>y:判断运算,如果x的值不等于y,将会得到一个1.0的值,否则将得到一个0.0的值。
x!=y:判断运算,如果x的值不等于y,将会得到一个1.0的值,否则将得到一个0.0的值,与x<>y的作用意义相同。
x&y:逻辑与运算,如果x、y的值都不为0.0,将会得到一个1.0的值,否则将得到一个0.0的值。
x&&y:逻辑与运算,如果x、y的值都不为0.0,将会得到一个1.0的值,否则将得到一个0.0的值,与x&y的作用意义相同。
x | y:逻辑或运算,如果x、y的值有一个或两个都不为0.0,将会得到一个1.0的值,如果x、y值都为0.0,将会得到一个0.0的值。
x || y:逻辑或运算,如果x、y的值有一个或两个都不为0.0,将会得到一个1.0的值,如果x、y值都为0.0,将会得到一个0.0的值,与x | y的作用意义相同。
数学函数
在下面的例子中,x、y和z为3个虚拟的数值(变量或常量)。
pi:获得圆周率π的值,精确度为6位浮点小数(3.141593)。
e:自然对数的底,值约为2.71828,数学中读作欧拉。
log(x):反回x的自然对数值。
sin(x):获得x的正弦值。
cos(x):获得x的余弦值。
tan(x):获得x的正切值。
asin(x):获得x的反正弦值。
acos(x):获得x的反余弦值。
atan(x):获得x的反正切值。
atan(x,2):获得x,y的反正切值。
abs(x) :取x的绝对值。
Int(x):将x转换为一个整数。
frac(x):将x转换为一个分数。
sqrt(x):求取x的平方根。
rand(x,y):在x、y值的范围内产生一个随机值,使用这个函数时,可以在Config(配置)标签面板中使用Random Seed滑块调整随机速率。
rands(x,y,s):在x、y值的范围内产生一个随机值,并把s值作为随机速率。
min(x,y):比较x、y值的大小,然后取一个最小值。
max(x,y):比较x、y值的大小,然后取一个最大值。
dist(x1,y1,x2,y2):获取x坐标点和y坐标点之间的距离值,x1、y1为x、y坐标点在视图中的X坐标值,x2、y2为x、y坐标点在视图中的Y坐标值。
if(c, x, y):如果c 不等于0,返回x的值,否则返回y的值。
0

评论Comments