def setUpClass(cls): '''Procedurally create nodes for testing.''' # Add a PxrUsdIn node and set its motion sample times pxrUsdInNode = NodegraphAPI.CreateNode('PxrUsdIn', NodegraphAPI.GetRootNode()) pxrUsdInNode.getParameter('motionSampleTimes').setValue('0 -1', 0) # Add a RenderSettings node and turn on motion blur renderSettingsNode = NodegraphAPI.CreateNode( 'RenderSettings', NodegraphAPI.GetRootNode()) mts = renderSettingsNode.getParameter( 'args.renderSettings.maxTimeSamples') mts.getChild('value').setValue(2, 0) mts.getChild('enable').setValue(1, 0) sc = renderSettingsNode.getParameter( 'args.renderSettings.shutterClose') sc.getChild('value').setValue(0.5, 0) sc.getChild('enable').setValue(1, 0) # Connect the two nodes together and view from the RS node pxrUsdInNode.getOutputPortByIndex(0).connect( renderSettingsNode.getInputPortByIndex(0)) NodegraphAPI.SetNodeViewed(renderSettingsNode, True, True) # Set the current frame NodegraphAPI.SetCurrentTime(50)
def set_frame_range(start_frame, end_frame): ''' :description set the frame range (in and out time) of the current scene :param start_frame <int> :param end_frame <int> :example from core import nodegraph nodegraph.set_frame_range(1001, 1051) ''' NodegraphAPI.SetInTime(start_frame, final=True) NodegraphAPI.SetOutTime(end_frame, final=True) NodegraphAPI.SetCurrentTime(start_frame, final=True)
def convert(katanaFile, renderer, outputnode, startframe, endframe, imagename, imagedir, threadId): KatanaFile.Load(katanaFile) for i in range(int(startframe), (int(endframe) + 1)): NodegraphAPI.SetCurrentTime(i) fileExtension = '' if renderer == 'prman': fileExtension = 'rib' elif renderer == 'arnold': fileExtension = 'ass' fileName = os.path.join(imagedir, '%s%04d.%s') % (imagename, i, fileExtension) print '############################', fileName, '###############################' NodeDebugOutput.WriteRenderOutput(NodegraphAPI.GetNode(outputnode), renderer, filename=fileName) sys.stdout.write('[k2rrFrameConvProgress]_' + str(i) + '_thread_' + str(threadId) + '_') sys.stdout.write('[k2rrThreadFinished]_' + str(threadId) + '_')