Maya ma 文件结构

Maya ASCII 编码文件的组织

Maya 保存的 ma文件 主要可以分成 8 个部分:

  • Header
  • (Non-Procedural) File references
  • Requirements
  • Units
  • File references
  • Nodes, attributes, and parenting
  • Script nodes
  • Disconnections
  • Connections

.ma 文件中使用的所有命令均为 MEL命令,因此如果需要了解具体的用法,可以通过查阅文档获得。

Header 头

.ma 文件的头 是注释,定义了文件在合适何地被创建,以及编码和创建的Maya版本。在 .ma文件读取时,这个部分会被自动忽略。

  • 但是开头的六个字符必须是//Maya
//Maya ASCII 2019 scene
//Name: maya_test.ma
//Last modified: Tue, Nov 10, 2020 04:41:28 PM
//Codeset: UTF-8

File references 文件引用

这个部分定义了所有的非程序化的文件引用。对于每一个被引用的文件都会用一条单独的file 命令去进行读取。

// file command 的格式
file -r -rpr prefixString fileName;
// 或者
file -r -ns nameSpace fileName

命令中的标记-r代表了这个文件是被引用的。
使用标记-dr 可以延后导入文件引用

file -rdi 1 -ns "_start" -rfn "_startRN" -op "VERS|2019|UVER|undef|MADE|undef|CHNG|Tue, Oct 20, 2020 01:49:18 PM|ICON|undef|INFO|undef|OBJN|684|INCL|undef(|LUNI|cm|TUNI|film|AUNI|deg|TDUR|141120000|"
		 -typ "mayaBinary" "/linux_home/01_start.mb";
file -r -ns "_start" -dr 1 -rfn "_startRN" -op "VERS|2019|UVER|undef|MADE|undef|CHNG|Tue, Oct 20, 2020 01:49:18 PM|ICON|undef|INFO|undef|OBJN|684|INCL|undef(|LUNI|cm|TUNI|film|AUNI|deg|TDUR|141120000|"
		 -typ "mayaBinary" "/linux_home/01_start.mb";

Requirements 依赖

这个部分会告诉Maya如果想要完整的打开这个ma文件所需要的 maya版本 以及 相应的插件
声明的格式如下:

requires productName version

例子:

requires maya "2019";
requires "mtoa" "3.3.0.2";
requires "stereoCamera" "10.0";
requires "stereoCamera" "10.0";

Units 单位

这是一条单行命令,定义了当前 .ma 文件所使用的单位

例子:

currentUnit -l centimeter -a degree -t film;

标记-l 设置当前的线性单位 为 厘米。
标记-a设置当前的角度单位 为 度。
标记-t 设置当前的时间单位 为 film。

File Information 文件信息

文件信息的前 5 行是由Maya自动定义的。

fileInfo "application" "maya"; // 应用的名字
fileInfo "product" "Maya 2019"; // 产品化,完整或受限
fileInfo "version" "2019"; // 版本号
fileInfo "cutIdentifier" "201907021615-48e59968a3";//剪切标识符
fileInfo "osv" "Linux 3.10.04";//操作系统信息

每次保存文件之后,Maya都会自动更新这五条信息。
在加载文件时发现的或在Maya会话期间发出的任何其他fileInfo语句(或二进制等效项)都将在会话期间保留下来,并与文件一起保存回来

Nodes, attributes, and parenting 节点、属性和父子层级

包含了Maya场景中节点的创建和属性的设置。
创建节点的命令格式

createNode nodeType -n nodeName;
createNode nodeType -n nodeName -p parentNodeName;

设置属性的命令格式

setAttr attributeName value;
setAttr attributeName -type typeName value;

Script Node 脚本节点

脚本节点把Maya 的 Mel 作为 Ma 文件的一部分保存下来。
脚本节点将MEL代码作为场景文件的一部分保存。还可以将它们设置为(可能)从文件加载之后,关闭文件之前或删除节点之前执行。加载文件时将执行“之前”脚本。如果关闭文件或删除节点,则执行“之后”脚本。如果场景包含多个脚本节点,则无法保证执行顺序,并且脚本不应依赖于特定的执行顺序。

Disconnections 断链

断开两个节点的属性之间的链接

disconnectAttr sourceAttributeName destinationAttributeName;
disconnectAttr "sphere.tx" "cone.ry";

Connections 链接

链接两个节点的属性

connectAttr sourceAttributeName destinationAttributeName;
connectAttr "sphere.tx" "cone.ry";
connectAttr "sphere.squish" "sphere.sz";

官方帮助文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值