【龙渲经验】pythoninmaya节点的选择

【龙渲经验】pythoninmaya节点的选择

ID:8806798

大小:1.12 MB

页数:18页

时间:2018-04-08

【龙渲经验】pythoninmaya节点的选择_第1页
【龙渲经验】pythoninmaya节点的选择_第2页
【龙渲经验】pythoninmaya节点的选择_第3页
【龙渲经验】pythoninmaya节点的选择_第4页
【龙渲经验】pythoninmaya节点的选择_第5页
资源描述:

《【龙渲经验】pythoninmaya节点的选择》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、【龙渲经验】pythonInMaya_节点的选择(2)    【connectionInfo函数的运用】  除了特殊的功能,脚本的最大好处就是同时对大量元素执行作用,降低操作量,提高工作效率,还能向外行人炫耀……(这个就免了!)。  前面介绍了场景物体变形节点(transform)和形节点(shape)的选择方法,接下来将是对其他节点内容的选择。  以paintEffect笔刷特效为例,当从visor中选取笔刷,在场景中绘制线条时,每完成一笔,maya会创建一条用于控制笔刷形态的Nurbs曲线,一个笔触节点(stroke)和一个笔刷节点(brush)。假如我

2、们需要将每个笔刷进行动画设置(共享笔刷节点并不能实现丰富的动画设置),那么对于笔刷节点的操作将是十分繁琐的,因为前面所用的函数并不能选择到所选物体的其他相连节点。    接下来,我以较为复杂的辉光生长特效的制作为例进行说明。  【例子:笔刷特效批量动画设置插件】  【操作过程】  1.创建Nurbs曲线。场景中的这个球体NURBS曲线,是我从一个多边形球体上的边转换而得。   2.将笔刷特效附加到曲线上。保持Nurbs曲线的选择,然后在Visor中选择笔刷预设,执行:PaintEffects->CurveUtilities->AttachBrushtoCur

3、ves。  3.找出相应的节点类别。使用maya2013新增加的NodeEditor节点编辑器,我们可以很直观的看到每个节点所属的类别。例如glowGreen1名称的节点属于brush类型,time1节点属于time的类型。  制作笔刷生长动画的属性位于stroke节点的EndBounds栏,而brush节点则与PF特效的渲染效果有关,包括笔刷大小,颜色,分支,自身动画的设置。    4.制作内容。通过对stroke节点的MaxClip属性设置动画,控制笔刷的生长;控制brush节点的BrushWidth属性,改变笔刷的大小;使用颜色编辑器改变brush节点

4、的Incandescence1属性的颜色值,并设置动画关键帧。    【脚本的编写】  【特殊节点的选择--connectionInfo函数的使用】  通过listRelatives函数,我们可以获取并编辑stroke形节点的属性,但是brush节点并不会那么轻易就让我们选择。假如使用ls(type='brush')语句,所获取的是场景中所有的笔刷节点,并不是我们所选择的笔触所连接的笔刷节点。  *如果你尝试加入sl=True参数(该参数表示载入所选元素),你会发现无法获取有用的信息。  maya中要获取与所选节点相关的其他节点,所使用的方法是:获取所选节点

5、与相关节点连接的属性,然后通过connectionInfo函数,取得相连的上游节点的属性,最后通过函数去掉属性名称,保留上游节点名称,完成节点选择。就好像一个叫“李大头”名字的人,中国人习惯叫他“大头”,美国人会叫他“李”,日本人会叫他“大头桑”……所以,从完整的名称中改变称谓来描述个体并不是那么难理解的事。  1.属性查看。在NodeEditor节点编辑器内,将鼠标指针放于属性之间的连线上,查看与stroke节点属性相连的brush节点的属性。  *如果是maya2013之前的版本,可以在Hypergraph:Connections窗口中查看。  2.编写

6、语句列出属性。如上图可以知道,stroke节点的brush属性被brush节点的outBrush属性所连接。接下来的思路是:获取stroke形节点,利用它的brush属性“顺藤摸瓜”找到相连的brush节点名称。  *节点的名称是随机可变的,只有属性是唯一不变,因此通过查找相连的属性来获取节点的名称,是最常用的获取特殊节点名称的有用方式。  通过print函数来打印出结果,检查语句的执行结果:  importmaya.cmdsaspy  sel=py.listRelatives()  forselinsel:  printpy.connectionInfo(

7、sel+'.brush',sfd=True)  connectionInfo函数内的sfd参数表示返回属性连接的来源(上游节点的属性),其他参数可以参考maya官方文档的解释。  3.更名。通过以上的语句,我们获得了上游的brush节点的属性。因为我们最终需要的只是brush节点的名称,所以要将“.[属性]”的字符去掉。在MEL语句中,通常是使用tokenize函数去掉相应字符。如下图所示,通过tokenize将字符“aaa.bbb”进行切分(切分规则是去掉“.bbb”),结果得到“aaa”并保存于$buffer变量中。    不过,python有强大的切片

8、功能进行列表的管理,因此在更名这个步骤,不需要使用m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。