12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
-
- class FrawExporter(KellerNukePlugin):
-
- def configurePlugin(self):
- self.menu = nuke.menu("Animation")
- self.menu.addCommand("Export fraw...", "frawExporter.export_fraw()")
-
-
-
- def unconfigurePlugin(self):
- self.menu.removeItem("Export fraw...")
- pass
-
-
-
-
- class ExportPanel(nukescripts.PythonPanel):
- def __init__(self):
- nukescripts.PythonPanel.__init__(self, 'Export fraw...')
-
-
- self.knob_startframe = nuke.Int_Knob("Start Frame")
- self.knob_startframe.setValue(nuke.Root()["first_frame"].getValue())
- self.addKnob(self.knob_startframe)
-
- self.knob_endframe = nuke.Int_Knob("End Frame")
- self.knob_endframe.setValue(nuke.Root()["last_frame"].getValue())
- self.addKnob(self.knob_endframe)
-
- self.knob_file = nuke.File_Knob("File")
- self.addKnob(self.knob_file)
-
-
- def _writeFile(contents, file):
- s = "%s 2" % str(len(contents))
-
- for cont in contents:
- s = s + "\n%.5f %.5f 0.00000 0.00000" % (cont[0], cont[1])
-
- #print s
- f = open(file, "w")
- f.write(s)
- f.close()
-
- def export_fraw():
-
-
- knob = nuke.thisKnob()
-
- p = ExportPanel()
- ret = p.showModalDialog()
-
-
- start = p.knob_startframe.getValue()
- end = p.knob_endframe.getValue()
-
- fps = float(nuke.Root()["fps"].getValue())
-
- filename = p.knob_file.getValue()
-
- if isinstance(knob, nuke.Array_Knob):
-
- for comp in range(knob.width()):
-
- contents = list()
- for i in range(start, end+1):
-
- time = float(i)/fps
- chval = knob.valueAt(int(i))[comp]
- contents.append( (time,chval) )
-
-
-
-
-
-
- _writeFile(contents, os.path.join( os.path.dirname(filename),str(comp)+ "_" + os.path.basename(filename)))
-
- else:
- contents = list()
- for i in range(start, end+1):
-
- time = float(i)/fps
- chval = knob.valueAt(int(i))
- contents.append((time,chval))
-
- _writeFile(contents, filename)
-
-
- #file = p.knob_file.getValue()
-
- #f = open(file, "w")
- #f.write(s)
- #f.close()
|