Maya教程之Maya Templates
白羽 2018-08-09 来源 : 阅读 1341 评论 0

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

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


Maya每个节点都会带有一个Attribute属性界面。这个界面的定义在 maya安装目录下的 scripts\AETemplates 。
属性界面操作常用命令:
editorTemplate、setParent、frameLayout、connectAttr等等。

属性界面的基本原理:
1.Maya启动时,不加载任何属性界面。
2.若选择一个节点,并且调出了属性编辑器。
3.读取AEnodenameTemplate对应的mel文件,把方法加载到内存中。
4.给新的属性界面分配布局位置。一般为MayaWindow|MainFormLayout|....之类的。
5.把布局位置分配给当前Template。
6.执行已经分配到内存里的AEnodenameTemplate方法。
7.执行mel文件里的布局程序,并且立刻执行布局时需要调用的-callCustom参数对应的new方法。
8.更新完成后,每次属性的更改、每次切换节点等都会触发-callCustom参数对应的modifier方法。

需要注意的事项:
1.因为每个节点加载到内存中只有一次机会创建属性布局,所以一旦分配好布局位置这个节点就不会变。
  从这个意义上讲,如果获得了布局位置,那么就可以任何时间内无限次动态修改一个节点的属性界面。
  因为没有简便方法能够获得每个节点所在的布局位置(有方法,不过较为麻烦),所以较难修改其他的属性界面。
  内部集成化,可以有效减少误操作。但有个坏处,就是一旦系统分配的属性界面被改坏了,就需要重启Maya。
  (当然,这个问题可以使用重刷布局的方法刷回来。反正Maya系统里布局的位置只是映射了一堆字符串而已。)
2.-callCustom后的方法为什么都是global的?因为在创建控件的时候,它必然先调new方法,给控件占位。
  方便接着后面的布局操作。而如果是非global的函数,则有可能调用非global才能调用方法、事件。
  而为了使得控件能够高效地加载,Maya选择了减少数据调用层次+消耗内存的方法来实现。
  (其实这个问题对于喜欢写冗余程序的人来说,根本不算一个限制。)
3.modifier方法仅仅是为了刷新,那么它里面的内容有时会跟new是重复的,但更多的是new的精简版。
4.Maya的Template一开始是没有任何加载的。同样都是global函数,调用另一个未加载的界面布局内的其他函数是会报错。
5.layout的查询是根据每个layout的不同类型分别查询的。否则就不出结果。


制作了三天Maya的Template界面,还是小有收获。又找到了编程的感觉。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之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小时内训课程