摘要:本文将带你了解Maya中操作普通DG节点和Dag节点的区别,希望本文对大家学Maya有所帮助。
在Maya中,Dependency Graph是Maya的核心,由许多DG节点互联组成。其中包含了两种我们常见的节点,一种是普通的DG节点,一种是DAG(directed acyclic graph)节点。DAG节点在本质上也是一种DG节点。
当我们需要操作DG节点的时候,我们知道,用户是不能直接访问Maya核心的,Maya在其核心之上提供了一系列严格定义的接口,使用户能够通过这些API来操作Maya内部数据。当我们需要对DG节点进行操作时,我们可以使用MFnDependencyNode函数集来进行操作,MFnDependencyNode需要设定一个DG节点MObject对象作为操作数据,具体如下:
MObject thisNode = thisMObject();
MFnDependencyNode fnThisNode( thisNode );
MFn::type type = fnThisNode.name();
以上是我们常规的对DG节点进行操作的方法,对于DAG节点来说,我们也可以通过同样的方法来设定一个DAG节点对象到MFnDagNode来对其进行操作,
MFnTransform fnTransform;
MObject transform = fnTransform.create();
MFnDagNode fnDagNode( transform );
MFn::type type = fnDagNode.type();
从表面上看,上面这个操作似乎没有问题,但是我们想一想对象实例,由于可能会存在多个DAG路径到指定的MObject对象,那么如果只给定一个MObject对象,Maya是不可能对这个DAG节点进行在世界空间中进行操作的。换句话说,Maya不可能只通过一个给定的MObject对象来确定一个指定的实例。
所以,在大部分情况下,请使用DAG路径(MDagPath)来指定一个DAG节点,因为DAG路径总是会指向一个对象的特定实例,这样才能进行世界空间转换。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之Maya频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号