源起
Error:setParent: Object 'renderView' not found
這是一個在工作中很常見的問題,以前做特效的時候有10%的概率會碰到,多發(fā)生在打開其他組交接來的Maya場景文件時;
當(dāng)你不管是從File菜單Open,還是直接拖進Maya都無法解決時、使用下面這段代碼即可;
過程
這原本是一段Mel,我用Python把她重寫了一下,變成了Python代碼~ 根據(jù)發(fā)展的趨勢,Python有可能全面取代Mel。
import maya.cmds as mcexists = 0getPan = mc.getPanel(scriptType = 'renderWindowPanel')for item in getPan: if item == 'renderView': print 'renderView exists./n' exists = 1if exists == 0: for item in getPan: print item + '/n' if item == 'renderWindowPanel1': mc.deleteUI( renderWindowPanel1 ) renderPanel = mc.scriptPanel( type = 'renderWindowPanel', unParent = renderView) mc.scriptedPanel( ex = 1, l = "renderPanel", rp = 'renderPanel')
把代碼復(fù)制到Maya的Script Editor,按Ctrl+Enter執(zhí)行即可;
有人用前臺渲染插件解決這個問題,其實前臺渲染插件的作用是解決“只能渲染一幀”的問題。
擴展
這段代碼還可以添加到Maya的工具架上,具體步驟如下:

在某些公司,他們把特效作為CG流程的最后一個環(huán)節(jié)(其實特效在建模確定之后就可以開始同步制作了),經(jīng)過模型、動畫、燈光、渲染打開過一遍的工程文件,交到特效組手上的時候就會充滿各種冗余節(jié)點,而很多人沒有清理場景的習(xí)慣,這樣就容易導(dǎo)致文件出現(xiàn)各種問題。
新聞熱點
疑難解答
圖片精選