繁體中文
琪派听译培训网为客户提供专业的听译培训服务,还提供各类文档,视频的翻译服务
Houdini 帮助文档

第1页/共3页           下一页 最后一页
 

返回顶部
 
文件名中的表达式

Overview

你可以在文件名参数中插入表达式,当输出或读取文件时,Houdini会计算它。最常用的是渲染输出文件名中的$F,即每帧的文件会被编号,且输出的文件不会相互覆盖。

例如,mine$F.pic会产生这些文件: mine1.pic, mine2.pic, mine3.pic等等。

记住,如果你需要在周围字母中“保护(就是指定哪个才是真正的变量)”一个变量,你可以使用${F}。例如,如果你想要F在帧标号后面,你就不能使用frame$FF.pic,因为$FF是一个变量名。在这种情况下,你可以使用 frame${F}F.pic,其会生成 frame1F.pic, frame2F.pic等这样的文件名。

有用的变量

$F 当前帧标号
$FF 当前小数帧标号。当Houdini计算用于运动模糊的子帧运动时,会使用它。
$N 输出,输出的文件数量(相当于一个计数器)。此和帧标号无关。此是Houdini已经读取/渲染的帧数量(当处理多个文件时)。

例如,如果你渲染第10到第15帧。$N会变为 1, 2, 3, 4, 5(每渲染一帧,计数累加一次)。

$T 当前时间。
$SF 当前模拟的时间步幅数量。对于在动力学模拟中保存文件,如模拟状态,会使用$SF,而非$F。对于每个$F值,Houdini可能会计算多个子帧,所以如果你使用$F时,可能几个子步幅帧会覆盖同样的文件。$SF等同于$T(模拟时间)除以 $TIMESTEP (模拟时间步幅)。
$ST 当前模拟时间。
$OS 当前节点名。

当渲染场时,5.0和5.5的整型帧($F)会是5.因此,要产生唯一性的文件名,可使用$N或$FF。$FF的缺点是会出现 二十进制变换的数学错误,导致$FF 的值可能像 31.99999这样。使用 $N 的缺点是它和帧标号无关,它只会计数当前渲染的帧数量。所以如果你渲染1到10帧,然后再渲染11到20帧,第二次的批渲染会覆盖第一次的。

Leading zeros

要在帧标号前生成0,可以在$F后面放置一个非0的数字。此会生成一个带有很多数字的文件名,例如 mine$F3.pic 会生成像mine001.pic, mine002.pic, mine003.pic的文件名。

你也可以使用padzero表达式函数,查看下面的。

Advanced expressions

对于任何超出简单变量的效果,你可以使用一个重音符(Tab键上方的那个键)将一个完整的表达式封装。

例如,你可能想让文件名随着帧标号递增,但按特定数量偏移。你可以在重音符内使用一个嵌入的表达式,如:

MyImage`$F+12`.pic.

此会按当前帧标号+12来创建文件名。其会生成像这样的文件名: MyImage13.pic, MyImage14.pic, MyImage15.pic

你可以在一个反引号中使用表达式函数,如padzero(定义Padding效果===和Maya的padding参数一样)。

frame`padzero(5, $F)`.pic

会给你生成像这样的文件名: frame00001.pic, frame00002.pic, frame00003.pic。

Tips

要基于图像分辨率在一个目录中存储图像,使用像 Pics${W}x${H}/$F.pic这样的路径(目录名会包含分辨率数值)。

要在文件名中包含当前操作节点的名称,可以使用$OS(当前操作节点名),例如$OS_$F.pic ,会生成这样的文件名light1_1.pic, light1_2.pic, light1_3.pic。

不要使用连字符”-“将帧标号和文件名分离,例如 frame-$F.pic。Mplay会将这样的文件名(frame-1.pic, frame-2.pic, frame-3.pic)解释为包含负帧标号的文件。

避免在文件名中使用空格。尽管大多数操作系统支持它们,Houdini中很多软件包有时会认为文件名没有空格符,此可能会导致很多问题。可以使用下划线。

 
客服QQ:1355398  客服微信(请扫右方二维码)
copyright © 2009-2022琪派听说与视频翻译能力培训网  |