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

Reply via email to