Maya教程之Maya DG nodes
凌雪 2018-07-30 来源 :网络 阅读 2353 评论 0

摘要:本文将带你了解Maya教程之Maya DG nodes,希望本文对大家学Maya有所帮助

本文将带你了解Maya教程之Maya DG nodes,希望本文对大家学Maya有所帮助


写DG   node前,学习了一下maya help里的文档。翻译、总结了主体内容,仅作个人笔记、加深理解用,大虾们请无视。
    DG(Dependency Graph)就是DG nodes连接而成的节点网络。DG   node即是接受并依据输入来创建输出的计算节点。打开maya的Hypergraph,你在场景里所做的一切在这里都能找到根源,DG就像是maya的核心,而maya就有点DG引擎的感觉。
    上图的每个小方框都是一个DG node,三个连在一起就组成一个DG网络。连接小方框的箭头即是数据的流向,这里的数据可以是数字、曲线、曲面等(甚至也可以是自定义的数据类型)。因为节点不一定只是单输入输出,功能比较复杂的节点往往是是多输入输出,这种情况我们就需要指定哪些输入影响与哪些其相关的输出,这在API里是通过MPxNode::attributeAffects或者MPxNode::setDependentsDirty类方法实现的。
    现在输入输出都有了,但maya如何知道什么时候该更新输入输出、重新计算数据流呢。maya有一套完善的更新机制。每当一个节点的输入参数改变时,与其相关的输出就会被mark   dirty(即是做上需要重新计算的记号),如果这个输出也作为下一个节点的输入,这个输入也会被mark   dirty,依此类推,直到所有需要重新计算的属性参数都被mark dirty为止。这些mark   dirty的属性参数将会在maya下次刷屏或动画回放(playback)时统一重新计算,计算是通过调用nodes里的compute方法实现的。maya
     help里对计算和数据流有一段形象的描述,摘引如下:
    The data flowing through the graph isanalogous to water flowing through   pipes. The pipes themselves are theconnections but unless they have data to   redirect and modify they are notactually doing anything. Extending this   analogy, the nodes are like taps,showers,
     fountains, WCs, springs, and water   piks. They all do something with the water in their own unique way but they   must have water to operate.
    计算将在第一个包含没有被mark dirty的输入属性的节点上停止。以curve resolve为例,下图是其DG网络:
   
    若在场景中移动curve的cv点,1,2,3箭头所连接的输入输出都被mark   dirty,在下次刷屏时,这些相关连接的属性将全部重新计算。计算会在curveshape节点处停止,因为它的输入属性没有被mark   dirty。
    使用DG也有一个副作用,使得你不容易直接控制场景中的物体。还拿上面curve   revolve做例子,当试图移动生成surface上的cv点时,你会发现被移到新位置的cv点在下次重新计算时又回到原来的位置。这是因为所有compute方法都已预先设置好,当重新计算时,revolve节点就会undo你刚刚所做的操作。
    但这在建模时是不可接受的,因为对模型个别地方的微调是需要的。maya通过pnts(对mesh)和tweat node(对nurbs   surface)解决了这个问题。pnts和tweat   node所实现的功能就是存储局部修改的信息,使得在重新计算时,修改的数据不会丢失或被覆盖,依然会对模型产生作用。
    中心思想大约概括如上,感觉像回到了高中做语文阅读。不知道我如履薄冰的理解水平有没有消融殆尽。
    秋冻春捂,阴雨绵绵,期待晴天。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Maya频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程