摘要:本文将带你了解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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号