XGen 表达式基础知识

表达式是生成结果值的变量、运算符、函数和常量值的组合。您可以使用表达式的结果设置基本体属性值,改变 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.

变量

在表达式中,变量是代表值的名称。这些值用于计算(例如在函数中),或用于设置属性值。您需要了解的关于变量的信息包括:

  • 变量可以是局部变量(即用户定义的变量),或全局变量(表示由 XGen 设定的固定值)。
  • 局部和全局变量名称由美元符号 ($) 后跟一个唯一的名称组成。

    在上面的表达式中,$minLength$maxLength 是局部变量名称,而 $Pref 是一个全局变量,用于表示绑定网格上的点。

  • 局部变量必须在以分号 (;) 结尾的语句中声明,如在 $minLength = 1.0;$maxLength=5.0; 中。

    局部变量可以具有任何名称,但为全局变量保留的名称除外。全局变量不需要声明。随着表达式变得越来越复杂,它们通常包含大量局部变量声明。

函数

函数会为特定任务执行计算。函数执行计算所依据的输入值称为参数,这些参数可以为变量、常量或两者的组合。函数的参数括在括号 () 中,用逗号分隔每个输入值。

在上面的表达式中,rand () 随机函数使用 $minLength$maxLength 变量生成随机值变量作为输入。

其他一些常用的函数包括 noise()map()。表达式不始终包括函数。

参数定义和注释

参数定义和注释以英磅符号 (#) 开头,后跟数字和文字。在 XGen 表达式中,典型的参数定义可用于设定局部变量的值范围或 Ptex 贴图文件的 Texel 分辨率。在上面的示例中,# 0, 2#0, 10 显示在局部变量声明后,用来定义变量的值范围(0 到 2 之间和 0 到 10 之间)。

注释可以包含任何文字,用于提供有关表达式的信息,使其更易于理解。例如,您可以添加注释来解释局部变量或函数计算的原因。在上面的示例中,注释 #randomizes the min and max values 描述了 rand() 函数计算。

运算符

运算符是一个符号,表示计算或计算顺序。运算符通常执行算术计算、比较和条件,如加法 (+)、乘法 (*)、小于 (<) 和大于 (>) 或等于 (=)。

若要开始在头发和毛发修饰以及景观场景中使用表达式,请参见基本表达式示例

相关主题