表达式是生成结果值的变量、运算符、函数和常量值的组合。您可以使用表达式的结果设置基本体属性值,改变 XGen 修改器的效果、控制 Ptex 贴图如何应用于描述,等等。您可以使用“XGen 表达式编辑器”(Expression Editor)创建新的表达式或加载预生成的表达式。
下面的表达式包含变量、函数、参数定义、注释和运算符。以下部分介绍了其中的每个组件。
$minLength = 1.0; # 0, 2 $maxLength = 5.0; # 0,10 rand($minLength, $maxLength)* $Pref #randomizes the min and max values.
在表达式中,变量是代表值的名称。这些值用于计算(例如在函数中),或用于设置属性值。您需要了解的关于变量的信息包括:
在上面的表达式中,$minLength 和 $maxLength 是局部变量名称,而 $Pref 是一个全局变量,用于表示绑定网格上的点。
局部变量可以具有任何名称,但为全局变量保留的名称除外。全局变量不需要声明。随着表达式变得越来越复杂,它们通常包含大量局部变量声明。
函数会为特定任务执行计算。函数执行计算所依据的输入值称为参数,这些参数可以为变量、常量或两者的组合。函数的参数括在括号 () 中,用逗号分隔每个输入值。
在上面的表达式中,rand () 随机函数使用 $minLength 和 $maxLength 变量生成随机值变量作为输入。
其他一些常用的函数包括 noise() 和 map()。表达式不始终包括函数。
参数定义和注释以英磅符号 (#) 开头,后跟数字和文字。在 XGen 表达式中,典型的参数定义可用于设定局部变量的值范围或 Ptex 贴图文件的 Texel 分辨率。在上面的示例中,# 0, 2 和 #0, 10 显示在局部变量声明后,用来定义变量的值范围(0 到 2 之间和 0 到 10 之间)。
注释可以包含任何文字,用于提供有关表达式的信息,使其更易于理解。例如,您可以添加注释来解释局部变量或函数计算的原因。在上面的示例中,注释 #randomizes the min and max values 描述了 rand() 函数计算。
运算符是一个符号,表示计算或计算顺序。运算符通常执行算术计算、比较和条件,如加法 (+)、乘法 (*)、小于 (<) 和大于 (>) 或等于 (=)。
若要开始在头发和毛发修饰以及景观场景中使用表达式,请参见基本表达式示例。