Пример #1
0
	def exportShaders(self):
		"""export custom shaders from scene, ex: shaders for masks etc..."""
		lays = rlayer.renderlayers()
		finalExport = []
		for l in lays:
			if l.name == 'defaultRenderLayer':
				continue
			if l.overridedShader:
				finalExport.append( l.overridedShader )
			else:
				if l.overridesWithConnections[1]:
					finalExport.extend( l.overridesWithConnections[1] )
		if finalExport:
			shadersToExport = []
			for i in finalExport:
				if mc.referenceQuery( i, inr = True ) or i in shadersToExport: #is a referenced node
					continue
				if mc.referenceQuery( i.a.surfaceShader.input, inr = True ): #check if shader is a reference
					continue
				if i.a.displacementShader.input:
					if mc.referenceQuery( i.a.displacementShader.input, inr = True ): #check if displacement is a reference
						continue
				shadersToExport.append( i )
			mc.select( shadersToExport, r = 1, ne = 1 )
			mc.file( self.shaderPath.path, op = "v=0", typ = "mayaAscii", pr = 1, es = 1 )
Пример #2
0
	def exportData(self):
		"""export data from scene, objects overrides in renderlayers.. etc"""
		lays = rlayer.renderlayers()
		data = {}
		for l in lays:
			if l.name == 'defaultRenderLayer':
				continue
			data[l.name] = {'objects':l.objects,                  # OBJECTS IN LAYER
							'values' :l.overridesWithValues,      # OVERRIDED ATTRIBUTES ONLY CHANGED VALUES
							'conns'  :l.overridesWithConnections[0], # OVERRIDED ATTRIBUTES CHANGED CONNECTIONS
							'shader' :l.overridedShader           # OVERRIDE RENDERLAYER SHADER
							}
		pickle.dump( data, open( self.dataPath.path, "wb" ) )
Пример #3
0
	def _fillLayers(self):
		"""fill ui with render layers"""
		for r in rlayer.renderlayers():
			if ':defaultRenderLayer' in r.name:
				continue
			self.renderLayers_lay.addWidget( RenderLayerUI( r ) )