here is my stereo FBX cam importer so far:
it finds the right cams but the camera do not update its positions!!!
i have to switch the cameras and back or hit the reload button but then
the window pops up again.
script:
import nuke, nukescripts
def getStereoCamSetupFromFBX():
filepath = nuke.getFilename("Pick FBX wih StereoCameras",
"*.fbx","Y:/100_SHOTS/")
axisNode = nuke.createNode("Axis2")
offsetPosX = axisNode.xpos()
offsetPosY = axisNode.ypos()
cam_l = nuke.createNode('Camera2', 'file {'+filepath+'}
read_from_file True', inpanel=False)
cam_l.forceValidate()
cam_r = nuke.createNode('Camera2', 'file {'+filepath+'}
read_from_file True', inpanel=False)
cam_r.forceValidate()
cam_l.setInput(0,axisNode)
cam_r.setInput(0,axisNode)
cam_l.setName("FBX_Cam_Left")
cam_r.setName("FBX_Cam_Right")
cam_l.setXYpos(offsetPosX-90,offsetPosY+90)
cam_r.setXYpos(offsetPosX+90,offsetPosY+90)
strinStart = cam_l['fbx_node_name'].value().replace("Producer
","P_").replace('"','').find('}')
camList = cam_l['fbx_node_name'].value().replace("Producer
","P_").replace('"','')[strinStart+2:].rsplit(' ')
for itemPos in range(len(camList)):
if camList[itemPos] in ['Left','left','StereoCamera_Left']:
cam_l['fbx_node_name'].setValue(itemPos)
if camList[itemPos] in ['Right','right','StereoCamera_Right']:
cam_r['fbx_node_name'].setValue(itemPos)
sceneNode = nuke.createNode("Scene")
sceneNode.setXYpos(offsetPosX,offsetPosY+150)
sceneNode.setInput(0,cam_l)
sceneNode.setInput(1,cam_r)
dot2Scene = nuke.createNode("Dot")
dot2Scene.setXYpos(offsetPosX+25,offsetPosY+240)
dot2Scene.setInput(0,sceneNode)
bgNode = nuke.createNode("Constant")
bgNode.setXYpos(offsetPosX,offsetPosY+300)
dot2bg = nuke.createNode("Dot")
dot2bg.setInput(0,bgNode)
dot2bg.setXYpos(offsetPosX+25,offsetPosY+385)
scanRenderLinks = nuke.createNode("ScanlineRender")
scanRenderLinks.setName("ScanlineRender_Left")
scanRenderLinks.setInput(0,dot2bg)
scanRenderLinks.setInput(1,dot2Scene)
scanRenderLinks.setInput(2,cam_l)
scanRenderRechts = nuke.createNode("ScanlineRender")
scanRenderRechts.setName("ScanlineRender_Right")
scanRenderRechts.setInput(0,dot2bg)
scanRenderRechts.setInput(1,dot2Scene)
scanRenderRechts.setInput(2,cam_r)
scanRenderLinks.setXYpos(offsetPosX-90,offsetPosY+420)
scanRenderRechts.setXYpos(offsetPosX+90,offsetPosY+420)
nukescripts.stereo.setViewsForStereo()
joinViewsNode = nuke.createNode("JoinViews")
joinViewsNode.setInput(0,scanRenderLinks)
joinViewsNode.setInput(1,scanRenderRechts)
joinViewsNode.setXYpos(offsetPosX,offsetPosY+510)
___________
cheers,
vincent
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python