Revision: 26138
Updated Code
at April 24, 2010 11:00 by throb
Updated Code
from pymel.core import * import os def infoPrint(info): print ('\n[INFO]: %s\n') % (info) def errorPrint(error): print ('\n' + '='*20 + ' ERROR ' + '='*20 + '\n[ERROR] : ' + error + '\n' + '='*20 + ' ERROR ' + '='*20 + '\n') def exportVRScene (cam, range, layer=''): '''Export a VRScene file based on settings:\n camera - the render camera\n range - the frame range (formatted like '5-100')\n layer - the render layer (optional, and uses the default if none specified)\n ''' renderLayer = '' renderCam = '' infoPrint('Exporting VRScene with frame range %s' % range) startFrame = float(range.split('-')[0]) endFrame = float(range.split('-')[1]) if layer != '': if layer in ls (type='renderLayer'): renderLayer = layer for curCam in ls (type='camera'): if curCam == cam: renderCam = curCam if renderCam == '' : errorPrint ('camera %s not in scene' % (cam)) sys.exit(1) else : if getAttr (cam + '.renderable') == 1: infoPrint('Using camera %s' % (cam)) else: errorPrint('%s is not renderable!' % (cam)) sys.exit(1) if layer != '' : if renderLayer == '' : errorPrint('render layer %s not in scene' % (layer)) sys.exit(1) else : infoPrint('Using layer %s' % (layer)) editRenderLayerGlobals( currentRenderLayer=layer ) # set up the vray shite here setAttr('defaultRenderGlobals.animation', 1) setAttr('defaultRenderGlobals.startFrame', startFrame) setAttr('defaultRenderGlobals.endFrame', endFrame) setAttr('defaultRenderGlobals.byFrameStep', 1) setAttr('vraySettings.animBatchOnly', 0) setAttr('vraySettings.fileNamePadding', 4) setAttr('vraySettings.runToAnimationStart', 0) setAttr('vraySettings.runToCurrentTime', 0) setAttr('vraySettings.vrscene_render_on', 0) setAttr('vraySettings.vrscene_on', 1) setAttr('vraySettings.misc_separateFiles', 0) setAttr('vraySettings.misc_eachFrameInFile', 0) setAttr('vraySettings.misc_meshAsHex', 1) setAttr('vraySettings.misc_compressedVrscene', 1) setAttr('vraySettings.sys_low_thread_priority', 1) setAttr('vraySettings.imgOpt_exr_compression', 3) setAttr('vraySettings.imgOpt_exr_bitsPerChannel', 16) setAttr('vraySettings.imgOpt_exr_attributes', 'testing=foo') tmpdir = os.environ['TEMP'].replace('\\','/') vrScene = tmpdir + '/export.vrscene' for curfile in os.listdir(tmpdir): if curfile[-7:] == 'vrscene': os.unlink (tmpdir + '/' + curfile) infoPrint('Removed existing vrscene : %s' % curfile) setAttr ('vraySettings.vrscene_filename', vrScene) # check to see if the renderlayer is blank. if it is we don't export the layer. # simple eh? if layer != '': renderLayer = '-layer %s' % (renderLayer) else: renderLayer = '' vrendCommand = 'vrend -w 20 -h 20 -camera %s %s' % (renderCam, renderLayer) mel.eval (vrendCommand) if layer != '' : renderLayer = '_%s' % (layer) else : renderLayer = '_masterLayer' #if renderLayer == 'defaultRenderLayer': renderLayer = 'masterLayer' retVal = '%s/export%s.vrscene' % (tmpdir, renderLayer) infoPrint('Exported : %s' % (retVal)) return retVal
Revision: 26137
Updated Code
at April 24, 2010 10:25 by throb
Updated Code
from pymel.core import * import os def infoPrint(info): print ('\n[INFO]: %s\n') % (info) def errorPrint(error): print ('\n' + '='*20 + ' ERROR ' + '='*20 + '\n[ERROR] : ' + error + '\n' + '='*20 + ' ERROR ' + '='*20 + '\n') def exportVRScene (cam, range, layer=''): '''Export a VRScene file based on settings:\n camera - the render camera\n range - the frame range (formatted like '5-100')\n layer - the render layer (optional, and uses the default if none specified)\n ''' renderLayer = '' renderCam = '' print 'Exporting VRScene with frame range %s' % range startFrame = float(range.split('-')[0]) endFrame = float(range.split('-')[1]) if layer != '': if layer in ls (type='renderLayer'): renderLayer = layer for curCam in ls (type='camera'): if curCam == cam: renderCam = curCam if renderCam == '' : errorPrint ('camera %s not in scene' % (cam)) sys.exit(1) else : if getAttr (cam + '.renderable') == 1: infoPrint('Using camera %s' % (cam)) else: errorPrint('%s is not renderable!' % (cam)) sys.exit(1) if layer != '' : if renderLayer == '' : errorPrint('render layer %s not in scene' % (layer)) sys.exit(1) else : infoPrint('Using layer %s' % (layer)) editRenderLayerGlobals( currentRenderLayer=layer ) # set up the vray shite here setAttr('defaultRenderGlobals.animation', 1) setAttr('defaultRenderGlobals.startFrame', startFrame) setAttr('defaultRenderGlobals.endFrame', endFrame) setAttr('defaultRenderGlobals.byFrameStep', 1) setAttr('vraySettings.animBatchOnly', 0) setAttr('vraySettings.fileNamePadding', 4) setAttr('vraySettings.runToAnimationStart', 0) setAttr('vraySettings.runToCurrentTime', 0) setAttr('vraySettings.vrscene_render_on', 0) setAttr('vraySettings.vrscene_on', 1) setAttr('vraySettings.misc_separateFiles', 0) setAttr('vraySettings.misc_eachFrameInFile', 0) setAttr('vraySettings.misc_meshAsHex', 1) setAttr('vraySettings.misc_compressedVrscene', 1) setAttr('vraySettings.sys_low_thread_priority', 1) setAttr('vraySettings.imgOpt_exr_compression', 3) setAttr('vraySettings.imgOpt_exr_bitsPerChannel', 16) setAttr('vraySettings.imgOpt_exr_attributes', 'testing=foo') tmpdir = os.environ['TEMP'].replace('\\','/') vrScene = tmpdir + '/export.vrscene' for curfile in os.listdir(tmpdir): if curfile[-7:] == 'vrscene': os.unlink (tmpdir + '/' + curfile) infoPrint('Removed existing vrscene : %s' % curfile) setAttr ('vraySettings.vrscene_filename', vrScene) # check to see if the renderlayer is blank. if it is we don't export the layer. # simple eh? if layer != '': renderLayer = '-layer %s' % (renderLayer) else: renderLayer = '' vrendCommand = 'vrend -w 20 -h 20 -camera %s %s' % (renderCam, renderLayer) mel.eval (vrendCommand) if layer != '' : renderLayer = '_%s' % (layer) else : renderLayer = '_masterLayer' #if renderLayer == 'defaultRenderLayer': renderLayer = 'masterLayer' retVal = '%s/export%s.vrscene' % (tmpdir, renderLayer) infoPrint('Exported : %s' % (retVal)) return retVal
Revision: 26136
Updated Code
at April 18, 2010 21:09 by throb
Updated Code
from pymel.core import * import os def exportVRScene (cam, range, layer='defaultRenderLayer'): print 'Exporting VRScene with frame range %s' % range startFrame = float(range.split('-')[0]) endFrame = float(range.split('-')[1]) renderLayers = ls (type='renderLayer') renderLayer = '' for curLayer in renderLayers: if curLayer == layer: renderLayer = curLayer renderCam = '' for curCam in ls (type='camera'): if curCam == cam: renderCam = curCam if renderCam == '' : print 'Error : camera %s not in scene' % (cam) else : if getAttr (cam + '.renderable') == 1: print 'Using camera %s' % (cam) else: print '%s is not renderable!' % (cam) if renderLayer == '' : print 'Error : render layer %s not in scene' % (layer) else : print 'Using layer %s' % (layer) editRenderLayerGlobals( currentRenderLayer=layer ) # set up the vray shite here setAttr('defaultRenderGlobals.animation', 1) setAttr('defaultRenderGlobals.startFrame', startFrame) setAttr('defaultRenderGlobals.endFrame', endFrame) setAttr('defaultRenderGlobals.byFrameStep', 1) setAttr('vraySettings.animBatchOnly', 0) setAttr('vraySettings.fileNamePadding', 4) setAttr('vraySettings.runToAnimationStart', 0) setAttr('vraySettings.runToCurrentTime', 0) setAttr('vraySettings.vrscene_render_on', 0) setAttr('vraySettings.vrscene_on', 1) setAttr('vraySettings.misc_separateFiles', 0) setAttr('vraySettings.misc_eachFrameInFile', 0) setAttr('vraySettings.misc_meshAsHex', 1) setAttr('vraySettings.misc_compressedVrscene', 1) setAttr('vraySettings.sys_low_thread_priority', 1) tmpdir = os.environ['TEMP'].replace('\\','/') vrScene = tmpdir + '/export.vrscene' for curfile in os.listdir(tmpdir): if curfile[-7:] == 'vrscene': os.unlink (tmpdir + '/' + curfile) print 'Removed existing vrscene : %s' % curfile setAttr ('vraySettings.vrscene_filename', vrScene) vrendCommand = 'vrend -w 20 -h 20 -camera %s -layer %s' % (renderCam, renderLayer) mel.eval (vrendCommand) if renderLayer == 'defaultRenderLayer': renderLayer = 'masterLayer' retVal = '%s/export_%s_%s.vrscene' % (tmpdir, renderCam, renderLayer) return retVal #vrScenePath = exportVRScene ('PoopFaceShape','1-100')
Revision: 26135
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 18, 2010 19:31 by throb
Initial Code
import pymel.core as pm import os def exportVRScene (cam, range, layer='defaultRenderLayer'): print 'Exporting VRScene with frame range %s' % range startFrame = float(range.split('-')[0]) endFrame = float(range.split('-')[1]) renderLayers = ls (type='renderLayer') renderLayer = '' for curLayer in renderLayers: if curLayer == layer: renderLayer = curLayer renderCam = '' for curCam in ls (type='camera'): if curCam == cam: renderCam = curCam if renderCam == '' : print 'Error : camera %s not in scene' % (cam) else : if getAttr (cam + '.renderable') == 1: print 'Using camera %s' % (cam) else: print '%s is not renderable!' % (cam) if renderLayer == '' : print 'Error : render layer %s not in scene' % (layer) else : print 'Using layer %s' % (layer) pm.editRenderLayerGlobals( currentRenderLayer=layer ) # set up the vray shite here setAttr('defaultRenderGlobals.animation', 1) setAttr('defaultRenderGlobals.startFrame', startFrame) setAttr('defaultRenderGlobals.endFrame', endFrame) setAttr('defaultRenderGlobals.byFrameStep', 1) setAttr('vraySettings.animBatchOnly', 0) setAttr('vraySettings.fileNamePadding', 4) setAttr('vraySettings.runToAnimationStart', 0) setAttr('vraySettings.runToCurrentTime', 0) setAttr('vraySettings.vrscene_render_on', 0) setAttr('vraySettings.vrscene_on', 1) setAttr('vraySettings.misc_separateFiles', 0) setAttr('vraySettings.misc_eachFrameInFile', 0) setAttr('vraySettings.misc_meshAsHex', 1) setAttr('vraySettings.misc_compressedVrscene', 1) setAttr('vraySettings.sys_low_thread_priority', 1) tmpdir = os.environ['TEMP'].replace('\\','/') vrScene = tmpdir + '/export.vrscene' for curfile in os.listdir(tmpdir): if curfile[-7:] == 'vrscene': os.unlink (tmpdir + '/' + curfile) print 'Removed existing vrscene : %s' % curfile setAttr ('vraySettings.vrscene_filename', vrScene) vrendCommand = 'vrend -w 20 -h 20 -camera %s -layer %s' % (renderCam, renderLayer) mel.eval (vrendCommand) if renderLayer == 'defaultRenderLayer': renderLayer = 'masterLayer' retVal = '%s/export_%s_%s.vrscene' % (tmpdir, renderCam, renderLayer) return retVal # you can use a 3rd option to pick the layer you want to export vrScenePath = exportVRScene ('PoopFaceShape','1-100')
Initial URL
Initial Description
Currently supports exporting to VRScene only. This will change over time.
Initial Title
VRay Utils for Maya 2011
Initial Tags
Initial Language
Python