没有合适的资源?快使用搜索试试~ 我知道了~
一、开始编程 二、在不同时间求值 三、interMediateObject 中介物体 四、获得场景中所选的component 五、Maya中的数组类型变量
资源推荐
资源详情
资源评论
Maya API 常用操作方法
一、 开始编程
1. 专业的 Maya plugin 编程必备资源
Maya(包括安装目录中的一系列文件), visual C++6.0(Maya 6.0 以上的
plugin 需要 visual C++7.0 以上) , Photoshop。
2. 设置编程环境
3. 更改包含库
在菜单栏:项目-属性-连接器-输入 窗口中点击附加以来项,在对话框中添
加新的库
二、 在不同时间求值
两种常用方法:使用 MGlobal::viewFrame(MTime)或 MDGContext(MTime);
1. MGlobal::viewFrame(MTime)
将整个 Maya 系统的时间调整到给定时间。这时所有的操作都是基于调整后的
时间的。
优点:方便。只需调用一次该命令,就可进行一切求值活动。适用于需要在另
一时间进行大面积求值的操作。
缺点:耗时。由于是真正将系统的时间改变了,所以系统中所有物体将被重新
求值。当系统中有大量的物体时,这将是一个很费时的操作。同时,该命令将
切实改变系统时间。当命令执行后,Maya 界面中的时间滑块将因为该命令的调
用而移动。而往往用户只是希望得到另一时间的某一个或少数几个值,而且不
希望改变系统时间。这需要用到第二种方法。
2. MDGContext(MTime)
当使用 MPlug::getValue()函数求值时,可以提前声明一个 MDGContext 实例,
并用一个 MTime 值将其初始化。然后将这个实例作为参数传入
MPlug::getValue(),这意味着给此次 getValue()操作定义了一个求值环境(在
MTime 时求值)。
优点:快捷。MDGContext(MTime)不实际改变系统时间,它只是针对某个求值
函数定义它的求值环境。这样,其它物体将不会因为系统时间改变而重新求值。
缺点:求值过程较麻烦同时可能有局限性。由于常用求值函数中只有
MPlug::getValue()可以使用 MDGContext 来改变求值环境。有一些特殊的数据并
不能直接从 MPlug::getValue()函数求得(比如 MMatrix)只能用如下方法处理。
例1. 假设 MObject node 是一个 transform 节点,现在要求第 10 帧(24FPS)时它
的 matrix:
MTime tm(10, MTime::kFilm);
MDGContext ctx(tm);
MFnDagNode fn(node);
MPlug plug=fn.findPlug(“matrix”);
MObject mtx;
资源评论
晚晴风
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功