zoukankan      html  css  js  c++  java
  • Python代码解决RenderView窗口not found问题

      源  起

      Error:setParent: Object 'renderView' not found

      这是一个在工作中很常见的问题,以前做特效的时候有10%的概率会碰到,多发生在打开其他组交接来的Maya场景文件时;

      当你不管是从File菜单Open,还是直接拖进Maya都无法解决时、使用下面这段代码即可

      过  程

      这原本是一段Mel,我用Python把她重写了一下,变成了Python代码~ 根据发展的趋势,Python有可能全面取代Mel。

    import maya.cmds as mc
    
    exists = 0
    getPan = mc.getPanel(scriptType = 'renderWindowPanel')
    for item in getPan:
        if item == 'renderView':
            print 'renderView exists.
    '
            exists = 1
    if exists == 0:
        for item in getPan:
            print item + '
    '
         if item == 'renderWindowPanel1': mc.deleteUI( renderWindowPanel1 ) renderPanel = mc.scriptPanel( type = 'renderWindowPanel', unParent = renderView) mc.scriptedPanel( ex = 1, l = "renderPanel", rp = 'renderPanel')

      把代码复制到Maya的Script Editor,按Ctrl+Enter执行即可;

      有人用前台渲染插件解决这个问题,其实前台渲染插件的作用是解决“只能渲染一帧”的问题。

      扩  展

      这段代码还可以添加到Maya的工具架上,具体步骤如下:

     

      在某些公司,他们把特效作为CG流程的最后一个环节(其实特效在建模确定之后就可以开始同步制作了),经过模型、动画、灯光、渲染打开过一遍的工程文件,交到特效组手上的时候就会充满各种冗余节点,而很多人没有清理场景的习惯,这样就容易导致文件出现各种问题。

     

     

  • 相关阅读:
    HDU 1022 Train Problem I
    HDU 1702 ACboy needs your help again!
    HDU 1294 Rooted Trees Problem
    HDU 1027 Ignatius and the Princess II
    HDU 3398 String
    HDU 1709 The Balance
    HDU 2152 Fruit
    HDU 1398 Square Coins
    HDU 3571 N-dimensional Sphere
    HDU 2451 Simple Addition Expression
  • 原文地址:https://www.cnblogs.com/jackchiang/p/4616965.html
Copyright © 2011-2022 走看看