工作窗口
Alias for Windows 可以读取 Maya IFF 文件,并将其另存为 TIFF 或 Alias pix 文件。
在文件列表器中,Maya IFF 文件格式不会被识别为可用格式。您可以使用命令“File”->“Show”->“Pix”或尝试将 IFF 文件用作纹理。可以将 Maya IFF 文件作为相机的图像平面引入。
若要使用 IFF 文件作为纹理,必须输入纹理的绝对路径,而且不能使用浏览按钮打开文件列表器。
结构以标记的使用为基础,也就是使用标记来标识数据块(称为信息块)或信息块结构(称为组)。每个标记由四个字符组成,其后紧跟所描述的信息块或组(采用 4 字节格式进行编码)的大小。标记被处理为伪字符串,而所有其他数据都采用 big-endian 格式。
主要的标记类型有 FORM、CAT、LIST 和 PROP。
它们可演变出许多种类,如 FOR4、FOR8、CAT4 与 CAT8,这些种类用于指定 4 个字节或 8 个字节的对齐边界。
Four tags are used to arrange blocks into groups: FORM, CAT, LIST, and PROP. The first four characters following the size are used to identify the type of the group.
FORM 定义了一种类似于 C struct 的结构。
FORM 38 TEXT CHAR 6 "Times" CHAR 12 "Hello World" EOF
类似于
struct Text t = { char *f = "Times"; char *c = "Hello World"; };
组的大小 (38) 等于其包含的数据的大小(6 加 12)加上标头的大小(TEXT 为 4、CHAR 6 为 8、CHAR 12 为 8)。在本例中,其结果为 6+12+4+8+8 = 38。
如同在 C 结构中一样,您可以嵌套这些组,例如:
FORM 52 TEXT FORM 8 FONT CHAR 6 "Times" LONG 4 <12> LONG 4 <0> CHAR 12 "Hello World" EOF
在 C 术语中为:
struct Text t = { struct Font f = { char *n = "Times"; int s = 12; int d = 0; }; char *string = "Hello World"; };
块不受必须使用唯一数据类型的限制,可以包含完整 C 结构的等效结构,本示例可能没有表明这一点。
FORM 标记用于分隔可单独进行处理的独立数据块,并可指定每个子单元的意义。
在上例中,FONT FORM 中的 CHAR 信息块与 TEXT FORM 中的 CHAR 信息块含义不同。FORM 标记确定如何解释有序数据类型集。
CAT 标记定义了独立对象的串联形式,对象之间没有先后顺序关系。CAT 的两种典型用途是针对对象库(示例 1 中的图片)或剪贴板(示例 2)。
CAT 3632 PICT FORM 1234 PICT ... FORM 2378 PICT ... EOF
CAT 2130 CLIP FORM 1234 PICT ... FORM 876 DRAW ... EOF
通过了解在标头中指定的每个组或信息块的大小,通常可以加快在结构化文件中进行搜索的速度,即使在成员无序的 CAT 中也是如此。
LIST 标记用于对具有相似特性的对象进行成组,以避免冗余。例如,可以按如下方式表示大小相等的图像的序列。某图像可能会具有如下所示的结构:
FORM .... PICT IHDR 32 (image size info) BODY ... (image data) EOF
此时可以按以下方式表示大小相近的图像的序列,同时共享公用的标头信息:
LIST ... ANIM PROP 44 PICT IHDR 32 (common size info) FORM ... PICT BODY .... (data) FORM ... PICT BODY .... (data) FORM ... PICT BODY .... (data) EOF
PROP 结构中的信息一直有效,直到 LIST 部分结束。可以使用 FORM 语句在本地重新定义这些信息。(在上例中,公用 IHDR 在本身不包含 IHDR 块的所有 PICT 中有效)。
IFF 块对齐到双字节边界。标头中指定的大小不考虑填充。许多计算机通常会将其内存对齐到 4 字节或 8 字节的边界。Flib 使用八个附加的标记,用于指定对齐信息: