Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set cut_paste_input [stack 0]
- version 12.2 v7
- push $cut_paste_input
- Group {
- name ImagePlane3D4
- knobChanged "n = nuke.thisNode()\nk = nuke.thisKnob()\n\nif k.name() == 'inputChange':\n n\['distanceAxis'].setVisible(n\[\"isOn\"].value())\n n.knob('distance').setVisible(not n\[\"isOn\"].value())\n \nif k.name() == 'result':\n result = n.knob('result').getValue()\n if result == 0:\n n.knob('samples').setVisible(True)\n n.knob('motionblur').setVisible(False)\n elif result == 1 or result == 2 or result == 3 :\n n.knob('samples').setVisible(False)\n n.knob('motionblur').setVisible(True)\n"
- tile_color 0x3121a5ff
- label "ref \[value refFrame] dis: \[value distance]\n"
- note_font Verdana
- note_font_color 0xffffffff
- selected true
- xpos -370
- ypos -213
- addUserKnob {20 imagePlane3D l ImagePlane3D}
- addUserKnob {4 output l "<b><font color=skyblue>Output:" M {Stabilize Matchmove "" "" ""}}
- output Matchmove
- addUserKnob {4 result l Result: M {"3D Projection Setup" "Card3D Setup" "Live (Reconcile3D)" "Baked (Cornerpin)" "" "" "" "" "" "" ""}}
- result "Baked (Cornerpin)"
- addUserKnob {26 status l " Status:" T "<b> <font color=lime> Is Baked on Frames: 1001-1030"}
- addUserKnob {3 refFrame l "Ref Frame"}
- refFrame 1001
- addUserKnob {22 setRefFrame l "Set Ref Frame" -STARTLINE T "n = nuke.thisNode()\nref = n.knob('refFrame')\nframe = nuke.frame()\n\nref.setValue(frame)"}
- addUserKnob {7 distance l DistanceFromCam R 0 1000}
- distance 1.1
- addUserKnob {22 bakeFramerange l "<font color = lime>Bake FrameRange" T "import time\nimport threading\n\nn = nuke.thisNode()\n#Define this node\n\nstatus = n.knob(\"status\")\nresult = n.knob('result')\n\nr1 = nuke.toNode(\"Reconcile3DTL\")\nr2 = nuke.toNode(\"Reconcile3DTR\")\nr3 = nuke.toNode(\"Reconcile3DBL\")\nr4 = nuke.toNode(\"Reconcile3DBR\")\nrL = \[r1,r2,r3,r4]\n# Define reconcile3D nodes\n\n#bcg = n.knob(\"bakeColors\")\n\ncps = nuke.toNode(\"CornerPin2DBakedStabilize\")\ncpm = nuke.toNode(\"CornerPin2DBakedMatchmove\")\n# Define cornerpin node\n\nfirst_frame = int(nuke.Root()\['first_frame'].getValue())\nlast_frame = int(nuke.Root()\['last_frame'].getValue())\n# Grab first and last frame from root\n\np = nuke.Panel(\"Execute on FrameRange\")\np.addSingleLineInput('First Frame', first_frame)\np.addSingleLineInput('Last Frame', last_frame)\np.addSingleLineInput('Increment', 1)\nif p.show():\n# Create user input panel\n \n ff = int(p.value(\"First Frame\"))\n lf = int(p.value(\"Last Frame\"))\n i = int(p.value(\"Increment\"))\n # Define first, last, increment from user input panel\n \n #k = \"status\"\n l = \"<b> <font color=lime> Is Baked on Frames:\" + \" \" + str(ff) + \"-\" + str(lf)\n status.setValue(l)\n # Change status of node\n \n result.setValue(3)\n \n with n:\n r1\[\"calc_output\"].setValue(0)\n r2\[\"calc_output\"].setValue(0)\n r3\[\"calc_output\"].setValue(0)\n r4\[\"calc_output\"].setValue(0)\n # turn off live status of reconcile3Ds\n \n r1\[\"output\"].clearAnimated()\n r1\[\"outputxyz\"].clearAnimated()\n r2\[\"output\"].clearAnimated()\n r2\[\"outputxyz\"].clearAnimated()\n r3\[\"output\"].clearAnimated()\n r3\[\"outputxyz\"].clearAnimated()\n r4\[\"output\"].clearAnimated()\n r4\[\"outputxyz\"].clearAnimated()\n # Clear any data from all Reconcile3D nodes\n \n def execute(first,last,inc):\n runMe = True\n while runMe == True:\n nuke.execute(r1,first,last,inc) \n nuke.execute(r2,first,last,inc)\n nuke.execute(r3,first,last,inc)\n nuke.execute(r4,first,last,inc)\n stop_event.set()\n runMe = False\n print 'Reconcile3Ds done'\n break\n # Define Reconcile3D execution function\n \n global stop_event \n stop_event = threading.Event()\n threading.Thread(target=execute, kwargs=dict(first=ff,last=lf,inc=i) ).start() \n while not stop_event.is_set():\n time.sleep(0.1)\n # run Reconcile3Ds with threading\n \n cps\[\"from4\"].copyAnimations(r1\[\"output\"].animations())\n cps\[\"from3\"].copyAnimations(r2\[\"output\"].animations())\n cps\[\"from1\"].copyAnimations(r3\[\"output\"].animations())\n cps\[\"from2\"].copyAnimations(r4\[\"output\"].animations())\n \n cpm\[\"to4\"].copyAnimations(r1\[\"output\"].animations())\n cpm\[\"to3\"].copyAnimations(r2\[\"output\"].animations())\n cpm\[\"to1\"].copyAnimations(r3\[\"output\"].animations())\n cpm\[\"to2\"].copyAnimations(r4\[\"output\"].animations())\n # copy reconcile3D values over to cornerpins\n \n r1\[\"output\"].clearAnimated()\n r1\[\"outputxyz\"].clearAnimated()\n r2\[\"output\"].clearAnimated()\n r2\[\"outputxyz\"].clearAnimated()\n r3\[\"output\"].clearAnimated()\n r3\[\"outputxyz\"].clearAnimated()\n r4\[\"output\"].clearAnimated()\n r4\[\"outputxyz\"].clearAnimated()\n # clear animation from live reconcile3Ds\n \n r1\[\"calc_output\"].setValue(1)\n r2\[\"calc_output\"].setValue(1)\n r3\[\"calc_output\"].setValue(1)\n r4\[\"calc_output\"].setValue(1)\n # make reconcile3ds live again\n " +STARTLINE}
- addUserKnob {22 clearBaked l "<font color = orangered>Clear Baked" -STARTLINE T "n = nuke.thisNode()\nw = n.width()\nh = n.height()\nresult = n.knob('result')\n\ncps = nuke.toNode(\"CornerPin2DBakedStabilize\")\ncpm = nuke.toNode(\"CornerPin2DBakedMatchmove\")\nstatus = n.knob(\"status\")\n\ncpsfrom1 = cps.knob(\"from1\")\ncpsfrom2 = cps.knob(\"from2\")\ncpsfrom3 = cps.knob(\"from3\")\ncpsfrom4 = cps.knob(\"from4\")\n\ncpmto1 = cpm.knob(\"to1\")\ncpmto2 = cpm.knob(\"to2\")\ncpmto3 = cpm.knob(\"to3\")\ncpmto4 = cpm.knob(\"to4\")\n\ncpsfrom1.clearAnimated()\ncpsfrom2.clearAnimated()\ncpsfrom3.clearAnimated()\ncpsfrom4.clearAnimated()\ncpmto1.clearAnimated()\ncpmto2.clearAnimated()\ncpmto3.clearAnimated()\ncpmto4.clearAnimated()\n\ncpsfrom1.setValue(0,0)\ncpsfrom1.setValue(0,1)\ncpsfrom2.setValue(w,0)\ncpsfrom2.setValue(0,1)\ncpsfrom3.setValue(w,0)\ncpsfrom3.setValue(h,1)\ncpsfrom4.setValue(0,0)\ncpsfrom4.setValue(h,1)\n\ncpmto1.setValue(0,0)\ncpmto1.setValue(0,1)\ncpmto2.setValue(w,0)\ncpmto2.setValue(0,1)\ncpmto3.setValue(w,0)\ncpmto3.setValue(h,1)\ncpmto4.setValue(0,0)\ncpmto4.setValue(h,1)\n\nstatus.setValue(\"<font color=salmon> Is NOT Baked\")\nresult.setValue(2)"}
- addUserKnob {22 exportBakedTrack l "<font color = violet>Export Baked CornerPin" T "n = nuke.thisNode()\n\ncps = nuke.toNode(\"CornerPin2DBakedStabilize\")\ncpsName = str(n.name())\nrefFrame = int(n.knob(\"refFrame\").value())\ndist = n.knob(\"distance\").value()\n\ncpsfrom1 = cps.knob(\"from1\")\ncpsfrom2 = cps.knob(\"from2\")\ncpsfrom3 = cps.knob(\"from3\")\ncpsfrom4 = cps.knob(\"from4\")\n\nwith nuke.Root():\n posX = n.knob(\"xpos\").value()\n posY = n.knob(\"ypos\").value()\n nukescripts.clear_selection_recursive()\n cpn = nuke.createNode('CornerPin2D')\n cpn.setName(cpsName + \"_CnrPin\")\n cpn.knob('xpos').setValue(posX +100)\n cpn.knob('ypos').setValue(posY +70)\n cpn.autoplace()\n cpn.setInput(0, None)\n \n cpnto1 = cpn.knob('to1')\n cpnto2 = cpn.knob('to2')\n cpnto3 = cpn.knob('to3')\n cpnto4 = cpn.knob('to4')\n \n cpnfrom1 = cpn.knob('from1')\n cpnfrom2 = cpn.knob('from2')\n cpnfrom3 = cpn.knob('from3')\n cpnfrom4 = cpn.knob('from4')\n \n cpnfrom1.copyAnimations(cpsfrom1.animations())\n cpnfrom2.copyAnimations(cpsfrom2.animations())\n cpnfrom3.copyAnimations(cpsfrom3.animations())\n cpnfrom4.copyAnimations(cpsfrom4.animations())\n \n tab = nuke.Tab_Knob('settings', 'Settings')\n \n setCurrentFrameBtn = nuke.PyScript_Knob(\"setCurrentFrame\", \"Set to Current Frame\")\n setCurrentFrameBtn.setCommand('n = nuke.thisNode()\\nrefFrame = n.knob(\"refFrame\")\\nrefFrame.setValue(nuke.frame())\\nrefFrame = refFrame.getValue()\\noutput = n.knob(\"output\")\\nto1 = n.knob(\"to1\")\\nto2 = n.knob(\"to2\")\\nto3 = n.knob(\"to3\")\\nto4 = n.knob(\"to4\")\\nfrom1 = n.knob(\"from1\")\\nfrom2 = n.knob(\"from2\")\\nfrom3 = n.knob(\"from3\")\\nfrom4 = n.knob(\"from4\")\\nif output.getValue() == 0:\\n to1.setValue(from1.getValueAt(refFrame))\\n to2.setValue(from2.getValueAt(refFrame))\\n to3.setValue(from3.getValueAt(refFrame))\\n to4.setValue(from4.getValueAt(refFrame))\\nif output.getValue() == 1:\\n from1.setValue(to1.getValueAt(refFrame))\\n from2.setValue(to2.getValueAt(refFrame))\\n from3.setValue(to3.getValueAt(refFrame))\\n from4.setValue(to4.getValueAt(refFrame))')\n \n setFrameBtn = nuke.PyScript_Knob('setFrame', 'Set Frame')\n setFrameBtn.setCommand('n = nuke.thisNode()\\nrefFrame = n.knob(\\\"refFrame\\\").getValue()\\noutput = n.knob(\\\"output\\\")\\nto1 = n.knob(\\\"to1\\\")\\nto2 = n.knob(\\\"to2\\\")\\nto3 = n.knob(\\\"to3\\\")\\nto4 = n.knob(\\\"to4\\\")\\nfrom1 = n.knob(\\\"from1\\\")\\nfrom2 = n.knob(\\\"from2\\\")\\nfrom3 = n.knob(\\\"from3\\\")\\nfrom4 = n.knob(\\\"from4\\\")\\nif output.getValue() == 0:\\n to1.setValue(from1.getValueAt(refFrame))\\n to2.setValue(from2.getValueAt(refFrame))\\n to3.setValue(from3.getValueAt(refFrame))\\n to4.setValue(from4.getValueAt(refFrame))\\nif output.getValue() == 1:\\n from1.setValue(to1.getValueAt(refFrame))\\n from2.setValue(to2.getValueAt(refFrame))\\n from3.setValue(to3.getValueAt(refFrame))\\n from4.setValue(to4.getValueAt(refFrame))')\n \n StabBtn = nuke.PyScript_Knob(\"stabilize\", \"<font color=lime>Stabilize\")\n StabBtn.setFlag(nuke.STARTLINE)\n StabBtn.setCommand('n = nuke.thisNode()\\nstab = n.knob(\"stabilize\")\\nmatch = n.knob(\"matchmove\")\\noutput = n.knob(\"output\")\\nrefFrame = n.knob(\"refFrame\").getValue()\\nif output.getValue() == 1:\\n stab.setLabel(\"<font color=lime>Stabilize\")\\n match.setLabel(\"<font color=salmon>Matchmove\")\\n to1 = n.knob(\"to1\")\\n to2 = n.knob(\"to2\")\\n to3 = n.knob(\"to3\")\\n to4 = n.knob(\"to4\")\\n from1 = n.knob(\"from1\")\\n from2 = n.knob(\"from2\")\\n from3 = n.knob(\"from3\")\\n from4 = n.knob(\"from4\")\\n from1.copyAnimations(to1.animations())\\n from2.copyAnimations(to2.animations())\\n from3.copyAnimations(to3.animations())\\n from4.copyAnimations(to4.animations())\\n to1.clearAnimated()\\n to2.clearAnimated()\\n to3.clearAnimated()\\n to4.clearAnimated()\\n to1.setValue(from1.getValueAt(refFrame))\\n to2.setValue(from2.getValueAt(refFrame))\\n to3.setValue(from3.getValueAt(refFrame))\\n to4.setValue(from4.getValueAt(refFrame))\\n output.setValue(0)')\n \n MatchBtn = nuke.PyScript_Knob(\"matchmove\", \"<font color=salmon>Matchmove\")\n MatchBtn.setCommand('n = nuke.thisNode()\\nstab = n.knob(\"stabilize\")\\nmatch = n.knob(\"matchmove\")\\noutput = n.knob(\"output\")\\nrefFrame = n.knob(\"refFrame\").getValue()\\nif output.getValue() == 0:\\n stab.setLabel(\"<font color=salmon>Stabilize\")\\n match.setLabel(\"<font color=lime>Matchmove\")\\n to1 = n.knob(\"to1\")\\n to2 = n.knob(\"to2\")\\n to3 = n.knob(\"to3\")\\n to4 = n.knob(\"to4\")\\n from1 = n.knob(\"from1\")\\n from2 = n.knob(\"from2\")\\n from3 = n.knob(\"from3\")\\n from4 = n.knob(\"from4\")\\n to1.copyAnimations(from1.animations())\\n to2.copyAnimations(from2.animations())\\n to3.copyAnimations(from3.animations())\\n to4.copyAnimations(from4.animations())\\n from1.clearAnimated()\\n from2.clearAnimated()\\n from3.clearAnimated()\\n from4.clearAnimated()\\n from1.setValue(to1.getValueAt(refFrame))\\n from2.setValue(to2.getValueAt(refFrame))\\n from3.setValue(to3.getValueAt(refFrame))\\n from4.setValue(to4.getValueAt(refFrame))\\n output.setValue(1)')\n\n pulldownStatus = nuke.Enumeration_Knob('output', 'Output', \['Stabilized', 'Matchmoved'])\n \n intFrame = nuke.Int_Knob(\"refFrame\", \"Ref Frame\")\n intFrame.setFlag(nuke.STARTLINE)\n cpn.addKnob(tab)\n \n cpn.addKnob(setCurrentFrameBtn)\n cpn.addKnob(intFrame)\n cpn.knob(\"refFrame\").setValue(refFrame)\n \n cpn.addKnob(setFrameBtn)\n \n cpn.addKnob(StabBtn)\n cpn.addKnob(MatchBtn)\n \n cpn.addKnob(pulldownStatus)\n cpn.knob('output').setVisible(False)\n \n cpnto1.setValue(cpnfrom1.getValueAt(refFrame))\n cpnto2.setValue(cpnfrom2.getValueAt(refFrame))\n cpnto3.setValue(cpnfrom3.getValueAt(refFrame))\n cpnto4.setValue(cpnfrom4.getValueAt(refFrame))\n \n cpn\['label'].setValue('rf: \[value refFrame] dist: \{\}'.format(dist))" +STARTLINE}
- addUserKnob {22 exportLinkedTrack l "<font color = violet>Export Linked CornerPin" -STARTLINE T "n = nuke.thisNode()\n\ncps = nuke.toNode(\"CornerPin2DBakedStabilize\")\nnName = str(n.name())\ncpsName = str(cps.name())\nrefFrame = int(n.knob(\"refFrame\").value())\ndist = n.knob(\"distance\").value()\n\ncpsfrom1 = cps.knob(\"from1\")\ncpsfrom2 = cps.knob(\"from2\")\ncpsfrom3 = cps.knob(\"from3\")\ncpsfrom4 = cps.knob(\"from4\")\n\nwith nuke.Root():\n posX = n.knob(\"xpos\").value()\n posY = n.knob(\"ypos\").value()\n cpn = nuke.createNode('CornerPin2D')\n cpn.setName(nName + \"_Tracker\")\n cpn.knob('xpos').setValue(posX +100)\n cpn.knob('ypos').setValue(posY +70)\n cpn.autoplace()\n cpn.setInput(0, None)\n \n cpnto1 = cpn.knob('to1')\n cpnto2 = cpn.knob('to2')\n cpnto3 = cpn.knob('to3')\n cpnto4 = cpn.knob('to4')\n \n cpnfrom1 = cpn.knob('from1')\n cpnfrom2 = cpn.knob('from2')\n cpnfrom3 = cpn.knob('from3')\n cpnfrom4 = cpn.knob('from4')\n \n cpnfrom1.setExpression(nName + \".\" + cpsName + \".\" + \"from1\")\n cpnfrom2.setExpression(nName + \".\" + cpsName + \".\" + \"from2\")\n cpnfrom3.setExpression(nName + \".\" + cpsName + \".\" + \"from3\")\n cpnfrom4.setExpression(nName + \".\" + cpsName + \".\" + \"from4\")\n \n tab = nuke.Tab_Knob('settings', 'Settings')\n \n setCurrentFrameBtn = nuke.PyScript_Knob(\"setCurrentFrame\", \"Set to Current Frame\")\n setCurrentFrameBtn.setCommand('n = nuke.thisNode()\\nrefFrame = n.knob(\"refFrame\")\\nrefFrame.setValue(nuke.frame())\\nrefFrame = refFrame.getValue()\\noutput = n.knob(\"output\")\\nto1 = n.knob(\"to1\")\\nto2 = n.knob(\"to2\")\\nto3 = n.knob(\"to3\")\\nto4 = n.knob(\"to4\")\\nfrom1 = n.knob(\"from1\")\\nfrom2 = n.knob(\"from2\")\\nfrom3 = n.knob(\"from3\")\\nfrom4 = n.knob(\"from4\")\\nif output.getValue() == 0:\\n to1.setValue(from1.getValueAt(refFrame))\\n to2.setValue(from2.getValueAt(refFrame))\\n to3.setValue(from3.getValueAt(refFrame))\\n to4.setValue(from4.getValueAt(refFrame))\\nif output.getValue() == 1:\\n from1.setValue(to1.getValueAt(refFrame))\\n from2.setValue(to2.getValueAt(refFrame))\\n from3.setValue(to3.getValueAt(refFrame))\\n from4.setValue(to4.getValueAt(refFrame))')\n \n setFrameBtn = nuke.PyScript_Knob('setFrame', 'Set Frame')\n setFrameBtn.setCommand('n = nuke.thisNode()\\nrefFrame = n.knob(\\\"refFrame\\\").getValue()\\noutput = n.knob(\\\"output\\\")\\nto1 = n.knob(\\\"to1\\\")\\nto2 = n.knob(\\\"to2\\\")\\nto3 = n.knob(\\\"to3\\\")\\nto4 = n.knob(\\\"to4\\\")\\nfrom1 = n.knob(\\\"from1\\\")\\nfrom2 = n.knob(\\\"from2\\\")\\nfrom3 = n.knob(\\\"from3\\\")\\nfrom4 = n.knob(\\\"from4\\\")\\nif output.getValue() == 0:\\n to1.setValue(from1.getValueAt(refFrame))\\n to2.setValue(from2.getValueAt(refFrame))\\n to3.setValue(from3.getValueAt(refFrame))\\n to4.setValue(from4.getValueAt(refFrame))\\nif output.getValue() == 1:\\n from1.setValue(to1.getValueAt(refFrame))\\n from2.setValue(to2.getValueAt(refFrame))\\n from3.setValue(to3.getValueAt(refFrame))\\n from4.setValue(to4.getValueAt(refFrame))')\n \n StabBtn = nuke.PyScript_Knob(\"stabilize\", \"<font color=lime>Stabilize\")\n StabBtn.setFlag(nuke.STARTLINE)\n StabBtn.setCommand('n = nuke.thisNode()\\nstab = n.knob(\"stabilize\")\\nmatch = n.knob(\"matchmove\")\\noutput = n.knob(\"output\")\\nrefFrame = n.knob(\"refFrame\").getValue()\\nif output.getValue() == 1:\\n stab.setLabel(\"<font color=lime>Stabilize\")\\n match.setLabel(\"<font color=salmon>Matchmove\")\\n to1 = n.knob(\"to1\")\\n to2 = n.knob(\"to2\")\\n to3 = n.knob(\"to3\")\\n to4 = n.knob(\"to4\")\\n from1 = n.knob(\"from1\")\\n from2 = n.knob(\"from2\")\\n from3 = n.knob(\"from3\")\\n from4 = n.knob(\"from4\")\\n from1.copyAnimations(to1.animations())\\n from2.copyAnimations(to2.animations())\\n from3.copyAnimations(to3.animations())\\n from4.copyAnimations(to4.animations())\\n to1.clearAnimated()\\n to2.clearAnimated()\\n to3.clearAnimated()\\n to4.clearAnimated()\\n to1.setValue(from1.getValueAt(refFrame))\\n to2.setValue(from2.getValueAt(refFrame))\\n to3.setValue(from3.getValueAt(refFrame))\\n to4.setValue(from4.getValueAt(refFrame))\\n output.setValue(0)')\n \n MatchBtn = nuke.PyScript_Knob(\"matchmove\", \"<font color=salmon>Matchmove\")\n MatchBtn.setCommand('n = nuke.thisNode()\\nstab = n.knob(\"stabilize\")\\nmatch = n.knob(\"matchmove\")\\noutput = n.knob(\"output\")\\nrefFrame = n.knob(\"refFrame\").getValue()\\nif output.getValue() == 0:\\n stab.setLabel(\"<font color=salmon>Stabilize\")\\n match.setLabel(\"<font color=lime>Matchmove\")\\n to1 = n.knob(\"to1\")\\n to2 = n.knob(\"to2\")\\n to3 = n.knob(\"to3\")\\n to4 = n.knob(\"to4\")\\n from1 = n.knob(\"from1\")\\n from2 = n.knob(\"from2\")\\n from3 = n.knob(\"from3\")\\n from4 = n.knob(\"from4\")\\n to1.copyAnimations(from1.animations())\\n to2.copyAnimations(from2.animations())\\n to3.copyAnimations(from3.animations())\\n to4.copyAnimations(from4.animations())\\n from1.clearAnimated()\\n from2.clearAnimated()\\n from3.clearAnimated()\\n from4.clearAnimated()\\n from1.setValue(to1.getValueAt(refFrame))\\n from2.setValue(to2.getValueAt(refFrame))\\n from3.setValue(to3.getValueAt(refFrame))\\n from4.setValue(to4.getValueAt(refFrame))\\n output.setValue(1)')\n\n pulldownStatus = nuke.Enumeration_Knob('output', 'Output', \['Stabilized', 'Matchmoved'])\n \n intFrame = nuke.Int_Knob(\"refFrame\", \"Ref Frame\")\n intFrame.setFlag(nuke.STARTLINE)\n cpn.addKnob(tab)\n \n cpn.addKnob(setCurrentFrameBtn)\n cpn.addKnob(intFrame)\n cpn.knob(\"refFrame\").setValue(refFrame)\n \n cpn.addKnob(setFrameBtn)\n \n cpn.addKnob(StabBtn)\n cpn.addKnob(MatchBtn)\n \n cpn.addKnob(pulldownStatus)\n cpn.knob('output').setVisible(False)\n \n cpnto1.setValue(cpnfrom1.getValueAt(refFrame))\n cpnto2.setValue(cpnfrom2.getValueAt(refFrame))\n cpnto3.setValue(cpnfrom3.getValueAt(refFrame))\n cpnto4.setValue(cpnfrom4.getValueAt(refFrame))\n \n cpn\['label'].setValue('rf: \[value refFrame] dist: \{\}'.format(dist))"}
- addUserKnob {41 isOn +INVISIBLE T isON.isOn}
- addUserKnob {7 distanceAxis l DistanceToAxis +HIDDEN R 0 1000}
- distanceAxis {{AxisDistance.NoOp1.distance}}
- addUserKnob {26 overscanSettings l "<b><font color=skyblue>Overscan"}
- addUserKnob {7 overscan l Overscan R 0 200}
- overscan 200
- addUserKnob {26 mBlurSettings l "<b><font color=skyblue>MotionBlur"}
- addUserKnob {7 samples +HIDDEN R 1 10}
- samples 1
- addUserKnob {7 motionblur}
- addUserKnob {7 shutter R 0 2}
- shutter 0.5
- addUserKnob {41 shutteroffset l "shutter offset" T TimeBlur.shutteroffset}
- }
- BackdropNode {
- inputs 0
- name BackdropNode1
- tile_color 0x57614e00
- label Live
- note_font_size 60
- note_font_color 0xffffffff
- xpos 1893
- ypos 398
- bdwidth 301
- bdheight 350
- }
- BackdropNode {
- inputs 0
- name BackdropNode2
- tile_color 0x3c472700
- label Baked
- note_font_size 60
- note_font_color 0xffffffff
- xpos 2354
- ypos 382
- bdwidth 300
- bdheight 358
- }
- BackdropNode {
- inputs 0
- name BackdropNode3
- tile_color 0x5e443cff
- label Card3D
- note_font_size 100
- note_font_color 0xffffffff
- xpos 1129
- ypos -908
- bdwidth 400
- bdheight 1690
- }
- BackdropNode {
- inputs 0
- name BackdropNode4
- tile_color 0x686b5900
- label "Projection 3D setup"
- note_font_size 60
- note_font_color 0xffffffff
- xpos -13
- ypos -827
- bdwidth 735
- bdheight 1748
- }
- BackdropNode {
- inputs 0
- name BackdropNode5
- tile_color 0x44573100
- label "Corners of Cards \nfor Reconcile 3D"
- note_font_size 60
- note_font_color 0xffffffff
- xpos 1771
- ypos -1109
- bdwidth 763
- bdheight 1355
- }
- BackdropNode {
- inputs 0
- name BackdropNode6
- tile_color 0x555f6b00
- label "input cam"
- note_font_size 60
- note_font_color 0xffffffff
- xpos 929
- ypos -1247
- bdwidth 267
- bdheight 232
- }
- BackdropNode {
- inputs 0
- name BackdropNode8
- tile_color 0x4b5a2e00
- label Camera
- note_font_size 60
- note_font_color 0xffffffff
- xpos -638
- ypos -401
- bdwidth 442
- bdheight 1189
- }
- Input {
- inputs 0
- name Inputcam
- xpos -598
- ypos -300
- number 1
- }
- set Nb50bec00 [stack 0]
- Camera {
- projection_mode {{"\[value the_cam]projection_mode"}}
- focal {{"\[value \[value the_cam]focal]"}}
- haperture {{"\[value \[value the_cam]haperture]"}}
- vaperture {{"\[value \[value the_cam]vaperture]"}}
- near {{"\[value \[value the_cam]near]"}}
- far {{"\[value \[value the_cam]far]"}}
- win_translate {{"\[lindex \[value \[value the_cam]win_translate] 0]"} {"\[lindex \[value \[value the_cam]win_translate] 1]"}}
- win_scale {{"\[lindex \[value \[value the_cam]win_scale] 0]"} {"\[lindex \[value \[value the_cam]win_scale] 1]"}}
- winroll {{"\[value \[value the_cam]winroll]"}}
- focal_point {{"\[value \[value the_cam]focal_point]"}}
- fstop {{"\[value \[value the_cam]fstop]"}}
- name DummyCam
- help "DummyCam by Adrian Pueyo\n\nCamera that apart from the matrices also grabs all the \"Projection\" values from the upstream camera that it's connected to. Turns into a default Camera if not Camera connected.\n\nCan also be used inside of groups and gizmos, as many levels deep as you want :D\n\nAll using live and super fast TCL.\n\nadrianpueyo.com, 2019"
- onCreate "n = nuke.thisNode()\nfor k in \[\"projection_mode\",\"focal\",\"haperture\",\"vaperture\",\"near\",\"far\",\"win_translate\",\"win_scale\",\"winroll\",\"focal_point\",\"fstop\"]:\n n\[k].setFlag(0x0000000010000000)"
- xpos 969
- ypos -1133
- addUserKnob {20 DummyCam l Defaults}
- addUserKnob {43 the_cam +INVISIBLE}
- the_cam "\[\nset the_knob \"focal\"\nset knob_index 0\nset starting_point \"this.input0\"\nset default \"this\"\nset default \[append default \".d_\"]\n\n# If cam has no inputs, return the default...\nif \{\[exists \$starting_point]\} \{\n set x \[node \$starting_point]\n\} \{ \n return \$default\n\}\n\nset finished 0\nwhile \{\$finished != 1\} \{\n\n # First look for a Cam or Input or topnode.\n while \{\[class \$x] != \"Camera2\" && \[class \$x] != \"Camera\" && \[class \$x] != \"Input\" && \$x != \[topnode \$x]\} \{\n set x \[node \$x.input0]\n \}\n\n # Then, check if node is a cam (and return), and otherwise, if it's an input, see if the parent exists and move to it.\n if \{\[class \$x]==\"Camera2\"||\[class \$x]==\"Camera\"\} \{\n set x \[append x \".\"]\n return \$x\n \} \{ \n if \{\[class \$x]==\"Input\"\} \{ \n set inp \"\$x.parent.input\"\n set inputNum \[value \$x.number]\n set inp \[append inp \$inputNum]\n if \{\[exists \$inp]\} \{\n set x \[node \$inp]\n \} \{ \n set finished 1\n \}\n \} \{ \n set finished 1\n \}\n \}\n\}\nreturn \$default\n]"
- addUserKnob {4 d_projection_mode l projection M {perspective orthographic uv spherical ""}}
- addUserKnob {7 d_focal l focal R 0 100}
- d_focal 60
- addUserKnob {7 d_haperture l "horiz aperture" R 0 50}
- d_haperture 24.576
- addUserKnob {7 d_vaperture l "vert aperture" R 0 50}
- d_vaperture 18.672
- addUserKnob {7 d_near l near R 0 10}
- d_near 0.1
- addUserKnob {7 d_far l far R 0 10000}
- d_far 10000
- addUserKnob {12 d_win_translate l "window translate"}
- addUserKnob {12 d_win_scale l "window scale"}
- d_win_scale {1 1}
- addUserKnob {7 d_winroll l "window roll" R 0 45}
- addUserKnob {7 d_focal_point l "focal distance" R 0 10}
- d_focal_point 2
- addUserKnob {7 d_fstop l fstop R 0 30}
- d_fstop 16
- addUserKnob {26 text l " " T "<span style=\"color:#666\"><br/><b>DummyCam v1.0</b> - <a href=\"http://www.adrianpueyo.com\" style=\"color:#666;text-decoration: none;\">adrianpueyo.com</a>, 2019</span>"}
- }
- Dot {
- name Dot27
- note_font_size 41
- xpos 993
- ypos -974
- }
- set Nb50be000 [stack 0]
- Dot {
- name Dot23
- label cam
- note_font_size 41
- xpos 1317
- ypos -974
- }
- Axis2 {
- translate {0 0 {-parent.Settings.camDistance}}
- name CameraDistance
- label "dist to cam : \[value translate.z]"
- xpos 1293
- ypos -665
- }
- Axis2 {
- uniform_scale {{(DummyCam.haperture/DummyCam.focal)*Settings.camDistance}}
- name ScaleToFilmGateAxis
- label "uniform Scale : \[value uniform_scale]"
- xpos 1293
- ypos -539
- }
- set Nb50bd000 [stack 0]
- Axis2 {
- scaling {1 {DummyCam.vaperture/parent.DummyCam.haperture} 1}
- name AspectRatioScaleY
- label "scale Y : \[value scaling.y]"
- xpos 2131
- ypos -539
- }
- Dot {
- name Dot1
- note_font_size 41
- xpos 2155
- ypos -419
- }
- set Nb3d77c00 [stack 0]
- Card2 {
- inputs 0
- image_aspect false
- rows 4
- columns 4
- control_points {3 3 3 6
- 1 {-0.5 -0.5 0} 0 {0.1666666865 0 0} 0 {0 0 0} 0 {0 0.1666666865 0} 0 {0 0 0} 0 {0 0 0}
- 1 {0 -0.5 0} 0 {0.1666666716 0 0} 0 {-0.1666666716 0 0} 0 {0 0.1666666865 0} 0 {0 0 0} 0 {0.5 0 0}
- 1 {0.5 -0.5 0} 0 {0 0 0} 0 {-0.1666666865 0 0} 0 {0 0.1666666865 0} 0 {0 0 0} 0 {1 0 0}
- 1 {-0.5 0 0} 0 {0.1666666865 0 0} 0 {0 0 0} 0 {0 0.1666666716 0} 0 {0 -0.1666666716 0} 0 {0 0.5 0}
- 1 {0 0 0} 0 {0.1666666716 0 0} 0 {-0.1666666716 0 0} 0 {0 0.1666666716 0} 0 {0 -0.1666666716 0} 0 {0.5 0.5 0}
- 1 {0.5 0 0} 0 {0 0 0} 0 {-0.1666666865 0 0} 0 {0 0.1666666716 0} 0 {0 -0.1666666716 0} 0 {1 0.5 0}
- 1 {-0.5 0.5 0} 0 {0.1666666865 0 0} 0 {0 0 0} 0 {0 0 0} 0 {0 -0.1666666865 0} 0 {0 1 0}
- 1 {0 0.5 0} 0 {0.1666666716 0 0} 0 {-0.1666666716 0 0} 0 {0 0 0} 0 {0 -0.1666666865 0} 0 {0.5 1 0}
- 1 {0.5 0.5 0} 0 {0 0 0} 0 {-0.1666666865 0 0} 0 {0 0 0} 0 {0 -0.1666666865 0} 0 {1 1 0} }
- name ProjectionPlane
- xpos 442
- ypos -505
- }
- TransformGeo {
- inputs 2
- name AlignProjectionPlane1
- xpos 442
- ypos -422
- }
- FrameHold {
- first_frame {{parent.refFrame}}
- name FrameHold1
- xpos 442
- ypos -345
- }
- Dot {
- name Dot10
- note_font_size 41
- xpos 476
- ypos -62
- }
- set Nb3d77000 [stack 0]
- Dot {
- name Dot16
- note_font_size 41
- xpos 296
- ypos -62
- }
- Dot {
- name Dot15
- note_font_size 41
- xpos 296
- ypos 1345
- }
- Input {
- inputs 0
- name Inputimg
- xpos 849
- ypos 174
- }
- Reformat {
- format {{{parent.input0.format}}}
- pbb true
- name Reformat1
- xpos 849
- ypos 250
- }
- Dot {
- name Dot12
- label img
- note_font_size 41
- xpos 883
- ypos 333
- }
- set Nb3d75800 [stack 0]
- Dot {
- name Dot7
- label img
- note_font_size 41
- xpos 1686
- ypos 333
- }
- set Nb3d75400 [stack 0]
- Dot {
- name Dot14
- note_font_size 41
- xpos 1967
- ypos 334
- }
- set Nb3d75000 [stack 0]
- Dot {
- name Dot6
- label img
- note_font_size 41
- xpos 2428
- ypos 334
- }
- Dot {
- name Dot25
- note_font_size 41
- xpos 2428
- ypos 482
- }
- set Nb3d74800 [stack 0]
- CornerPin2D {
- to1 {{curve x1001 -5.54865037e-05 -25.63124847 -56.08604431 -71.30036163 -83.46737671 -107.9873047 -141.9923706 -175.8965149 -198.5614319 -212.4110565 -229.5443268 -260.1188354 -296.4772339 -323.2683105 -350.8457336 -391.8320313 -427.5226135 -460.9609375 -487.8473206 -516.809082 -550.3614502 -574.2913208 -580.7318115 -573.619812 -568.5501709 -577.6804199 -593.4160767 -599.3457031 -606.0302734 -621.1759033} {curve x1001 -106.6666183 -111.7852936 -132.903595 -160.347229 -179.4461365 -193.0858459 -203.8371429 -217.9276123 -236.0983124 -252.4960938 -263.7530212 -279.315155 -308.9803162 -344.8827515 -375.7203369 -407.5403442 -425.8114014 -446.0387878 -470.0732422 -490.6462708 -517.3140869 -547.6869507 -568.3490601 -572.6419678 -558.5553589 -544.7201538 -547.7642822 -551.5206299 -549.9306641 -550.4000854}}
- to2 {{curve x1001 2048.000244 2041.854004 2038.14624 2049.502441 2058.58667 2053.650879 2040.704346 2031.078613 2032.462646 2039.262817 2040.22876 2031.775635 2024.435669 2025.660522 2020.821533 2006.330078 1995.567749 1987.827759 1983.789917 1976.824707 1971.432373 1976.448975 1990.057007 2004.999023 2011.498901 2009.25647 2008.615845 2012.878418 2011.836304 2003.605591} {curve x1001 -106.6665649 -113.2116241 -133.1286011 -158.5374908 -173.308197 -181.1758728 -191.9871674 -208.716507 -226.6538544 -237.8359985 -241.6056519 -246.1370392 -261.7627563 -278.9586792 -285.3890381 -292.7220764 -304.7340698 -316.7809448 -322.90271 -325.5470886 -337.2212219 -358.5812073 -376.5253906 -379.7476501 -372.2770081 -366.6139832 -373.3731384 -380.3668823 -381.1942139 -377.1599426}}
- to3 {{curve x1001 2048 2045.85022 2040.311523 2044.075073 2047.341064 2040.486206 2030.7229 2024.20874 2023.778076 2025.764648 2023.633545 2012.390381 1997.47229 1985.749878 1969.335571 1945.522095 1934.691284 1925.785645 1914.758057 1902.690918 1892.562256 1891.155151 1899.316772 1911.016235 1922.891724 1930.193726 1933.19165 1938.345337 1940.33667 1934.338135} {curve x1001 1258.666626 1262.909058 1253.782349 1241.921265 1239.612061 1240.375244 1236.341431 1227.352295 1219.145752 1218.131714 1222.436035 1223.530762 1213.466187 1202.515503 1199.346924 1192.93103 1184.356079 1176.632202 1173.952881 1173.917969 1166.405273 1152.32605 1142.969116 1146.701172 1158.908203 1168.207031 1165.588135 1162.850952 1164.080688 1167.479126}}
- to4 {{curve x1001 5.548650006e-05 -23.85838318 -48.07077408 -57.92486954 -69.96033478 -94.61101532 -122.5526962 -146.5423584 -161.789032 -174.4862213 -193.2120667 -223.4976349 -254.4747925 -278.5124817 -310.2148132 -350.7119141 -376.5684204 -401.5693054 -427.8048096 -457.161377 -483.9329224 -495.4501648 -493.0796814 -487.3604736 -485.4984131 -492.56073 -499.0982361 -498.6359558 -502.7892761 -518.0533447} {curve x1001 1258.666626 1270.175171 1268.425171 1254.435425 1247.434204 1249.898438 1258.049194 1263.644531 1261.701538 1258.83252 1262.259644 1267.574097 1261.832275 1246.817261 1237.488525 1232.030884 1235.847534 1238.282349 1235.361938 1236.865112 1235.203369 1225.286133 1216.171387 1215.87146 1232.246094 1255.069946 1264.222412 1266.866821 1273.8396 1283.052246}}
- invert false
- motionblur {{parent.motionblur}}
- shutter {{parent.shutter}}
- shutteroffset {{parent.shutteroffset}}
- from1 {{to1(refFrame)} {to1(refFrame)}}
- from2 {{to2(refFrame)} {to2(refFrame)}}
- from3 {{to3(refFrame)} {to3(refFrame)}}
- from4 {{to4(refFrame)} {to4(refFrame)}}
- name CornerPin2DBakedMatchmove
- xpos 2535
- ypos 573
- addUserKnob {20 User}
- addUserKnob {22 "set reference frame" -STARTLINE T "import addOnCreateUU; addOnCreateUU.cornerPinZero()"}
- }
- push $Nb3d74800
- CornerPin2D {
- to1 {{from1(refFrame)} {from1(refFrame)}}
- to2 {{from2(refFrame)} {from2(refFrame)}}
- to3 {{from3(refFrame)} {from3(refFrame)}}
- to4 {{from4(refFrame)} {from4(refFrame)}}
- invert false
- motionblur {{parent.motionblur}}
- shutter {{parent.shutter}}
- shutteroffset {{parent.shutteroffset}}
- from1 {{curve x1001 -5.54865037e-05 -25.63124847 -56.08604431 -71.30036163 -83.46737671 -107.9873047 -141.9923706 -175.8965149 -198.5614319 -212.4110565 -229.5443268 -260.1188354 -296.4772339 -323.2683105 -350.8457336 -391.8320313 -427.5226135 -460.9609375 -487.8473206 -516.809082 -550.3614502 -574.2913208 -580.7318115 -573.619812 -568.5501709 -577.6804199 -593.4160767 -599.3457031 -606.0302734 -621.1759033} {curve x1001 -106.6666183 -111.7852936 -132.903595 -160.347229 -179.4461365 -193.0858459 -203.8371429 -217.9276123 -236.0983124 -252.4960938 -263.7530212 -279.315155 -308.9803162 -344.8827515 -375.7203369 -407.5403442 -425.8114014 -446.0387878 -470.0732422 -490.6462708 -517.3140869 -547.6869507 -568.3490601 -572.6419678 -558.5553589 -544.7201538 -547.7642822 -551.5206299 -549.9306641 -550.4000854}}
- from2 {{curve x1001 2048.000244 2041.854004 2038.14624 2049.502441 2058.58667 2053.650879 2040.704346 2031.078613 2032.462646 2039.262817 2040.22876 2031.775635 2024.435669 2025.660522 2020.821533 2006.330078 1995.567749 1987.827759 1983.789917 1976.824707 1971.432373 1976.448975 1990.057007 2004.999023 2011.498901 2009.25647 2008.615845 2012.878418 2011.836304 2003.605591} {curve x1001 -106.6665649 -113.2116241 -133.1286011 -158.5374908 -173.308197 -181.1758728 -191.9871674 -208.716507 -226.6538544 -237.8359985 -241.6056519 -246.1370392 -261.7627563 -278.9586792 -285.3890381 -292.7220764 -304.7340698 -316.7809448 -322.90271 -325.5470886 -337.2212219 -358.5812073 -376.5253906 -379.7476501 -372.2770081 -366.6139832 -373.3731384 -380.3668823 -381.1942139 -377.1599426}}
- from3 {{curve x1001 2048 2045.85022 2040.311523 2044.075073 2047.341064 2040.486206 2030.7229 2024.20874 2023.778076 2025.764648 2023.633545 2012.390381 1997.47229 1985.749878 1969.335571 1945.522095 1934.691284 1925.785645 1914.758057 1902.690918 1892.562256 1891.155151 1899.316772 1911.016235 1922.891724 1930.193726 1933.19165 1938.345337 1940.33667 1934.338135} {curve x1001 1258.666626 1262.909058 1253.782349 1241.921265 1239.612061 1240.375244 1236.341431 1227.352295 1219.145752 1218.131714 1222.436035 1223.530762 1213.466187 1202.515503 1199.346924 1192.93103 1184.356079 1176.632202 1173.952881 1173.917969 1166.405273 1152.32605 1142.969116 1146.701172 1158.908203 1168.207031 1165.588135 1162.850952 1164.080688 1167.479126}}
- from4 {{curve x1001 5.548650006e-05 -23.85838318 -48.07077408 -57.92486954 -69.96033478 -94.61101532 -122.5526962 -146.5423584 -161.789032 -174.4862213 -193.2120667 -223.4976349 -254.4747925 -278.5124817 -310.2148132 -350.7119141 -376.5684204 -401.5693054 -427.8048096 -457.161377 -483.9329224 -495.4501648 -493.0796814 -487.3604736 -485.4984131 -492.56073 -499.0982361 -498.6359558 -502.7892761 -518.0533447} {curve x1001 1258.666626 1270.175171 1268.425171 1254.435425 1247.434204 1249.898438 1258.049194 1263.644531 1261.701538 1258.83252 1262.259644 1267.574097 1261.832275 1246.817261 1237.488525 1232.030884 1235.847534 1238.282349 1235.361938 1236.865112 1235.203369 1225.286133 1216.171387 1215.87146 1232.246094 1255.069946 1264.222412 1266.866821 1273.8396 1283.052246}}
- name CornerPin2DBakedStabilize
- xpos 2394
- ypos 573
- addUserKnob {20 User}
- addUserKnob {22 "set reference frame" -STARTLINE T "import addOnCreateUU; addOnCreateUU.cornerPinZero()"}
- }
- Switch {
- inputs 2
- which {{output}}
- name Switch7
- xpos 2394
- ypos 650
- }
- Dot {
- name Dot22
- note_font_size 41
- xpos 2428
- ypos 1281
- }
- push $Nb3d75000
- Dot {
- name Dot26
- note_font_size 41
- xpos 1967
- ypos 498
- }
- set Nb2c22800 [stack 0]
- CornerPin2D {
- to1 {{parent.Reconcile3DBL.output} {parent.Reconcile3DBL.output}}
- to2 {{parent.Reconcile3DBR.output} {parent.Reconcile3DBR.output}}
- to3 {{parent.Reconcile3DTR.output} {parent.Reconcile3DTR.output}}
- to4 {{parent.Reconcile3DTL.output} {parent.Reconcile3DTL.output}}
- invert false
- motionblur {{parent.motionblur}}
- shutter {{parent.shutter}}
- shutteroffset {{parent.shutteroffset}}
- from1 {{to1(refFrame)} {to1(refFrame)}}
- from2 {{to2(refFrame)} {to2(refFrame)}}
- from3 {{to3(refFrame)} {to3(refFrame)}}
- from4 {{to4(refFrame)} {to4(refFrame)}}
- name CornerPin2DLiveMatchmove
- xpos 2074
- ypos 582
- addUserKnob {20 User}
- addUserKnob {22 "set reference frame" -STARTLINE T "import addOnCreateUU; addOnCreateUU.cornerPinZero()"}
- }
- push $Nb2c22800
- CornerPin2D {
- to1 {{parent.Reconcile3DBL.output(refFrame)} {parent.Reconcile3DBL.output(refFrame)}}
- to2 {{parent.Reconcile3DBR.output(refFrame)} {parent.Reconcile3DBR.output(refFrame)}}
- to3 {{parent.Reconcile3DTR.output(refFrame)} {parent.Reconcile3DTR.output(refFrame)}}
- to4 {{parent.Reconcile3DTL.output(refFrame)} {parent.Reconcile3DTL.output(refFrame)}}
- invert false
- motionblur {{parent.motionblur}}
- shutter {{parent.shutter}}
- shutteroffset {{parent.shutteroffset}}
- from1 {{parent.Reconcile3DBL.output} {parent.Reconcile3DBL.output}}
- from2 {{parent.Reconcile3DBR.output} {parent.Reconcile3DBR.output}}
- from3 {{parent.Reconcile3DTR.output} {parent.Reconcile3DTR.output}}
- from4 {{parent.Reconcile3DTL.output} {parent.Reconcile3DTL.output}}
- name CornerPin2DLiveStabilize
- xpos 1933
- ypos 583
- addUserKnob {20 User}
- addUserKnob {22 "set reference frame" -STARTLINE T "import addOnCreateUU; addOnCreateUU.cornerPinZero()"}
- }
- Switch {
- inputs 2
- which {{output}}
- name Switch5
- xpos 1933
- ypos 644
- }
- Dot {
- name Dot3
- note_font_size 41
- xpos 1967
- ypos 785
- }
- push $Nb50bd000
- Dot {
- name Dot19
- note_font_size 41
- xpos 1317
- ypos -361
- }
- set Nb2c20c00 [stack 0]
- push $Nb2c20c00
- FrameHold {
- first_frame {{parent.refFrame}}
- name FrameHold4
- xpos 1418
- ypos -293
- }
- Switch {
- inputs 2
- which {{!output}}
- name Switch6
- label "\[value which]"
- xpos 1283
- ypos -224
- }
- push $Nb50bec00
- Dot {
- name Dot18
- note_font_size 41
- xpos -564
- ypos -54
- }
- set Nb2c20400 [stack 0]
- Dot {
- name Dot4
- note_font_size 41
- xpos -564
- ypos 271
- }
- set Nb848fc00 [stack 0]
- FrameHold {
- first_frame {{parent.refFrame}}
- name FrameHold2
- xpos -454
- ypos 264
- }
- set Nf6f7cf00 [stack 0]
- Dot {
- name Dot13
- note_font_size 41
- xpos -420
- ypos 536
- }
- push $Nb848fc00
- Dot {
- name Dot11
- note_font_size 41
- xpos -564
- ypos 442
- }
- set Nb848f400 [stack 0]
- Switch {
- inputs 2
- which {{!output}}
- name Switch3
- label "\[value which]"
- xpos -598
- ypos 529
- }
- Dot {
- name Dot8
- note_font_size 41
- xpos -564
- ypos 629
- }
- set Nb848ec00 [stack 0]
- push $Nb3d75800
- Card3D {
- inputs 3
- translate {0 0 0}
- format {{{parent.Reformat1.format}}}
- shutter {{parent.shutter}}
- shutteroffset {{parent.shutteroffset}}
- name Card3D1
- xpos 1283
- ypos 625
- }
- Dot {
- name Dot9
- note_font_size 41
- xpos 1317
- ypos 725
- }
- push $Nb848ec00
- Dot {
- name Dot5
- note_font_size 41
- xpos -564
- ypos 736
- }
- push $Nf6f7cf00
- Dot {
- name Dot24
- note_font_size 41
- xpos -282
- ypos 271
- }
- push $Nb848f400
- Switch {
- inputs 2
- which {{output}}
- name Switch2
- label "\[value which]"
- xpos -316
- ypos 435
- }
- push $Nb3d75800
- Dot {
- name Dot29
- label img
- note_font_size 41
- xpos 626
- ypos 333
- }
- Project3D2 {
- inputs 2
- crop false
- name Project3D1
- xpos 592
- ypos 432
- }
- Dot {
- name Dot2
- note_font_size 41
- xpos 626
- ypos 520
- }
- push $Nb3d77000
- ApplyMaterial {
- inputs 2
- name ApplyMaterial1
- xpos 442
- ypos 517
- }
- Reformat {
- inputs 0
- format {{{parent.input0.format}}}
- resize none
- pbb true
- name Reformat2
- xpos 591
- ypos 733
- }
- ScanlineRender {
- inputs 3
- conservative_shader_sampling false
- overscan {{parent.overscan}}
- motion_vectors_type off
- MB_channel none
- name ScanlineRender1
- xpos 442
- ypos 733
- }
- TimeBlur {
- divisions {{parent.samples}}
- shutter {{parent.shutter}}
- shutteroffset centred
- shuttercustomoffset 0
- name TimeBlur
- xpos 442
- ypos 833
- disable {{"divisions == 1 ? 1 : 0"}}
- }
- Switch {
- inputs 4
- which {{"result == 2 && !\$gui == 1 ? 0 : result"}}
- name Switch1
- xpos 442
- ypos 1277
- }
- Switch {
- inputs 2
- which 1
- name Switch4
- xpos 442
- ypos 1342
- disable true
- }
- Output {
- name Output1
- xpos 442
- ypos 1423
- }
- push $Nb3d77c00
- FrameHold {
- first_frame {{parent.refFrame}}
- name FrameHold3
- xpos 2121
- ypos -309
- }
- Dot {
- name Dot21
- note_font_size 41
- xpos 2155
- ypos -250
- }
- set Nb7d96400 [stack 0]
- Axis2 {
- translate {0.5 0.5 0}
- name TopRight
- xpos 2043
- ypos -178
- }
- set Nb7d96000 [stack 0]
- push $Nb50be000
- Dot {
- name Dot20
- label cam
- note_font_size 41
- xpos 993
- ypos 11
- }
- Dot {
- name Dot17
- label cam
- note_font_size 41
- xpos 1837
- ypos 11
- }
- set Nb7d95400 [stack 0]
- push $Nb3d75400
- Reconcile3D {
- inputs 3
- calc_output true
- output {1934.338135 1167.479126}
- outputxyz {0.488941133 0.397094816 -1.439435005}
- name Reconcile3DTR
- xpos 2033
- ypos 103
- }
- push $Nb7d96400
- Axis2 {
- translate {-0.5 -0.5 0}
- name BottomLeft
- xpos 2219
- ypos -178
- }
- set Nb7d94c00 [stack 0]
- push $Nb7d95400
- push $Nb3d75400
- Reconcile3D {
- inputs 3
- calc_output true
- output {-621.1759033 -550.4000854}
- outputxyz {-0.6424835324 -0.349278301 -1.364200354}
- name Reconcile3DBL
- xpos 2209
- ypos 99
- }
- push $Nb7d96400
- Axis2 {
- translate {0.5 -0.5 0}
- name BottomRight
- xpos 2358
- ypos -184
- }
- set Nb779bc00 [stack 0]
- push $Nb7d95400
- push $Nb3d75400
- Reconcile3D {
- inputs 3
- calc_output true
- output {2003.605591 -377.1599426}
- outputxyz {0.4838566184 -0.3558466733 -1.448682785}
- name Reconcile3DBR
- xpos 2348
- ypos 101
- }
- push $Nb7d96400
- Axis2 {
- translate {-0.5 0.5 0}
- name TopLeft
- xpos 1883
- ypos -180
- }
- set Nb779b000 [stack 0]
- push $Nb7d95400
- push $Nb3d75400
- Reconcile3D {
- inputs 3
- calc_output true
- output {-518.0533447 1283.052246}
- outputxyz {-0.6373990178 0.4036631882 -1.354952574}
- name Reconcile3DTL
- xpos 1873
- ypos 99
- }
- push $Nb3d77000
- push $Nb779bc00
- push $Nb7d94c00
- push $Nb7d96000
- push $Nb779b000
- Scene {
- inputs 5
- name SceneTest
- xpos 2124
- ypos -86
- }
- Input {
- inputs 0
- name InputAxis
- xpos -382
- ypos -301
- number 2
- }
- NoOp {
- name isON
- xpos -382
- ypos -248
- addUserKnob {20 User}
- addUserKnob {6 isOn +STARTLINE}
- isOn {{"\[exists input2]"}}
- }
- push $Nb2c20400
- Group {
- inputs 2
- name AxisDistance
- tile_color 0x9c0000ff
- xpos -382
- ypos -57
- addUserKnob {20 tab1 l TNT_AxisDistance}
- addUserKnob {41 distance T NoOp1.distance}
- }
- Output {
- inputs 0
- name Output1
- xpos 488
- ypos 194
- }
- Input {
- inputs 0
- name axis2
- xpos 740
- ypos -220
- number 1
- }
- Axis2 {
- name A2
- xpos 750
- ypos -150
- }
- NoOp {
- inputs 0
- name NoOp1
- xpos 620
- ypos -70
- addUserKnob {20 User}
- addUserKnob {7 distance R 0 100}
- distance {{sqrt((pow2(parent.A1.world_matrix.3-parent.A2.world_matrix.3))+(pow2(parent.A1.world_matrix.7-parent.A2.world_matrix.7))+(pow2(parent.A1.world_matrix.11-parent.A2.world_matrix.11)))}}
- }
- Input {
- inputs 0
- name axis1
- xpos 500
- ypos -220
- }
- Axis2 {
- name A1
- xpos 510
- ypos -150
- }
- end_group
- NoOp {
- name Settings
- xpos -382
- ypos 35
- addUserKnob {20 User}
- addUserKnob {7 camDistance l "Camera Distance" R 0 2000}
- camDistance {{"isOn == 0 ? parent.distance : AxisDistance.distance"}}
- }
- end_group
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement