xgen 表达式和pythonAPI
xgen    2018-06-13 11:19:33    1137    0    1
janhui   xgen

XGen 表达式

XGen 中的许多属性都是表达式。表达式是一种非常灵活的方式,用来指定如何根据函数调用和算术运算的组合来计算属性。最简单的表达式是恒定浮点值。稍微复杂些的表达式是计算结果为浮点值的数学表达式。

运算符

表达式能够识别的算术运算符包括:

+、-、*、/、% (fmod)和 ^(幂)

[x,y,z]     向量构造函数 
V[n]        向量分量访问 
x ?y : z  条件运算符 (if x then y else z) 
x && y     AND 比较 
x || y     OR 比较 
x == y     等式测试 
x != y       不等式测试 
x > y       比较 
x < y       比较 
x >= y      比较 
x <= y      比较 
!x          逻辑否

任何级别的圆括号都可用于确定计算顺序。

注:

在表达式后面可附加井号(例如“#”)以指示其末尾。因此,可以将注释或表达式的替代版本放在井号后面。

变量

有一组变量用于描述可在表达式中使用的基础面片信息。可使用向量形式的向量,也可引用各个分量。例如, $N 指曲面法线向量,而 $N[0] 指法线向量的 x 分量。

浮点数

  • $u、$v - 基本曲面的 U 和 V 参数。
  • $cLength - 当前基本体最终计算得出的长度。
  • $cWidth - 当前基本体最终计算得出的宽度。
  • $cDepth - 当前基本体最终计算得出的深度,没有置换。
  • $frame - 要计算的当前帧。此值应谨慎使用,建议不要跨帧对某些属性进行更改(例如,长度和密度),因为这会使运动模糊计算无法实现。
  • $id - 当前基本体的 ID(用于 FX 模块)。

向量

  • $P - 要在其位置计算基本体的曲面点。
  • $Pg - 没有置换的曲面点。
  • $Pref - 要在其位置计算基本体的引用曲面点。
  • $Prefg - 没有置换的引用曲面点。
  • $Pw - 要在其位置计算基本体的曲面点。世界空间。
  • $Pgw - 没有置换的曲面点。世界空间。
  • $Prefw - 要在其位置计算基本体的引用曲面点。世界空间。
  • $Prefgw - 没有置换的引用曲面点。世界空间。
  • $N - 要在其位置计算基本体的曲面法线。
  • $Ng - 没有置换的曲面法线。
  • $Nref - 要在其位置计算基本体的引用曲面法线。
  • $Nrefg - 没有置换的引用曲面法线。
  • $dPdu - 要在其位置计算基本体的曲面 dPdu。
  • $dPdug - 没有置换的曲面 dPdu。
  • $dPduref - 要在其位置计算基本体的引用曲面 dPdu。
  • $dPdurefg - 没有置换的引用曲面 dPdu。
  • $dPdv - 要在其位置计算基本体的曲面 dPdv。
  • $dPdvg - 没有置换的引用曲面 dPdv。
  • $dPdvref - 要在其位置计算基本体的引用曲面 dPdv。
  • $dPdvrefg - 引用曲面 dPdv。
注:

由于置换变量的值(例如 P 和 N)取决于置换、偏移和凹凸表达式的值,因此不能在这些表达式中使用这些变量。如果要使用基于点的噪波或需要使用基础曲面中的值的任何其他表达式,则应使用 g 变量,如 Prefg 和 Nrefg。

函数

有一组函数调用可在表达式中使用。所有参数都可作为子表达式。如果表达式需要向量参数,请以大写形式提供输入值。如果将标量传递到需要向量的函数,则使用在所有三个通道具有相等值的向量(例如,length(2) == length([2,2,2]))。

将向量传递到标量运算时,会以分量形式执行运算(例如, cos(X) = [cos(X[0]),cos(X[1]),cos(X[2])])。这包括算术运算(例如, X*Y = [X[0]*Y[0],X[1]*Y[1],X[2]*Y[2]])。比较和条件仅使用 [0] 分量。相等测试(==、!=)会比较所有三个分量。函数中的任何标量结果都将为 [0] 分量。

下面定义中的方括号指明了可选参数:

abs(x)

x 的绝对值。

acos(x)

x 的反余弦,范围在 0 到 pi 弧度之间。

acosd(x)

x 的反余弦,范围在 0 到 180 度之间。

acosh(x)

x 的双曲余弦。

alignU([X]) alignV([X]) alignN([X])

将基本体与给定的向量对齐。这三个表达式应放置在 offU、offV 和 offN 中。如果没有传递参数,则使用默认值 [0,1,0],所得结果会“增长”。当传递参数时,会将同一参数传递给所有三个表达式。参数可以是表达式,无需进行规格化。

angle(X, Y)

向量之间的夹角(以弧度为单位)。

asin(x)

x 的反正弦,范围在 -pi/2 到 pi/2 弧度之间。

asind(x)

x 的反正弦,范围在 -90 到 90 度之间。

asinh(x)

x 的双曲正弦。

atan(x)

x 的反正切,范围在 -pi/2 到 pi/2 弧度之间。

atand(x)

x 的反正切,范围在 -90 到 90 度之间。

atan2(x, y)

x/y 的反正切,范围在 -pi/2 到 pi/2 之间。

atanh(x)

双曲反正切。

bias(x, b)

对比度的辅助对象,是 Gamma 的变体。

boxstep(x, val)

表达式计算小于 val 的值时生成 0,否则生成 1。从 boxstep 减去 boxstep 生成框函数,小于第一个 boxstep 的 val 时值为 0,介于两个 val 之间时值为 1,大于第二个 boxstep 的 val 时值为 0。确保从前一 boxstep 中减去后一 boxstep,否则会生成反转的框函数。

cbrt(x)

x 的立方根。

ceil(x)

不小于 x 的最小整数(向上舍入)。请参见 floor、round 和 trunc。

clamp(x, minmax)

在最小值和最大值之间钳制 x。

component(x, y, z)

允许表达式设置向量或颜色的各个分量的值。

contrast(x, c)

x 的对比度函数。c < 0.5 会减小对比度,c > 0.5 会增加对比度。

cos(x)

x 的余弦(x 以弧度为单位)。

cosd(x)

以度为单位的余弦。

cosh(x)

x 的双曲余弦。

cross(V, W)

向量的叉积

deg(r)

将弧度转换为度。请参见弧度。

dot(V, W)

向量的点积。

dist(x1, y1, z1, x2, y2, z2)

两点之间的距离。

exp(x)

x 的 e 次幂。

fit(x, a1, b1, a2, b2)

将 [a1..x..b1] 线性转移为 [a2..result..b2]。

floor(x)

不大于 x 的最大整数(向下舍入)。请参见 ceil、round 和 trunc。

fmod(x, y)

x 除以 y 的实际余数。与 x%y 相同。

gamma(x, g)

x 的 Gamma 校正。与 pow( x, 1/g) 相同。

gaussstep(x, a, b)

生成从 0 到 1 的高斯过渡。x 等于 a 时结果为 0,x 等于 b 时结果为 1。如果超出该范围,结果是连续的:超过 a 会生成连续的 0,超过 b 会生成连续的 1。如果 a 小于 b,则该函数为增函数,否则为减函数。

hypot(x, y)

(x*x + y*y) 的平方根。

length(V)

向量的长度。

linearstep(x, a, b)

生成从 0 到 1 的线性过渡。x 等于 a 时结果为 0,x 等于 b 时结果为 1。如果超出该范围,结果是连续的:超过 a 会生成连续的 0,超过 b 会生成连续的 1。如果 a 小于 b,则该函数为增函数,否则为减函数。

log(x)

x 的自然对数。

log10(x)

以 10 为底的 x 的对数。

map("mapname"  [, s, t]  [, channel])

在当前 (u,v) 或提供的 (s,t) 处计算 mapname。mapname 只能是 Ptex 文件的路径。如果您打算使用正则表达式修改要使用的默认 $g.ptx,只需指定文件模式。可以指定可选通道以指示应读取图像的哪一通道。可以将变量 ${DESC} 用于描述名称。还可以使用内置 $PAL 宏来引用贴图。例如,map( “baseCoat_${PAL,myPick}” ),其中将计算名为 myPick 的选项板表达式,并以 %04d 格式插入其结果。

max(x, y)

返回两个值中较大的值。请参见 min。

min(x, y)

返回两个值中较小的值。请参见 max。

noise([x]  [, y]  [, z])

计算柏林噪波函数。未指定参数时,在当前 (u,v) 处计算该函数。可将一个、两个或三个参数用于具有一个、两个或三个维度的噪波。返回值始终为介于 -1 和 1 之间的浮点数。

norm(V)

规格化向量 V。

ortho(X, Y)

正交向量(等同于 norm(cross(X,Y)))。

pow(x, y)

计算 x 的 y 次幂。与 x^y 相同。

rad(d)

将度转换为弧度。请参见 deg。

rand([ minmax [, seed])

生成一个随机数字。未指定参数时,生成介于 0 和 1 之间的数字。(可选)可以传递两个参数以指定随机数字的范围。在任一情况下,都可指定 seed 值,确保返回的数字是随机的,并且可以预测(超过 y 时始终为 x)。

remap(x, source, range, falloff, interpolation)

在 0 和 1 之间重映射 x,当 x 在源的范围距离内时,结果等于 1。一旦超出该范围,结果将在衰减距离内衰减到 0。可以按名称或整数键指定插值方案:线性=0,平滑=1,高斯=2,boxstep=3。当使用 boxstep 插值时,使用衰减值 0.0。

round(x)

对 x 进行舍入生成的整数值,当小数部分时小于 0.5 时向零舍入,否则朝远离零的方向舍入。请参见 floor、ceil 和 trunc。

shadow(x)

仅在渲染的阴影过程中计算传入的表达式。用于更改渲染的颜色和阴影过程中的长度、宽度、密度等属性。如果不在阴影过程中,则该函数的计算结果为 1.0,因此其应用作乘数。

sin(x)

x 的正弦(x 以弧度为单位)。

sind(x)

x 度的正弦,以度为单位。

sinh(x)

x 的双曲正弦(x 以弧度为单位)。

smoothstep(x, a, b)

生成从零到一的平滑过渡(二次)。x 等于 a 时结果为 0,x 等于 b 时结果为 1。如果超出该范围,结果是连续的:超过 a 会生成连续的 0,超过 b 会生成连续的 1。如果 a 小于 b,则该函数为增函数,否则为减函数。

sqrt(x)

x 的平方根。

tan(x)

x 的正切(x 以弧度为单位)。

tanh(x)

x 的双曲正切。

trunc(x)

简单地去除 x 的小数部分(向零舍入)。请参见 ceil、floor 和 round。

other()

选项板表达式以函数形式调用。如果您有一个名为 myPick 的选项板表达式,则可通过以下语法在另一表达式中调用它: myPick()。用于连接属性,例如指定长度和宽度之间的关联。还用于在单独描述中驱动属性,如设置选项板范围的宽度值。为选项板表达式指定的名称不能与任何预定义 XGen 函数重叠;否则,选项板表达式将无法访问。

以下常量有效:

PI

圆的周长与其直径的比率 (3.14159265358979323846)。

E

自然对数的底 (2.7182818284590452354)。

注:

如果表达式无效,将显示错误消息,并将其计算为 0.001。

Python API

概述

XGen 提供了 Python API,可以从 Python 壳访问内部 XGen 数据。可以在 Maya 内部或外部使用该 API。此 API 在 Maya 进行扩展,以允许适用于 Maya 但是不适用于其他位置的操作(例如,接受导向的“名称”以获得其面片)。与 XGen 的所有交互应该通过此 API 或 UI 实现。不保证通过 XGen 中存在的 MPxCommand 或 MEL 函数的任何访问。

在下面以伪语法的形式列出了这些方法,以表示返回类型和预期参数类型。调用这些方法的方式与 Python 中的普通操作相同。您可以按照顺序传递这些参数,或者使用这些名称并按照需要重新排序。

导入 API

API 分为两个部分:基本和 Maya。虽然有单独的 UI 组件,但 API 本质上是由基本 C++ 代码、构成基础 API 的 Python 层以及另一个 Python 层(该层提供必要 Maya 附加部分以及组成 Maya API 的额外 API 函数)。务必为该任务提供正确的 API,否则可能会得到意外结果。最佳方法是通过使用以下命令让 XGen 代替您处理决定:

import xgenm as xg​​

这会引入 xgen 模块,该模块可检测 Maya,并根据需要提供 API 的 Maya 层。如果在 Maya 中和 Maya 外运行脚本,并从 API 的仅限 Maya 部分调用方法,您应该将这些方法放在一个条件块中。安全的处理方式是使用 XGen 的 Maya 检测:

import xgenm.xgGlobal as xgg if xgg.Maya

# Do something maya specific like using XGen's Maya API​​

这会引入 XGen 全局模块,它可以检测 Maya。在放置该模块后,可以使用其 xgg.Maya变量,以确定是否处于 Maya 中,并在这些条件句中保护您的 Maya 代码。

基础 API

无论在 Maya 的内部还是外部,都可以使用以下方法。它们直接在基本 XGen 数据上操作。如果需要到 XGen 的更快链接,许多还可通过 libXgAPI.so 库作为 C++ API 获得。

创建和删除

  • string createDescription( string palette, string description, string primitive,string generator, string renderer, string method )()
    • 创建新的描述,然后将其放置在命名的选项板中。如果该选项板不存在,则也会创建它。
  • bool deletePalette( string palette )()
    • 删除命名的选项板。这将删除其所有描述、面片、对象、fx 模块、导向等等。
  • bool deleteDescription( string palette, string description )()
    • 删除命名的描述。这将删除其所有面片、对象、fx 模块、导向等等。

对象访问

  • string[] palettes()
    • 列出场景中当前的选项板。
  • string[] descriptions( string palette="" )()
    • 获取给定选项板的描述列表;或者,如果没有给定选项板名称,返回场景中的所有描述。
  • string palette( string description )()
    • 获取给定描述的选项板。若要执行此操作,将搜索每个选项板的描述列表,此操作假定所有描述具有唯一名称。
  • string getActive( string palette, string description, string type )()
    • 从描述获取给定类型的活动子类型。返回值是子类型(例如,SplinePrimitive、CardPrimitive)。
  • bool setActive( string palette, string description, string subtype, boolpreviewer=False )()
    • 设置描述的给定类型的活动子类型。给定子类型应完全命名(例如,CardPrimitive、FileRenderer)。
  • string[] objects( string palette, string description, bool activeOnly=False )()
    • 获得描述的所有对象(例如,SpherePrimitive、GuideRenderer)的列表。
  • bool initInterpolation( string palette, string description, string fileName="" )()
    • 为给定描述的活动基本体初始化插值。每次将导向移动到新位置、添加导向或者移除导向后,就需要执行此操作。

属性访问

  • bool attrExists( string attrName, string palette, string description="", stringobject="" )()
    • 查询 xgen 对象上是否存在某一属性。
  • string getAttr( string attrName,string palette, string description="", stringobject="" )()
    • 获取 xgen 对象上的某一属性值。
  • bool setAttr( string attrName, string value, string palette, string description="",string object ="")()
    • 设置 xgen 对象上的某一属性值。
  • string[] attrs( string palette, string description="", string object="" )()
    • 返回给定节点的属性列表。这不包括自定义属性。
  • void addCustomAttr( string attrName, string palette, string description="", stringobject ="")()
    • 添加自定义属性。该属性应该使用此模板方案命名:custom_<type>_<name> 或 custom_<type>_<name>[#]。如果使用 [#] 扩展名指定一个阵列,则将为每个数组的元素添加一个属性。常见的用法是将属性添加到选项板或 RenderMan 渲染器,但可以指定任何对象。
  • void remCustomAttr( string attrName, string palette, string description="", stringobject="" )()
    • 移除自定义属性。该属性应该使用此模板方案命名:custom_<type>_<name> 或 custom_<type>_<name>[#]。如果使用 [#] 扩展名指定一个阵列,则将删除该阵列的所有属性。
  • string[] customAttrs( string palette, string description="", string object="" )()
    • 返回给定节点的自定义属性列表。
  • string[] allAttrs( string palette, string description="", string object="" )()
    • 返回给定节点的属性完整列表。

FX 模块

  • string[] fxModules( string palette, string description)()
    • 获得给定选项板和描述的 fx 模块列表。会按照执行顺序返回当前活动基本体的模块。
  • string fxModuleType( string palette, string description, string name )()
    • 获取给定 fx 模块的类型。搜索该模块的活动基本体。
  • string addFXModule( string palette, string description, string type, string name="" )()
    • 将新的 fx 模块添加到给定描述的活动基本体的 fx 链的末端。如果已成功添加该模块,则将返回其名称。如果失败,则返回空字符串。
  • bool removeFXModule( string palette, string description, string name )()
    • 从给定描述的活动基本体删除命名的 fx 模块。如果成功,则返回值为“真”,如果失败,返回值为“假”。
  • bool moveFXModule( string palette, string description, string name, int dir )()
    • 移动 FX 模块。将使用该模块名称找到给定描述的活动基本体中的模块。一旦找到,该模块将上移或下移,具体取决于“方向”的值。负值表示“向上”,正值表示“向下”。

消隐

  • string[] culledPrimPatches( string palette, string description )()
    • 如果给定选项板和描述,则返回具有已消隐的基本体的面片的名称。
  • int[] culledPrimFaces( string palette, string description, string patchName )()
    • 如果给定选项板、描述和面片名称,则返回具有已消隐的基本体的面片上的面。
  • set(int) culledPrims( string palette, string description, string patchName, intfaceId )()
    • 指定一个选项板、描述、面片名称和面 ID,将返回该面上的消隐的基本体 ID。

绑定信息

  • string[] boundGeometry( string palette, string description )()
    • 指定选项板和描述,返回所有绑定几何体块的名称。在 XGen 中,这些同时也是面片名称。
  • int[] boundFaces( string palette, string description, string patchName )()
    • 指定选项板、描述和面片名称,返回绑定到该面片的描述的面的列表。

文件 IO

  • string importPalette( string palette, string deltas[], string nameSpace="" )()
    • 应用指定的增量文件后,从一个 xgen 文件导入选项板。可以选择将选项板放入给定名称空间。在 Maya 中,有一个可选的第四个参数,称为 wrapPatches,其默认值为“真”(True)。将此值设置为“假”(False),则允许您引入一个选项板,而不加载其面片或导向。执行此操作,您可以引入不包含几何体的选项板,可以将其用作引用,传输到另一个元素等等。
  • bool exportPalette( string palette, string fileName )()
    • 将给定选项板导出到磁盘上的 .xgen 文件。
  • int createDelta( string palette, string newDelta )()
    • 将 Maya 中加载的当前选项板与增量文件列表应用后的基础选项板比较,将差异写入新的增量文件中。如果一个文件编写成功,则函数返回 1,如果成功但是没有编写任何文件(没有发现差异)则返回 0,如果出现错误则返回 -1(发现增量文件的无效更改)。
  • bool applyDelta( string paletteName, string delta )()
    • 为现有选项板应用增量。
  • string importDescription( string palette, string fileName )()
    • 从 xdsc 文件导入描述并插入到选项板中。将此描述放入选项板的名称空间中。将还原描述使用的任意选项板的表达式。如果存在名称冲突,则将新描述的表达式的值放入选项板表达式中,而将旧值放入该表达式的注释。
  • bool exportDescription( string palette, string description, string fileName, boolguides = false )()
    • 从选项板将描述(包括可能使用的任何选项板的表达式)导出到 xdsc 描述文件。导向标志将被保留,且当前未使用。
  • string importFXModule( string palette, string description, string fileName )()
    • 从 xgfx 文件导入 FX 模块,并插入到给定描述的活动基本体。
  • bool exportFXModule( string palette, string description, string name, stringfileName )()
    • 从给定描述的活动基本体导出命名的 FX 模块。

事件回调

  • registerCallback( string name, string function )()
    • 注册发生命名的 XGen 事件时调用的函数。事件类型:PrePaletteCreate、PostPaletteCreate、PreDescriptionCreate、PostDescriptionCreate 和 CurrentDescriptionSet。
  • deregisterCallback( string name, string function )()
    • 注销发生命名 XGen 事件时调用的函数。

消息

  • setMessageLevel( string type, int level )()
    • 设置给定类型消息的详细级别。类型可以是调试、警告、统计信息或 quitOnError。对于前三种类型,可以将级别设置为 0 到 5,其中 5 最详细。对于 quitOnError,可以设置一个布尔值,其中 1 为打开,0 为关闭。
  • int getMessageLevel( string type )()
    • 获取给定类型的消息的详细级别。类型可以是调试、警告、统计信息或 quitOnError。对于前三种类型,返回的级别为 0 到 5,其中 5 最详细。对于 quitOnError,返回的级别分别是 1 和 0,分别表示打开和关闭。

一般功能

  • string version()
    • 获取当前运行的 XGen 版本的版本号。
  • string rootDir()
    • XGen 根目录。
  • string iconDir()
    • 包含 XGen 图标的目录。
  • string globalRepo()
    • 全局存储库的位置。
  • string localRepo()
    • 本地存储库的位置。
  • string userRepo()
    • 用户存储库的位置。
  • string promoteFunc()
    • 元素升级函数的当前值。
  • string objNameSpace( string name )()
    • 获取给定对象的名称空间。
  • string stripNameSpace( string name )()
    • 从一个对象去除名称空间,仅返回该对象的名称。
  • string prepForAttribute( string value )()
    • 如果给定的字符串包含嵌入换行符和制表符,此函数将使用这些字符的编码版本逐一替换。这样就可以将字符串存储在一行中,要存储在 XGen 文件中或者在描述编辑器中进行编辑,必须符合此要求。此函数如果结合使用 prepForEditor,则允许使用往返字符串格式和属性存储。
  • string prepForEditor( string value )()
    • 如果给定的字符串具有编码制表符和换行符,此函数将转化字符串,以还原这些字符,这样字符串可以用于多行文本编辑器。这允许将编码字符串恢复为针对该编辑器的原始格式。此函数如果结合使用 prepForAttribute,则允许使用往返字符串格式和属性存储。

Maya 扩展 API

Maya 提供了所有的基础 API 方法,但以下方法进一步扩展了 API。这些 API 不作为基础 API 的一部分提供的原因通常是在该上下文中没有意义。例如,如果一个方法在 Maya 中接受“导向名称”,并返回“面片名称”,则不适用于标准 XGen,因为其中导向没有名称,而面片只是以其几何体命名。也就是说,许多基础 API 方法在 Maya 中被覆盖,因此如果在 Maya 中,您应该始终通过 Maya API 引用该 API,以确保引用正确的层。

  • string guidePatch( string guide )()
    • 获取使用给定名称的导向的面片。
  • string guideDescription( string guide )()
    • 获取使用给定名称的导向的描述。
  • string guideIndex( string guide )()
    • 获取描述中导向的索引。
  • string[] descriptionGuides( string descr )()
    • 获取给定描述的导向。
  • string[] descriptionPatches( string descr )()
    • 获取给定描述的面片。
  • string[] palettePatches( string palette )()
    • 获取给定选项板中包含的所有面片的列表。
  • string[] geometryPatches( string geometry )()
    • 获取绑定到给定的一块几何体的面片。
  • string[] geometriesPatches( string geomList[] )()
    • 获取绑定到列表中任何几何体的面片。如果按顺序使用一系列几何体,此函数比调用 geometryPatches 有效。
  • string geometryDescriptionPatch( string geometry, string desc )()
    • 如果给定一块几何体和描述,返回单一绑定面片。
  • string[] geometryFacePatches( string geometry, string faceId )()
    • 给定一块几何体和面 ID,返回与该面相关的所有面片。
  • modifyFaceBinding( string palette, string description, string mode="Append" )()
    • 修改当前描述的面绑定。在“附加”模式下,将选定的面添加到绑定到关联几何体的面片。如果该几何体没有任何面片,则将创建一个新面片。在“替换”模式下,选定的面将替换这些关联几何体的面片中的面。最后,在“移除”模式中,如果存在面片,则会从关联几何体的面片中移除这些面。如果生成的面片没有绑定面,则面片将被删除。
  • fixPatchNames( string palette )()
    • 更新选项板中所有面片的名称。如果描述重命名,或者描述绑定到的几何体重命名,则必须同时更新这些面片的名称。
  • string nodeClass( string node )()
    • 如果给定 Maya 节点,返回 XGen 对象的常规类。如果节点不是 XGen 对象,则返回“无”(None)。
  • bool renderable( string node )()
    • 如果对象可以渲染则返回真。这可以用于避免将着色器分配给不可渲染的对象这类问题。
  • string[] findSelectedPatches()
    • 返回与当前选择列表相关的所有 XGen 面片。导向、面片、描述、几何体等都将解析为相关的面片。
  • string[] bakedGroomManagerBake( string pal, string desc )()
    • 烘焙当前修饰,直到烘焙修饰管理器的位置。这会为每个包含静态修饰的描述的边界几何体生成一个 XPD 文件。将留下该描述,而烘焙修饰管理器处于活动状态。
  • setExportAsDelta( bool value, string pal=None )()
    • 控制是否将选项板导出为完整的选项板或增量文件。如果传入的值设为真,则只有当选项板更改时才会为选项板编写增量文件。如果未传入任何选项板,则场景中的所有选项板将设为新值。

Maya MPx API

以下是 MPxCommand,它们是 XGen API 的一部分,只能通过 Maya 获得。

  • bool xgmGuideGeom -guide string [-numVertices] [-basePoint | -controlPoints] [-lockBasePt]()
    • 导向的基本查询。
  • bool xgmPatchInfo -patch string [-description | -geometry | -faceIds | -renamestring]()
    • 基本面片查询。
  • bool xgmBakeGuideVertices [-resetPivots]
    • 烘焙编辑到导向,因此移除所有调整

上一篇: MAYA 中英切换的两种方式

下一篇: PyMel对比

1137 人读过
立即登录, 发表评论.
没有帐号? 立即注册
1 条评论
文档导航