转载请备注信息:转自WOOVR博客
在项目制作过程中,我们时常需要烘培一些物体的动画信息,使用MAYA自带的BS(BakeSimulation),总需要跑一遍时间轴


如果遇到的场景、动画简单还好,但若是场景过大,绑定较卡,这样BAKE会非常耗时,于是利用MAYA自带的BAKE命令写了个小工具,后台执行,无需逐帧跑时间轴。

#!/usr/bin/python
# -*- coding: utf-8 -*-
#developed by WOOVR 20190528, Free to use and modify
from maya.cmds import *
import os
import sys
# GUI
def quickBakeUI():win = 'quickBake_win'if window( win, exists = True ): deleteUI( win )window(win, title =u"快速BAKE物体", sizeable = False)columnLayout( adj = True, columnAttach = ['both', 1] )separator( style = 'in' )checkBox( win + '__fromCurFrame_ChB', align = 'left', label = 'Start from Current Frame', value = 0 )radioButtonGrp( win + '__range_RBG',labelArray2 = ['Playback Range', 'Custom Range'], numberOfRadioButtons = 2, select = 1,onCommand1 = 'intFieldGrp( "' + win + '__range_IFG", edit = True, enable1 = False, enable2 = False )', onCommand2 = 'intFieldGrp( "' + win + '__range_IFG", edit = True, enable1 = True, enable2 = True )' )intFieldGrp( win + '__range_IFG', label = '', numberOfFields = 2, columnWidth = (1, 24), value1 = playbackOptions( q = True, min = True ), value2 = playbackOptions( q = True, max = True ), enable1 = False, enable2 = False )sep2 = separator( style = 'in' )rowLayout( numberOfColumns = 2, columnWidth2 = [ 172, 40 ], columnAlign2 = [ 'center', 'center' ] )button( label = 'Bake',width = 220,command = 'quickBake_cmd()' )setParent( '..' )# PROGRESS BAR#progressBar( 'ark_instToGeo_progBar1', width = 220, height = 15, isInterruptable = True )#progressBar( 'ark_instToGeo_progBar2', width = 220, height = 15, isInterruptable = True )showWindow( win )window( win, edit = True, width = 228, height = 143 )def quickBake_cmd():win = 'quickBake_win'Bake_Grp=ls( selection=True )start=intFieldGrp( win + '__range_IFG', q = True, value1 = True )end=intFieldGrp( win + '__range_IFG', q = True, value2 = True )fromCurFrame = checkBox( win + '__fromCurFrame_ChB', q = True, value = True )currentFrame = currentTime( q = True )rangeSpecified = radioButtonGrp( win + '__range_RBG', q = True, select = True )-1print rangeSpecifiedprint startprint endTimeline_startFrame= playbackOptions( q = True, min = True )Timeline_endFrame=playbackOptions( q = True, max = True )print Timeline_endFrameif not Bake_Grp:error( u'请选择要BAKE的物体' )elif fromCurFrame > 0 and rangeSpecified==0:print u'从当前帧开始BAKE'bakeResults(Bake_Grp,t=(currentFrame,Timeline_endFrame),sb=1)elif rangeSpecified==0:bakeResults(Bake_Grp,t=(Timeline_startFrame,Timeline_endFrame),sb=1)elif rangeSpecified>0:start=intFieldGrp( win + '__range_IFG', q = True, value1 = True )end=intFieldGrp( win + '__range_IFG', q = True, value2 = True )bakeResults(Bake_Grp,t=(start,end),sb=1)else:print u'从设置的帧开始BAKE'start=intFieldGrp( win + '__range_IFG', q = True, value1 = True )end=intFieldGrp( win + '__range_IFG', q = True, value2 = True )bakeResults(Bake_Grp,t=(start,end),sb=1)def main():quickBakeUI()if __name__ == '__main__':main()

