大神 我想 写一个 设置渲染 结束帧 是 自动搜索 动画最后一帧的 mel 应该怎么写 麻烦 大神了
答案:1 悬赏:20 手机版
解决时间 2021-02-01 00:33
- 提问者网友:椧運幽默
- 2021-01-31 11:34
大神 我想 写一个 设置渲染 结束帧 是 自动搜索 动画最后一帧的 mel 应该怎么写 麻烦 大神了
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-01-31 11:41
//获取场景中所有的动画曲线,添加到一个变量里面
string $AllAnimationCurves[] = `ls -type "animCurveTA" -type "animCurveTL" -type "animCurveTU"`;
//设置一个空的浮点列表,用来存储所获取的动画帧数,这里用浮点而不用整形,是以防关键帧有小数时报错
float $AllAnimationTimes[] = {};
//for语句,遍历所有动画曲线
for ($AnimationCurve in $AllAnimationCurves){
//获取当前动画曲线的所有关键帧数值
$AnimationTimes = `keyframe -q -tc $AnimationCurve`;
//遍历所有关键帧,并将其添加到我们所设置的空的列表当中
for ($Temp in $AnimationTimes){
//将关键帧数值添加到浮点列表当中
floatArrayInsertAtIndex(size($AllAnimationTimes),$AllAnimationTimes,$Temp);
}
}
//将最终得到的浮点列表排序,默认状况下,从小到大
sort($AllAnimationTimes);
//获取浮点列表当中首位,即最前面的关键帧数值,如果不需要,可以去掉该句
float $StartFrame = $AllAnimationTimes[0];
//获取浮点列表当中的末位,即数值最大,最后面的关键帧数值
float $EndFrame = $AllAnimationTimes[size($AllAnimationTimes) - 1];
//该句是用来设置渲染属性起始关键帧的,不需要请手动删除
setAttr "defaultRenderGlobals.startFrame" $StartFrame;
//设置渲染属性的结束关键帧
setAttr "defaultRenderGlobals.endFrame" $EndFrame;
string $AllAnimationCurves[] = `ls -type "animCurveTA" -type "animCurveTL" -type "animCurveTU"`;
//设置一个空的浮点列表,用来存储所获取的动画帧数,这里用浮点而不用整形,是以防关键帧有小数时报错
float $AllAnimationTimes[] = {};
//for语句,遍历所有动画曲线
for ($AnimationCurve in $AllAnimationCurves){
//获取当前动画曲线的所有关键帧数值
$AnimationTimes = `keyframe -q -tc $AnimationCurve`;
//遍历所有关键帧,并将其添加到我们所设置的空的列表当中
for ($Temp in $AnimationTimes){
//将关键帧数值添加到浮点列表当中
floatArrayInsertAtIndex(size($AllAnimationTimes),$AllAnimationTimes,$Temp);
}
}
//将最终得到的浮点列表排序,默认状况下,从小到大
sort($AllAnimationTimes);
//获取浮点列表当中首位,即最前面的关键帧数值,如果不需要,可以去掉该句
float $StartFrame = $AllAnimationTimes[0];
//获取浮点列表当中的末位,即数值最大,最后面的关键帧数值
float $EndFrame = $AllAnimationTimes[size($AllAnimationTimes) - 1];
//该句是用来设置渲染属性起始关键帧的,不需要请手动删除
setAttr "defaultRenderGlobals.startFrame" $StartFrame;
//设置渲染属性的结束关键帧
setAttr "defaultRenderGlobals.endFrame" $EndFrame;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