文章来源:https://therenderblog.com/10-maya-tips-to-boost-your-workflow/,欢迎转载,转载请注明出处。如有翻译问题欢迎评论指教。
这篇文章我将分享一些小技巧和策略,可以帮助你提升在maya工作时的效率。从使用python小脚本缩小4k图像在渲染预览时的尺寸,到简单的技巧和快捷方式,我肯定能有适合周围maya艺术家的内容。
目录导航
#01 为多象限流程设置UV纹理编辑器
默认情况UV纹理编辑器只显示一个平铺。设置多平铺UV流程的话,在UV纹理编辑器找到View > grid [选项框]并设置你想显示的平铺数,使用上面的图片作为参考。
#02 不使用分层在视图冻结物体
如果你想把单个或一些物体设置成线框模式,但让别的物体仍处于着色显示,你可以把物体添加到一个层并“模板化”它。不过maya提供了一个不用层就可以模板化,或设置物体为边界框模式的方法。在物体上右键并选择Actions >> Template/Bouding Box。稍后恢复物体时只需要选择同位置的Untemplate即可。
#03 使用flushUndo释放部分内存
这条命令将清除撤销队列并释放部分内存。仅用于不再需要撤销步骤,例如删除物体的历史时。flushUndo运行后将清除并重新开始撤销记录。
1 2 3 4 | // mel flushUndo #python cmds.flushUndo() |
#04 禁止样例渲染避免maya崩溃
在大型场景里我们总有卡顿一阵子的经历,等待maya不要崩溃。解决卡顿有很多诀窍,比如用线框模式保存,这样maya文件在打开时会占用较少的资源。另一个我所用的诀窍是禁止样例(Swatcher)渲染。多数时候缩略图和样例并没有用处,如果觉得你的场景或节点需要一段时间更新缩略图和样例,关闭样例渲染是个不错的主意。你可以访问node editor >> options >> render swatches这个选项, 并在之后随时关闭。
(译注:根据maya中文官方帮助文档有关于样例的说明,启动 Maya2017时可以禁用样例生成,以便在节点编辑器、Hypershade和属性编辑器中均不渲染样例。
- 选择窗口 > 设置/首选项 > 首选项(Window > Settings/Preferences > Preferences)以打开“首选项”(Preferences)窗口。
- 在“显示”(Display)类别下,禁用“渲染样例(启动)”(Render swatches (startup))。
更多内容请查看https://help.autodesk.com/view/MAYAUL/2017/CHS/?guid=GUID-9BFB8717-DED0-431F-8F2B-F3A57D59386E)
#05 在maya内调整图像文件尺寸
假设你有一大堆4k纹理,要做一些渲染预览,你需要较小的文件来加速渲染。当然你可以在Photoshop里使用动作或其他方法调整图像尺寸。另一个选择是在maya内使用Python脚本,不仅可以调整图像尺寸,还可以让文件节点加载调整后的图像。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import maya.cmds as cmds import maya.OpenMaya as om fileNodes = cmds.ls(sl=1) width = 1024 height = 1024 image = om.MImage() for i in fileNodes: filePath = cmds.getAttr(i+'.fileTextureName') image.readFromFile ( filePath ) image.resize( width, height, False ) image.writeToFile( filePath.split(".")[0] +'_resized.png', 'png') # 使用缩小过的图像替换纹理文件 cmds.setAttr(i+'.fileTextureName', filePath.split(".")[0]+'_resized.png', type='string') |
如此你只需选择想要调整尺寸的文件节点并运行这个脚本,无论是多个文件还是单个都适用。你甚至可以放到工具架并稍加修改,来制作一个文件尺寸切换工具。
(译注:脚本中缩小尺寸为1024,纹理文件设定为png格式,可根据需要自行修改数值和文件类型。另外缩小的图像文件不会覆盖源文件,但是重复运行一次便会让纹理路径中多出现一次_resized字样,解决方法是运行文中提及的尺寸切换工具——还原4k纹理路径的Python脚本,不但可以还原未缩小前的原始纹理路径,运行一次还可删除一次_resized字样。代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | import maya.cmds as cmds import maya.OpenMaya as om fileNodes = cmds.ls(sl=1) image = om.MImage() for i in fileNodes: filePath = cmds.getAttr(i+'.fileTextureName') image.readFromFile ( filePath ) # 还原纹理文件为原始图像 cmds.setAttr(i+'.fileTextureName', filePath.replace("_resized.png",".png"), type='string') |
)
#06 为UV映射对齐摄影机到多边形
有时使用平面映射来开始UV处理很管用。你也可以选择特定坐标轴映射或在正视图用摄影机映射。如果你的物体跟映射摄影机不垂直,你可以选择一些面并执行视图菜单的view >> align camera to polygon。之后可以创建一个书签,便可以选择想要映射的面或已经保存的快速选择集,进行UV摄影机映射create uvs >> create uvs based on camera了。
#07 选择相邻面
在你模型的一些部分,选择特定的边循环可能很麻烦,需要手动选择。如上图我想要选择2列面循环,如果我使用扩大选择(grow selection)我将得到3个循环,但如果双击面来选择第二个面循环时,我可能得到垂直的边循环。所以在这种情况下,我选择中间的边循环用ctrl >> 右键变换选择 “to faces”得到结果。另一个选项 “contained faces” 或 “contained edges”对其它类型的选择也很有效。
#08 访问之前的命令
在命令行使用↑箭头可以访问以前使用的命令。这样的话如果你想调用几分钟前刚使用的命令,你就不必重新打开自述文档查询是什么命令了。
#09 属性编辑器自动加载
当你在maya选择一个物体属性编辑器将自动加载物体的属性。在某些情况下你可能不需要,例如调整平滑网格预览的细分时我不想看到物体的线框。所以如果我取消勾选属性编辑器菜单下的auto load selected attributes,我就可以取消选择对象但依然有属性在编辑器里可供调整。
#10 打开图片tmp文件夹的脚本
在你工程目录图片文件夹里,maya在“tmp”文件夹保存了你的渲染结果(非批渲染)。 这里有一个快速脚本你可以从maya用户界面快速打开项目所在的资源管理器。
1 2 3 4 5 6 | import maya.cmds as cmds def openImgTemp(*args): CurrentProject = cmds.workspace(q=1,fullName=1) path = CurrentProject + '/images/tmp/' os.startfile(path) |
希望你从这里学到了一些东西,欢迎留下评论与你的反馈或问题。
好屌!