MAYA中 快速Bake物体关键帧相关推荐

  1. 在Maya中快速建模的几种技巧!新手都看呆了,你还不会?

    在Maya中其实有多种方法可以完成所有工作,而且作为初学者,几乎不可能立即学习每个工具.很容易陷入例行工作,以为自己在高效地做某事,其实不然.在Maya中使用以下五种工具,如果使用正确,它们可以极大地 ...

  2. maya腿的蒙皮旋转枢轴_完美动力小课堂:怎么快速修改物体枢轴?这个方法值得收藏!...

    在Maya的学习使用过程中,经常会需要修改物体的枢轴,这期Maya使用技巧中,就来和大家分享一下新版本Maya中快速修改物体枢轴的方法. 自Maya2015中新增自定义枢轴的功能以来,很多同学甚至多年 ...

  3. 关于maya中的sets集

    maya中的sets集 前几天,同事问我maya中sets集怎么添加元素,当时脑海中第一下闪过的就是代码实现,但是maya自己究竟有没有菜单实现,这个说实在的当时还真不知道.毕竟几乎没有手动创建过se ...

  4. Python批量重命名Maya场景中的3D物体

    最初接触Maya是从7.0开始的,那时候Maya只支持mel(Maya Expression Language),mel的局限性很大,只能在Maya内部使用,功能来说没有Python强大: 后来从Ma ...

  5. 从maya中 导入物体 到Uniyt3D 规范 整理

    从maya中导入物体到Uniyt3D 我想,很多小白跟我一样,从maya或者3dmax中导入到u3d的物体不知道怎么用.我也是新手,共同分享一下今上午的经验. 我想大部分人看到我这个东西之前,已经看多 ...

  6. 【游戏建模全流程】在Maya中制作赛博朋克风格场景

    本文为大家分享使用Maya制作赛博朋克风格场景:Japan 2041的工作流程,并介绍制作过程中使用的工具和资源. 01创建场景 场景中的人物是原始概念项目中的DAZ 3D角色,这些衣服在Evgeni ...

  7. 论文阅读:超高分辨率图像中快速、准确的条码检测

    摘要 由于目标对象的尺度不同,超高分辨率 (UHR) 图像中的对象检测长期以来一直是计算机视觉中的一个具有挑战性的问题.在条码检测方面,将 UHR 输入图像调整为更小的尺寸通常会导致相关信息的丢失,而 ...

  8. [译] 使用 iPhone X 与 Maya 实现快速面部捕捉

    原文地址:Using iPhone X With Maya For Quick And Cheap Facial Capture 原文作者:IAN HAMILTON 译文出自:掘金翻译计划 本文永久链 ...

  9. 从Maya中把模型搬运至网页的过程

    虽然利用threejs来在网页中渲染3d模型不是第一次折腾了,但是还是遇到了各种问题.总结下我所遇到的问题,希望能给正在使用threejs的小伙伴一个帮助. 一.所使用的软件与开发环境 Maya201 ...

最新文章

  1. oracle union 类型转换,Oracle 中 union 和union all 的简单使用说明
  2. 创建型模式---工厂模式
  3. Discuz UCenter 修改手记 - 2014.12.19
  4. 消息队列——发布订阅模式
  5. Pr 入门教程,如何进行创意调整?
  6. 苹果python环境依赖库,【强迫症系列】【mac】更改 Python 的 pip install 默认安装依赖路径...
  7. c语言实训项目,C语言项目实训教程
  8. urule知识包的仿真测试导出excel报错java.lang.NoSuchMethodError
  9. 推动铅蓄电池绿色“转身”
  10. [题]走廊泼水节——#最小生成树kru
  11. E.密码(算法选修)
  12. Authorization loop detected on Conduit with realm “WSMAN“
  13. 东方影都2003_东方影都旅游攻略|电影博物馆amp;外景街最in玩法,get了吗?
  14. 色盲悖论_关于被色盲
  15. HDFS读写流程以及多节点、单节点磁盘负载均衡
  16. 请问怎样取三位数的百位数,个位数,和十位数呢 (拆分)?
  17. mxGraph画图区域使用鼠标滚轮实现放大/缩小
  18. Xming(windows下的X Server)的使用,在windows下运行你的终端和所有基于XWindow的程序
  19. 使用 VMware Server 在 Linux 上安装 Oracle RAC 10g
  20. 仙童半导体和“八叛逆”所缔造的硅谷模式

热门文章

  1. http协议入门之Content-Disposition
  2. 编译原理——语法制导翻译并产生中间代码(while,复合语句和过程调用语句的翻译)
  3. JS 特性:可选链(?.)
  4. 《Guava Floats类》学习笔记
  5. All About Floats
  6. Android大小单位转换工具类
  7. Java_Web实战(一) --环境搭建
  8. imap 已读回执_停止烦恼已读回执
  9. 使用聊天机器人做客服工作是一种什么体验?
  10. npm 错误 -errno -4048