CG三重奏

 

首先炫耀一下自己也曾经和大牛一样开发过得工具,其次分享两个技巧,一个是maya文件版本问题,另一个是快速改变线框颜色的script,并且使用slider实时交互。

 

 

1、看到一大牛研究了业内渲染农场常用的渲染管理软件Deadline,尽然内核就是调用命令行渲染。

非常幸运的是我读大学的时候就写过专门针对maya的一个批渲染工具,并且支持联机渲染。非常适合小型工作室使用。特别是买不起muster的。

 

2、关于maya版本问题

一般来说,高版本允许向下兼容,忽略版本即可打开低版本制作的文件,然而很多时候因为项目每个制作人员使用习惯的不同,往往会有遇到低版本打开高版本的情况。

关于这个问题,lz首先做一个普及,maya保存的文件,默认有.mb和.ma两种,前者是二进制文件,后者是ASCII。二进制说白了就是机器能直接读取的0或者1构成的代码,

ASCII则是人为规定的一套人类能够阅读的代码规则,机器需要翻译成二进制才能读懂,这种代码可以使用任意一文本软件打开。

老外使用.ma保存比较多,其实保存的其实就是mel脚本,不管场景多么复杂,只要能看懂mel的都能够打开,也解决了场景过大打不开的问题,比mb好维护。ma相比mb占用磁盘容量大。

lz要说的方法,正是利用ma文件的这些特点来解决的。

需要使用低版本打开高版本的时候,在高版本中一定要保存出.ma格式文件,然后使用notepad(lz使用的是这个编辑器,并且可以添加mel高亮显示)打开文件,在代码中查找高版本版本号,使用低版本的版本号替换修改,保存即可。

比如lz的高版本maya2015文件需要maya2009打开。使用ctrl+f可以快速查找,找出所有的2015,拿2009替换掉就行了。修改之后切记要ctrl+s。

 

3、分享一个两个slider和属性建立关系达到实时更新效果的方法。

lz准备用改变线框颜色的方法来讲述:

方法一(mel):

//改变线框显示颜色,使用slider动态更新
//选择线框执行script,滑动slider即可

pickWalk -d down;
string $sel[] =`ls -sl`;
//int $colorNumber = 0;
for($color in $sel)
{
    setAttr ( $color+".overrideEnabled" ) 1;
    //setAttr ( $color+".overrideColor" ) $colorNumber;
}
select -cl;

if ( `window -ex changeCurveColor` )
deleteUI -window changeCurveColor;
window -sizeable off -t "PYC_changeCurveColorTool v1.00" changeCurveColor;
columnLayout -adj 1;

//默认最大值和最小值根据链接的属性对应
//并且允许Keyframe属性
//attrFieldSliderGrp -l "curveColor" -at ( $color+".overrideColor" ); 

string $colorValue = `intSliderGrp -label "curveColor" -field true 
                                    -minValue 0 -maxValue 31
                                    -fieldMinValue 0 -fieldMaxValue 31
                                    -value 0`;
connectControl $colorValue ( $color+".overrideColor" );

showWindow();



方法二(mel):

//改变线框显示颜色,使用slider动态更新
//选择线框执行script,滑动slider即可

pickWalk -d down;
string $sel[] =`ls -sl`;
//int $colorNumber = 0;
for($color in $sel)
{
    setAttr ( $color+".overrideEnabled" ) 1;
    //setAttr ( $color+".overrideColor" ) $colorNumber;
}
select -cl;

if ( `window -ex changeCurveColor` )
deleteUI -window changeCurveColor;
window -sizeable off -t "PYC_changeCurveColorTool v1.00" changeCurveColor;
columnLayout -adj 1;

//默认最大值和最小值根据链接的属性对应
//并且允许Keyframe属性
attrFieldSliderGrp -l "curveColor" -at ( $color+".overrideColor" ); 

showWindow();

 

顺便贴上python script:

import maya.cmds as mc

mc.pickWalk( d="down" )
sel = mc.ls( sl=1 )
for i in sel:
    mc.setAttr( i+".overrideEnabled", 1 )
    #mc.setAttr( i+".overrideColor", colorNumber )
mc.select( cl=True )

if mc.window( "changeCurveColor", ex= True ):
    mc.deleteUI( "changeCurveColor" )
mc.window( "changeCurveColor", t="PYC_changeCurveColorTool v1.00" )
mc.columnLayout( adj=1 )

#默认最大值和最小值根据链接的属性对应
#并且允许Keyframe属性
mc.attrFieldSliderGrp( l="curveColor", at=(i+".overrideColor") )

#colorValue = mc.intSliderGrp( l="curveColor", field=True, minValue=0, maxValue=31, fieldMinValue=0, fieldMaxValue=31, value=0 )
#mc.connectControl( colorValue,  ( i+".overrideColor" ))
mc.showWindow( "changeCurveColor" );


总结:

方法二使用灵活,方便setframe。

方法一:                                                                                                      方法二:

      

示例:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值