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

     

     

  • 相关阅读:
    免装版tomcat注册成windows系统服务方法
    IE下判断IE版本的语句...[if lte IE 8]……[endif]
    HTTP 消息结构
    RESTful API 设计指南
    Spring Cloud Alibaba Sentinel 流量卫兵
    SpringBoot 整合 ES 实现 CRUD 操作
    SpringBoot项目创建与第一个SSM项目示例
    SpringBoot整合邮件发送
    SpringBoot日志处理之Logback
    Java实现AES加密解密
  • 原文地址:https://www.cnblogs.com/jackchiang/p/4616965.html
Copyright © 2011-2022 走看看