Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set cut_paste_input [stack 0]
- version 11.2 v5
- push $cut_paste_input
- add_layer {VRayCryptomatte_mat00 VRayCryptomatte_mat00.red VRayCryptomatte_mat00.green VRayCryptomatte_mat00.blue VRayCryptomatte_mat00.alpha}
- add_layer {VRayCryptomatte_mat01 VRayCryptomatte_mat01.red VRayCryptomatte_mat01.green VRayCryptomatte_mat01.blue VRayCryptomatte_mat01.alpha}
- add_layer {VRayCryptomatte_mat02 VRayCryptomatte_mat02.red VRayCryptomatte_mat02.green VRayCryptomatte_mat02.blue VRayCryptomatte_mat02.alpha}
- Group {
- name Cryptomatte9
- tile_color 0xff00ff
- selected true
- xpos 6364
- ypos 4369
- addUserKnob {20 cryptomatte l "Psyop Cryptomatte"}
- addUserKnob {0 pickerAdd l "Picker Add" t "Key objects to add to the Matte List here. "}
- pickerAdd {0.06762695313 0.08325195313 0.08337402344 0 1864 538 1865 539}
- addUserKnob {6 pickerAdd_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 pickerAddLabel l "Picker Add" -STARTLINE T " "}
- addUserKnob {0 pickerRemove l "Picker Remove" t "Key objects to remove from the Matte List here. "}
- pickerRemove {0 0 0 0 0 0 0 0}
- addUserKnob {6 pickerRemove_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 pickerRemoveLabel l "Picker Remove" -STARTLINE T " "}
- addUserKnob {26 ""}
- addUserKnob {6 previewEnabled l Preview +STARTLINE}
- previewEnabled true
- addUserKnob {4 previewMode l "" t "Choose how Cryptomatte will visualize keyable regions." -STARTLINE M {Colors Edges None ""}}
- addUserKnob {6 matteOnly l "Matte Only" t "Extracted matte is copied to RGB channels as well. This disables keying. " +STARTLINE}
- addUserKnob {6 singleSelection l "Single Selection" t "Picker only selects matte at a time, rather than selecting a list. " -STARTLINE}
- addUserKnob {6 RemoveChannels l "Remove Channels" t "Removes all non-RGBA channels for the output. This will leave the downstream cleaner. " -STARTLINE}
- addUserKnob {26 ""}
- addUserKnob {41 matteOutput l "Matte Output" t "Set the channel(s) the matte will write to in \"Matte Only\" mode. For example, you can use this to store the matte in a custom channel called \"Matte\" and use it for color-correction downstream." T ShuffleCopy_embedMask.out}
- addUserKnob {6 unpremultiply l Unpremultiply -STARTLINE}
- addUserKnob {1 matteList l "Matte List" t "The list of names the mattes are built from. Color picking values with the color fields above works by populating this field. "}
- matteList mat_ASX_PAINT
- addUserKnob {22 clear l Clear t "Clears the selection in this Gizmo" T "try: \n import cryptomatte_utilities as cu\n cu.clear_cryptomatte_gizmo(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. Please check with Pipeline that the Cryptomatte python plugin is available on this project. \n\nError Traceback (send this to Pipeline): \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 forceUpdate l "Force Update" t "Updates the Gizmo based on which channels are available in the input. \n\nThis happens automatically when input changes, when loading the nuke script, or when a new gizmo is created. This is how it deals with differently named channels in the different Cryptomatte layers, and different depths that it's possible to render at. " -STARTLINE T "try: \n import cryptomatte_utilities as cu\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())"}
- addUserKnob {6 stopAutoUpdate l "Stop Auto Update" t "Stops the automatic update of this copy of the Gizmo." -STARTLINE}
- addUserKnob {26 ""}
- addUserKnob {4 cryptoLayerChoice l "Layer Selection" t "Choose which Cryptomatte layer to key." M {" " ""}}
- addUserKnob {1 cryptoLayer l INVISIBLE t "If there are multiple cryptomattes, this is how you select the layer." -STARTLINE +INVISIBLE}
- cryptoLayer VRayCryptomatte_mat
- addUserKnob {6 cryptoLayerLock l "Lock Layer Selection" t "Stops the automatic update of the layer selection." -STARTLINE}
- addUserKnob {41 expression l "Keyer Expression" t "The built expression. This knob is set automatically and is only left exposed as information for the user. " T Expression_key.expr0}
- addUserKnob {20 Advanced}
- addUserKnob {0 ColorKey l "" t "Key an object here to check its name. It will not effect your mattes. " -STARTLINE +HIDDEN}
- ColorKey {0 0 0 0 0 0 0 0}
- addUserKnob {6 ColorKey_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {6 ColorKey_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 ColorKeyLabel l "Name Checker" -STARTLINE +HIDDEN T " "}
- addUserKnob {1 keyedName l "Keyed Name" t "This field is for information only." +HIDDEN}
- addUserKnob {26 "" +HIDDEN}
- addUserKnob {22 decryptomatte l "Decryptomatte (Replace with Expression)" t "Replaces this gizmo with an expression node that does the extraction. This will replicate the matte extraction, but not the preview modes. " T "try: \n import cryptomatte_utilities as cu\n cu.decryptomatte_button(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run a Cryptomatte script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 unloadManifest l "Unload Manifest (Extract all Mattes)" t "Unload Manifest will create a separate gizmo for every named matte in the Cryptomatte manifest. This can potentially be thousands of nodes, though if the number is high a warning will be displayed before creating them. " T "try: \n import cryptomatte_utilities as cu\n cu.unload_manifest(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run a Cryptomatte script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 forceUpdateAll l "Force Update All (Update all Gizmos)" t "'Force Update All' will run 'Force Update' on all Cryptomatte gizmos in the Nuke script. 'Force Update' orders the gizmos to re-configure themselves based on available metadata, Cryptomatte depth, and the matte list. This updates all aspects of thier operation, from the preview modes to the extraction expression. Usually these updates occur automatically on certain actions, such as 'keying' the image, changing layer selection, or reconnecting images. However if changes occur upstream of the gizmos that require manually invoked updates, 'Force Update' and 'Force Update All' may be used. " T "try: \n import cryptomatte_utilities as cu\n cu.update_all_cryptomatte_gizmos()\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {41 previewExpression0 l INVISIBLE +INVISIBLE T Expression_preview.expr0}
- addUserKnob {41 previewExpression1 l INVISIBLE +INVISIBLE T Expression_preview.expr1}
- addUserKnob {41 previewExpression2 l INVISIBLE +INVISIBLE T Expression_preview.expr2}
- addUserKnob {41 previewExpression3 l INVISIBLE +INVISIBLE T Expression_preview.expr3}
- addUserKnob {11 previewChannel +HIDDEN}
- previewChannel none
- addUserKnob {11 in00 +HIDDEN}
- in00 VRayCryptomatte_mat00
- addUserKnob {11 in01 +HIDDEN}
- in01 VRayCryptomatte_mat01
- addUserKnob {11 in02 +HIDDEN}
- in02 VRayCryptomatte_mat02
- addUserKnob {11 in03 +HIDDEN}
- in03 none
- addUserKnob {11 in04 +HIDDEN}
- in04 none
- addUserKnob {11 in05 +HIDDEN}
- in05 none
- addUserKnob {11 in06 +HIDDEN}
- in06 none
- addUserKnob {11 in07 +HIDDEN}
- in07 none
- addUserKnob {26 "" +HIDDEN}
- }
- Input {
- inputs 0
- name Input1
- xpos -1361
- ypos -499
- }
- Dot {
- name Dot4
- xpos -1327
- ypos -439
- }
- set N966b1180 [stack 0]
- Dot {
- name Dot15
- xpos -1093
- ypos -439
- }
- set Nca07bc00 [stack 0]
- Dot {
- name Dot1
- xpos -960
- ypos -439
- }
- Shuffle {
- red black
- green black
- blue black
- name Shuffle_blackRGB
- xpos -994
- ypos -398
- }
- Expression {
- expr0 "((VRayCryptomatte_mat00.red == -1.33468101559e-38) ? VRayCryptomatte_mat00.green : 0.0) + ((VRayCryptomatte_mat00.blue == -1.33468101559e-38) ? VRayCryptomatte_mat00.alpha : 0.0) + ((VRayCryptomatte_mat01.red == -1.33468101559e-38) ? VRayCryptomatte_mat01.green : 0.0) + ((VRayCryptomatte_mat01.blue == -1.33468101559e-38) ? VRayCryptomatte_mat01.alpha : 0.0) + ((VRayCryptomatte_mat02.red == -1.33468101559e-38) ? VRayCryptomatte_mat02.green : 0.0) + ((VRayCryptomatte_mat02.blue == -1.33468101559e-38) ? VRayCryptomatte_mat02.alpha : 0.0) + 0"
- channel1 none
- channel2 none
- channel3 none
- name Expression_key
- xpos -994
- ypos -372
- }
- Unpremult {
- channels {rgba.red -rgba.green -rgba.blue none}
- name Unpremult_matte
- xpos -994
- ypos -340
- disable {{!parent.unpremultiply}}
- }
- set N21c82a80 [stack 0]
- Dot {
- name Dot11
- xpos -960
- ypos -142
- }
- set N21c82700 [stack 0]
- Dot {
- name Dot2
- xpos -960
- ypos -65
- }
- push $N21c82700
- push $N966b1180
- Dot {
- name Dot8
- xpos -1327
- ypos -395
- }
- set N21c82000 [stack 0]
- Dot {
- name Dot9
- xpos -1227
- ypos -395
- }
- Remove {
- operation keep
- channels rgba
- name Remove_channels
- xpos -1261
- ypos -360
- }
- push $N21c82000
- Switch {
- inputs 2
- which {{parent.RemoveChannels}}
- name Switch_removeChannels
- xpos -1361
- ypos -312
- }
- Dot {
- name Dot17
- xpos -1327
- ypos -235
- }
- set N2e08d180 [stack 0]
- Dot {
- name Dot10
- xpos -1327
- ypos -193
- }
- set N2e08ce00 [stack 0]
- ShuffleCopy {
- inputs 2
- red red
- green red
- blue red
- alpha red
- name ShuffleCopy_matteOnly
- xpos -1361
- ypos -146
- }
- Dot {
- name Dot16
- xpos -1327
- ypos -91
- }
- push $N21c82a80
- push $Nca07bc00
- Shuffle {
- alpha black
- name Shuffle_blackAlpha
- xpos -1127
- ypos -394
- }
- Expression {
- expr0 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 1 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 1 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 1 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 1 % 0.25) * VRayCryptomatte_mat01.alpha)"
- expr1 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 16 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 16 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 16 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 16 % 0.25) * VRayCryptomatte_mat01.alpha)"
- expr2 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 64 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 64 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 64 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 64 % 0.25) * VRayCryptomatte_mat01.alpha)"
- name Expression_preview
- xpos -1127
- ypos -368
- }
- Grade {
- inputs 1+1
- channels {rgba.red rgba.green -rgba.blue none}
- multiply 0
- add 1
- black_clamp false
- maskChannelMask rgba.red
- name Grade_selection
- xpos -1127
- ypos -340
- }
- Grade {
- channels {-rgba.red rgba.green rgba.blue none}
- multiply 0
- add 1
- black_clamp false
- maskChannelInput rgba.alpha
- name Grade_highlight
- xpos -1127
- ypos -302
- }
- push $N2e08d180
- ShuffleCopy {
- inputs 2
- red red
- green green
- blue blue
- alpha alpha2
- name ShuffleCopy_restoreAlpha
- xpos -1127
- ypos -239
- }
- push $N2e08ce00
- Switch {
- inputs 2
- which {{parent.previewEnabled}}
- name Switch_preview
- xpos -1127
- ypos -197
- }
- Switch {
- inputs 2
- which {{parent.matteOnly}}
- name Switch_matteOnly
- xpos -1127
- ypos -95
- }
- ShuffleCopy {
- inputs 2
- red red
- green red
- blue red
- alpha red
- out alpha
- name ShuffleCopy_embedMask
- xpos -1127
- ypos -69
- }
- Output {
- name Output
- xpos -1127
- ypos -21
- }
- end_group
- set Nb0959000 [stack 0]
- Group {
- name Cryptomatte11
- tile_color 0xff00ff
- label "FULL CAR"
- selected true
- xpos 6364
- ypos 4421
- addUserKnob {20 cryptomatte l "Psyop Cryptomatte"}
- addUserKnob {0 pickerAdd t "Key objects to add to the Matte List here. " +INVISIBLE}
- addUserKnob {6 pickerAdd_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 pickerAddLabel l "Picker Add" -STARTLINE T " "}
- addUserKnob {0 pickerRemove t "Key objects to remove from the Matte List here. " +INVISIBLE}
- addUserKnob {6 pickerRemove_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 pickerRemoveLabel l "Picker Remove" -STARTLINE T " "}
- addUserKnob {26 ""}
- addUserKnob {6 previewEnabled l Preview +STARTLINE}
- previewEnabled true
- addUserKnob {4 previewMode l "" t "Choose how Cryptomatte will visualize keyable regions." -STARTLINE M {Colors Edges None ""}}
- addUserKnob {6 matteOnly l "Matte Only" t "Extracted matte is copied to RGB channels as well. This disables keying. " +STARTLINE}
- addUserKnob {6 singleSelection l "Single Selection" t "Picker only selects matte at a time, rather than selecting a list. " -STARTLINE}
- addUserKnob {6 RemoveChannels l "Remove Channels" t "Removes all non-RGBA channels for the output. This will leave the downstream cleaner. " -STARTLINE}
- addUserKnob {26 ""}
- addUserKnob {41 matteOutput l "Matte Output" t "Set the channel(s) the matte will write to in \"Matte Only\" mode. For example, you can use this to store the matte in a custom channel called \"Matte\" and use it for color-correction downstream." T ShuffleCopy_embedMask.out}
- addUserKnob {6 unpremultiply l Unpremultiply -STARTLINE}
- addUserKnob {1 matteList l "Matte List" t "The list of names the mattes are built from. Color picking values with the color fields above works by populating this field. "}
- matteList "mat_ASX__BLACK_MATTE, mat_ASX__CHROME, mat_ASX__DISC, mat_ASX__int_rubber, mat_ASX__int_vinyl, mat_ASX__LIGHS_RED, mat_ASX__LIGHTS_CLEAR, mat_ASX__LIGHTS_PIANO_BLACK, mat_ASX__PLATE, mat_ASX__SILVER, mat_ASX__TIRE, mat_ASX__WINDSHIELDS, mat_ASX__WINDSHIELDS_DIMMED, mat_ASX_LIGHTS_CHROME, mat_ASX_PAINT, mat_ASX_PIANO_BLACK, mat_ASX_PLASTICS, mat_ASX_RUBBER, mat_ASX_UNDER, \"Material #2905\", \"Material #2906\", \"Material #2907\""
- addUserKnob {22 clear l Clear t "Clears the selection in this Gizmo" T "try: \n import cryptomatte_utilities as cu\n cu.clear_cryptomatte_gizmo(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. Please check with Pipeline that the Cryptomatte python plugin is available on this project. \n\nError Traceback (send this to Pipeline): \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 forceUpdate l "Force Update" t "Updates the Gizmo based on which channels are available in the input. \n\nThis happens automatically when input changes, when loading the nuke script, or when a new gizmo is created. This is how it deals with differently named channels in the different Cryptomatte layers, and different depths that it's possible to render at. " -STARTLINE T "try: \n import cryptomatte_utilities as cu\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())"}
- addUserKnob {6 stopAutoUpdate l "Stop Auto Update" t "Stops the automatic update of this copy of the Gizmo." -STARTLINE}
- addUserKnob {26 ""}
- addUserKnob {4 cryptoLayerChoice l "Layer Selection" t "Choose which Cryptomatte layer to key." M {" " ""}}
- addUserKnob {1 cryptoLayer l INVISIBLE t "If there are multiple cryptomattes, this is how you select the layer." -STARTLINE +INVISIBLE}
- cryptoLayer VRayCryptomatte_mat
- addUserKnob {6 cryptoLayerLock l "Lock Layer Selection" t "Stops the automatic update of the layer selection." -STARTLINE}
- addUserKnob {41 expression l "Keyer Expression" t "The built expression. This knob is set automatically and is only left exposed as information for the user. " T Expression_key.expr0}
- addUserKnob {20 Advanced}
- addUserKnob {0 ColorKey t "Key an object here to check its name. It will not effect your mattes. " -STARTLINE +HIDDEN +INVISIBLE}
- addUserKnob {6 ColorKey_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {6 ColorKey_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 ColorKeyLabel l "Name Checker" -STARTLINE +HIDDEN T " "}
- addUserKnob {1 keyedName l "Keyed Name" t "This field is for information only." +HIDDEN}
- addUserKnob {26 "" +HIDDEN}
- addUserKnob {22 decryptomatte l "Decryptomatte (Replace with Expression)" t "Replaces this gizmo with an expression node that does the extraction. This will replicate the matte extraction, but not the preview modes. " T "try: \n import cryptomatte_utilities as cu\n cu.decryptomatte_button(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run a Cryptomatte script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 unloadManifest l "Unload Manifest (Extract all Mattes)" t "Unload Manifest will create a separate gizmo for every named matte in the Cryptomatte manifest. This can potentially be thousands of nodes, though if the number is high a warning will be displayed before creating them. " T "try: \n import cryptomatte_utilities as cu\n cu.unload_manifest(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run a Cryptomatte script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 forceUpdateAll l "Force Update All (Update all Gizmos)" t "'Force Update All' will run 'Force Update' on all Cryptomatte gizmos in the Nuke script. 'Force Update' orders the gizmos to re-configure themselves based on available metadata, Cryptomatte depth, and the matte list. This updates all aspects of thier operation, from the preview modes to the extraction expression. Usually these updates occur automatically on certain actions, such as 'keying' the image, changing layer selection, or reconnecting images. However if changes occur upstream of the gizmos that require manually invoked updates, 'Force Update' and 'Force Update All' may be used. " T "try: \n import cryptomatte_utilities as cu\n cu.update_all_cryptomatte_gizmos()\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {41 previewExpression0 l INVISIBLE +INVISIBLE T Expression_preview.expr0}
- addUserKnob {41 previewExpression1 l INVISIBLE +INVISIBLE T Expression_preview.expr1}
- addUserKnob {41 previewExpression2 l INVISIBLE +INVISIBLE T Expression_preview.expr2}
- addUserKnob {41 previewExpression3 l INVISIBLE +INVISIBLE T Expression_preview.expr3}
- addUserKnob {11 previewChannel +HIDDEN}
- previewChannel none
- addUserKnob {11 in00 +HIDDEN}
- in00 VRayCryptomatte_mat00
- addUserKnob {11 in01 +HIDDEN}
- in01 VRayCryptomatte_mat01
- addUserKnob {11 in02 +HIDDEN}
- in02 VRayCryptomatte_mat02
- addUserKnob {11 in03 +HIDDEN}
- in03 none
- addUserKnob {11 in04 +HIDDEN}
- in04 none
- addUserKnob {11 in05 +HIDDEN}
- in05 none
- addUserKnob {11 in06 +HIDDEN}
- in06 none
- addUserKnob {11 in07 +HIDDEN}
- in07 none
- addUserKnob {26 "" +HIDDEN}
- }
- Input {
- inputs 0
- name Input1
- xpos -1361
- ypos -499
- }
- Dot {
- name Dot4
- xpos -1327
- ypos -439
- }
- set Nbc0d8380 [stack 0]
- Dot {
- name Dot15
- xpos -1093
- ypos -439
- }
- set Nbc0d8000 [stack 0]
- Dot {
- name Dot1
- xpos -960
- ypos -439
- }
- Shuffle {
- red black
- green black
- blue black
- name Shuffle_blackRGB
- xpos -994
- ypos -398
- }
- Expression {
- expr0 "((VRayCryptomatte_mat00.red == 1.17655305984e-37 || VRayCryptomatte_mat00.red == -1.62967729052e+15 || VRayCryptomatte_mat00.red == 8.92767694012e+34 || VRayCryptomatte_mat00.red == 2.0109789034e-07 || VRayCryptomatte_mat00.red == -5.27575958171e+26 || VRayCryptomatte_mat00.red == -6.92348246345e-33 || VRayCryptomatte_mat00.red == 7.62585969924e-25 || VRayCryptomatte_mat00.red == -6.33814679026e+22 || VRayCryptomatte_mat00.red == -1085118.25 || VRayCryptomatte_mat00.red == 2.50263688198e-20 || VRayCryptomatte_mat00.red == -1.33468101559e-38 || VRayCryptomatte_mat00.red == -8.94744527629e-26 || VRayCryptomatte_mat00.red == -5.82244452207e+25 || VRayCryptomatte_mat00.red == 2.10392122208e-23 || VRayCryptomatte_mat00.red == -5.43790241753e+17 || VRayCryptomatte_mat00.red == 36822.8828125 || VRayCryptomatte_mat00.red == -0.00795600749552 || VRayCryptomatte_mat00.red == 3.00274450041e-37 || VRayCryptomatte_mat00.red == -2.00997093642e-21 || VRayCryptomatte_mat00.red == 1.15363087139e-10 || VRayCryptomatte_mat00.red == 1.42154448213e-08 || VRayCryptomatte_mat00.red == 9.49772622904e+29) ? VRayCryptomatte_mat00.green : 0.0) + ((VRayCryptomatte_mat00.blue == 1.17655305984e-37 || VRayCryptomatte_mat00.blue == -1.62967729052e+15 || VRayCryptomatte_mat00.blue == 8.92767694012e+34 || VRayCryptomatte_mat00.blue == 2.0109789034e-07 || VRayCryptomatte_mat00.blue == -5.27575958171e+26 || VRayCryptomatte_mat00.blue == -6.92348246345e-33 || VRayCryptomatte_mat00.blue == 7.62585969924e-25 || VRayCryptomatte_mat00.blue == -6.33814679026e+22 || VRayCryptomatte_mat00.blue == -1085118.25 || VRayCryptomatte_mat00.blue == 2.50263688198e-20 || VRayCryptomatte_mat00.blue == -1.33468101559e-38 || VRayCryptomatte_mat00.blue == -8.94744527629e-26 || VRayCryptomatte_mat00.blue == -5.82244452207e+25 || VRayCryptomatte_mat00.blue == 2.10392122208e-23 || VRayCryptomatte_mat00.blue == -5.43790241753e+17 || VRayCryptomatte_mat00.blue == 36822.8828125 || VRayCryptomatte_mat00.blue == -0.00795600749552 || VRayCryptomatte_mat00.blue == 3.00274450041e-37 || VRayCryptomatte_mat00.blue == -2.00997093642e-21 || VRayCryptomatte_mat00.blue == 1.15363087139e-10 || VRayCryptomatte_mat00.blue == 1.42154448213e-08 || VRayCryptomatte_mat00.blue == 9.49772622904e+29) ? VRayCryptomatte_mat00.alpha : 0.0) + ((VRayCryptomatte_mat01.red == 1.17655305984e-37 || VRayCryptomatte_mat01.red == -1.62967729052e+15 || VRayCryptomatte_mat01.red == 8.92767694012e+34 || VRayCryptomatte_mat01.red == 2.0109789034e-07 || VRayCryptomatte_mat01.red == -5.27575958171e+26 || VRayCryptomatte_mat01.red == -6.92348246345e-33 || VRayCryptomatte_mat01.red == 7.62585969924e-25 || VRayCryptomatte_mat01.red == -6.33814679026e+22 || VRayCryptomatte_mat01.red == -1085118.25 || VRayCryptomatte_mat01.red == 2.50263688198e-20 || VRayCryptomatte_mat01.red == -1.33468101559e-38 || VRayCryptomatte_mat01.red == -8.94744527629e-26 || VRayCryptomatte_mat01.red == -5.82244452207e+25 || VRayCryptomatte_mat01.red == 2.10392122208e-23 || VRayCryptomatte_mat01.red == -5.43790241753e+17 || VRayCryptomatte_mat01.red == 36822.8828125 || VRayCryptomatte_mat01.red == -0.00795600749552 || VRayCryptomatte_mat01.red == 3.00274450041e-37 || VRayCryptomatte_mat01.red == -2.00997093642e-21 || VRayCryptomatte_mat01.red == 1.15363087139e-10 || VRayCryptomatte_mat01.red == 1.42154448213e-08 || VRayCryptomatte_mat01.red == 9.49772622904e+29) ? VRayCryptomatte_mat01.green : 0.0) + ((VRayCryptomatte_mat01.blue == 1.17655305984e-37 || VRayCryptomatte_mat01.blue == -1.62967729052e+15 || VRayCryptomatte_mat01.blue == 8.92767694012e+34 || VRayCryptomatte_mat01.blue == 2.0109789034e-07 || VRayCryptomatte_mat01.blue == -5.27575958171e+26 || VRayCryptomatte_mat01.blue == -6.92348246345e-33 || VRayCryptomatte_mat01.blue == 7.62585969924e-25 || VRayCryptomatte_mat01.blue == -6.33814679026e+22 || VRayCryptomatte_mat01.blue == -1085118.25 || VRayCryptomatte_mat01.blue == 2.50263688198e-20 || VRayCryptomatte_mat01.blue == -1.33468101559e-38 || VRayCryptomatte_mat01.blue == -8.94744527629e-26 || VRayCryptomatte_mat01.blue == -5.82244452207e+25 || VRayCryptomatte_mat01.blue == 2.10392122208e-23 || VRayCryptomatte_mat01.blue == -5.43790241753e+17 || VRayCryptomatte_mat01.blue == 36822.8828125 || VRayCryptomatte_mat01.blue == -0.00795600749552 || VRayCryptomatte_mat01.blue == 3.00274450041e-37 || VRayCryptomatte_mat01.blue == -2.00997093642e-21 || VRayCryptomatte_mat01.blue == 1.15363087139e-10 || VRayCryptomatte_mat01.blue == 1.42154448213e-08 || VRayCryptomatte_mat01.blue == 9.49772622904e+29) ? VRayCryptomatte_mat01.alpha : 0.0) + ((VRayCryptomatte_mat02.red == 1.17655305984e-37 || VRayCryptomatte_mat02.red == -1.62967729052e+15 || VRayCryptomatte_mat02.red == 8.92767694012e+34 || VRayCryptomatte_mat02.red == 2.0109789034e-07 || VRayCryptomatte_mat02.red == -5.27575958171e+26 || VRayCryptomatte_mat02.red == -6.92348246345e-33 || VRayCryptomatte_mat02.red == 7.62585969924e-25 || VRayCryptomatte_mat02.red == -6.33814679026e+22 || VRayCryptomatte_mat02.red == -1085118.25 || VRayCryptomatte_mat02.red == 2.50263688198e-20 || VRayCryptomatte_mat02.red == -1.33468101559e-38 || VRayCryptomatte_mat02.red == -8.94744527629e-26 || VRayCryptomatte_mat02.red == -5.82244452207e+25 || VRayCryptomatte_mat02.red == 2.10392122208e-23 || VRayCryptomatte_mat02.red == -5.43790241753e+17 || VRayCryptomatte_mat02.red == 36822.8828125 || VRayCryptomatte_mat02.red == -0.00795600749552 || VRayCryptomatte_mat02.red == 3.00274450041e-37 || VRayCryptomatte_mat02.red == -2.00997093642e-21 || VRayCryptomatte_mat02.red == 1.15363087139e-10 || VRayCryptomatte_mat02.red == 1.42154448213e-08 || VRayCryptomatte_mat02.red == 9.49772622904e+29) ? VRayCryptomatte_mat02.green : 0.0) + ((VRayCryptomatte_mat02.blue == 1.17655305984e-37 || VRayCryptomatte_mat02.blue == -1.62967729052e+15 || VRayCryptomatte_mat02.blue == 8.92767694012e+34 || VRayCryptomatte_mat02.blue == 2.0109789034e-07 || VRayCryptomatte_mat02.blue == -5.27575958171e+26 || VRayCryptomatte_mat02.blue == -6.92348246345e-33 || VRayCryptomatte_mat02.blue == 7.62585969924e-25 || VRayCryptomatte_mat02.blue == -6.33814679026e+22 || VRayCryptomatte_mat02.blue == -1085118.25 || VRayCryptomatte_mat02.blue == 2.50263688198e-20 || VRayCryptomatte_mat02.blue == -1.33468101559e-38 || VRayCryptomatte_mat02.blue == -8.94744527629e-26 || VRayCryptomatte_mat02.blue == -5.82244452207e+25 || VRayCryptomatte_mat02.blue == 2.10392122208e-23 || VRayCryptomatte_mat02.blue == -5.43790241753e+17 || VRayCryptomatte_mat02.blue == 36822.8828125 || VRayCryptomatte_mat02.blue == -0.00795600749552 || VRayCryptomatte_mat02.blue == 3.00274450041e-37 || VRayCryptomatte_mat02.blue == -2.00997093642e-21 || VRayCryptomatte_mat02.blue == 1.15363087139e-10 || VRayCryptomatte_mat02.blue == 1.42154448213e-08 || VRayCryptomatte_mat02.blue == 9.49772622904e+29) ? VRayCryptomatte_mat02.alpha : 0.0) + 0"
- channel1 none
- channel2 none
- channel3 none
- name Expression_key
- xpos -994
- ypos -372
- }
- Unpremult {
- channels {rgba.red -rgba.green -rgba.blue none}
- name Unpremult_matte
- xpos -994
- ypos -340
- disable {{!parent.unpremultiply}}
- }
- set N966b0a80 [stack 0]
- Dot {
- name Dot11
- xpos -960
- ypos -142
- }
- set N966b0000 [stack 0]
- Dot {
- name Dot2
- xpos -960
- ypos -65
- }
- push $N966b0000
- push $Nbc0d8380
- Dot {
- name Dot8
- xpos -1327
- ypos -395
- }
- set N966b1500 [stack 0]
- Dot {
- name Dot9
- xpos -1227
- ypos -395
- }
- Remove {
- operation keep
- channels rgba
- name Remove_channels
- xpos -1261
- ypos -360
- }
- push $N966b1500
- Switch {
- inputs 2
- which {{parent.RemoveChannels}}
- name Switch_removeChannels
- xpos -1361
- ypos -312
- }
- Dot {
- name Dot17
- xpos -1327
- ypos -235
- }
- set Nca07ae00 [stack 0]
- Dot {
- name Dot10
- xpos -1327
- ypos -193
- }
- set N966b8000 [stack 0]
- ShuffleCopy {
- inputs 2
- red red
- green red
- blue red
- alpha red
- name ShuffleCopy_matteOnly
- xpos -1361
- ypos -146
- }
- Dot {
- name Dot16
- xpos -1327
- ypos -91
- }
- push $N966b0a80
- push $Nbc0d8000
- Shuffle {
- alpha black
- name Shuffle_blackAlpha
- xpos -1127
- ypos -394
- }
- Expression {
- expr0 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 1 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 1 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 1 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 1 % 0.25) * VRayCryptomatte_mat01.alpha)"
- expr1 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 16 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 16 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 16 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 16 % 0.25) * VRayCryptomatte_mat01.alpha)"
- expr2 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 64 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 64 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 64 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 64 % 0.25) * VRayCryptomatte_mat01.alpha)"
- name Expression_preview
- xpos -1127
- ypos -368
- }
- Grade {
- inputs 1+1
- channels {rgba.red rgba.green -rgba.blue none}
- multiply 0
- add 1
- black_clamp false
- maskChannelMask rgba.red
- name Grade_selection
- xpos -1127
- ypos -340
- }
- Grade {
- channels {-rgba.red rgba.green rgba.blue none}
- multiply 0
- add 1
- black_clamp false
- maskChannelInput rgba.alpha
- name Grade_highlight
- xpos -1127
- ypos -302
- }
- push $Nca07ae00
- ShuffleCopy {
- inputs 2
- red red
- green green
- blue blue
- alpha alpha2
- name ShuffleCopy_restoreAlpha
- xpos -1127
- ypos -239
- }
- push $N966b8000
- Switch {
- inputs 2
- which {{parent.previewEnabled}}
- name Switch_preview
- xpos -1127
- ypos -197
- }
- Switch {
- inputs 2
- which {{parent.matteOnly}}
- name Switch_matteOnly
- xpos -1127
- ypos -95
- }
- ShuffleCopy {
- inputs 2
- red red
- green red
- blue red
- alpha red
- out alpha
- name ShuffleCopy_embedMask
- xpos -1127
- ypos -69
- }
- Output {
- name Output
- xpos -1127
- ypos -21
- }
- end_group
- set Nb0959c00 [stack 0]
- Group {
- name Cryptomatte10
- tile_color 0xff00ff
- selected true
- xpos 6364
- ypos 4490
- addUserKnob {20 cryptomatte l "Psyop Cryptomatte"}
- addUserKnob {0 pickerAdd l "Picker Add" t "Key objects to add to the Matte List here. "}
- pickerAdd {0.2236328125 0.07952880859 0.06817626953 0 100 652 101 653}
- addUserKnob {6 pickerAdd_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 pickerAddLabel l "Picker Add" -STARTLINE T " "}
- addUserKnob {0 pickerRemove l "Picker Remove" t "Key objects to remove from the Matte List here. "}
- pickerRemove {0 0 0 0 0 0 0 0}
- addUserKnob {6 pickerRemove_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 pickerRemoveLabel l "Picker Remove" -STARTLINE T " "}
- addUserKnob {26 ""}
- addUserKnob {6 previewEnabled l Preview +STARTLINE}
- previewEnabled true
- addUserKnob {4 previewMode l "" t "Choose how Cryptomatte will visualize keyable regions." -STARTLINE M {Colors Edges None ""}}
- addUserKnob {6 matteOnly l "Matte Only" t "Extracted matte is copied to RGB channels as well. This disables keying. " +STARTLINE}
- addUserKnob {6 singleSelection l "Single Selection" t "Picker only selects matte at a time, rather than selecting a list. " -STARTLINE}
- addUserKnob {6 RemoveChannels l "Remove Channels" t "Removes all non-RGBA channels for the output. This will leave the downstream cleaner. " -STARTLINE}
- addUserKnob {26 ""}
- addUserKnob {41 matteOutput l "Matte Output" t "Set the channel(s) the matte will write to in \"Matte Only\" mode. For example, you can use this to store the matte in a custom channel called \"Matte\" and use it for color-correction downstream." T ShuffleCopy_embedMask.out}
- addUserKnob {6 unpremultiply l Unpremultiply -STARTLINE}
- addUserKnob {1 matteList l "Matte List" t "The list of names the mattes are built from. Color picking values with the color fields above works by populating this field. "}
- matteList "mat_ASX_LIGHTS_CHROME, \"Material #2905\""
- addUserKnob {22 clear l Clear t "Clears the selection in this Gizmo" T "try: \n import cryptomatte_utilities as cu\n cu.clear_cryptomatte_gizmo(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. Please check with Pipeline that the Cryptomatte python plugin is available on this project. \n\nError Traceback (send this to Pipeline): \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 forceUpdate l "Force Update" t "Updates the Gizmo based on which channels are available in the input. \n\nThis happens automatically when input changes, when loading the nuke script, or when a new gizmo is created. This is how it deals with differently named channels in the different Cryptomatte layers, and different depths that it's possible to render at. " -STARTLINE T "try: \n import cryptomatte_utilities as cu\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())"}
- addUserKnob {6 stopAutoUpdate l "Stop Auto Update" t "Stops the automatic update of this copy of the Gizmo." -STARTLINE}
- addUserKnob {26 ""}
- addUserKnob {4 cryptoLayerChoice l "Layer Selection" t "Choose which Cryptomatte layer to key." M {" " ""}}
- addUserKnob {1 cryptoLayer l INVISIBLE t "If there are multiple cryptomattes, this is how you select the layer." -STARTLINE +INVISIBLE}
- cryptoLayer VRayCryptomatte_mat
- addUserKnob {6 cryptoLayerLock l "Lock Layer Selection" t "Stops the automatic update of the layer selection." -STARTLINE}
- addUserKnob {41 expression l "Keyer Expression" t "The built expression. This knob is set automatically and is only left exposed as information for the user. " T Expression_key.expr0}
- addUserKnob {20 Advanced}
- addUserKnob {0 ColorKey l "" t "Key an object here to check its name. It will not effect your mattes. " -STARTLINE +HIDDEN}
- ColorKey {0 0 0 0 0 0 0 0}
- addUserKnob {6 ColorKey_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {6 ColorKey_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
- addUserKnob {26 ColorKeyLabel l "Name Checker" -STARTLINE +HIDDEN T " "}
- addUserKnob {1 keyedName l "Keyed Name" t "This field is for information only." +HIDDEN}
- addUserKnob {26 "" +HIDDEN}
- addUserKnob {22 decryptomatte l "Decryptomatte (Replace with Expression)" t "Replaces this gizmo with an expression node that does the extraction. This will replicate the matte extraction, but not the preview modes. " T "try: \n import cryptomatte_utilities as cu\n cu.decryptomatte_button(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run a Cryptomatte script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 unloadManifest l "Unload Manifest (Extract all Mattes)" t "Unload Manifest will create a separate gizmo for every named matte in the Cryptomatte manifest. This can potentially be thousands of nodes, though if the number is high a warning will be displayed before creating them. " T "try: \n import cryptomatte_utilities as cu\n cu.unload_manifest(nuke.thisNode())\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run a Cryptomatte script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {22 forceUpdateAll l "Force Update All (Update all Gizmos)" t "'Force Update All' will run 'Force Update' on all Cryptomatte gizmos in the Nuke script. 'Force Update' orders the gizmos to re-configure themselves based on available metadata, Cryptomatte depth, and the matte list. This updates all aspects of thier operation, from the preview modes to the extraction expression. Usually these updates occur automatically on certain actions, such as 'keying' the image, changing layer selection, or reconnecting images. However if changes occur upstream of the gizmos that require manually invoked updates, 'Force Update' and 'Force Update All' may be used. " T "try: \n import cryptomatte_utilities as cu\n cu.update_all_cryptomatte_gizmos()\nexcept Exception, err:\n import traceback\n nuke.message('''Unable to run Cryptomatte Gizmo update script. This script is necessary for the Cryptomatte system to work properly. \n\nError Traceback: \n\n%s''' % traceback.format_exc())" +STARTLINE}
- addUserKnob {41 previewExpression0 l INVISIBLE +INVISIBLE T Expression_preview.expr0}
- addUserKnob {41 previewExpression1 l INVISIBLE +INVISIBLE T Expression_preview.expr1}
- addUserKnob {41 previewExpression2 l INVISIBLE +INVISIBLE T Expression_preview.expr2}
- addUserKnob {41 previewExpression3 l INVISIBLE +INVISIBLE T Expression_preview.expr3}
- addUserKnob {11 previewChannel +HIDDEN}
- previewChannel none
- addUserKnob {11 in00 +HIDDEN}
- in00 VRayCryptomatte_mat00
- addUserKnob {11 in01 +HIDDEN}
- in01 VRayCryptomatte_mat01
- addUserKnob {11 in02 +HIDDEN}
- in02 VRayCryptomatte_mat02
- addUserKnob {11 in03 +HIDDEN}
- in03 none
- addUserKnob {11 in04 +HIDDEN}
- in04 none
- addUserKnob {11 in05 +HIDDEN}
- in05 none
- addUserKnob {11 in06 +HIDDEN}
- in06 none
- addUserKnob {11 in07 +HIDDEN}
- in07 none
- addUserKnob {26 "" +HIDDEN}
- }
- Input {
- inputs 0
- name Input1
- xpos -1361
- ypos -499
- }
- Dot {
- name Dot4
- xpos -1327
- ypos -439
- }
- set Ncb5500 [stack 0]
- Dot {
- name Dot15
- xpos -1093
- ypos -439
- }
- set Ncb5180 [stack 0]
- Dot {
- name Dot1
- xpos -960
- ypos -439
- }
- Shuffle {
- red black
- green black
- blue black
- name Shuffle_blackRGB
- xpos -994
- ypos -398
- }
- Expression {
- expr0 "((VRayCryptomatte_mat00.red == -1.62967729052e+15 || VRayCryptomatte_mat00.red == 8.92767694012e+34) ? VRayCryptomatte_mat00.green : 0.0) + ((VRayCryptomatte_mat00.blue == -1.62967729052e+15 || VRayCryptomatte_mat00.blue == 8.92767694012e+34) ? VRayCryptomatte_mat00.alpha : 0.0) + ((VRayCryptomatte_mat01.red == -1.62967729052e+15 || VRayCryptomatte_mat01.red == 8.92767694012e+34) ? VRayCryptomatte_mat01.green : 0.0) + ((VRayCryptomatte_mat01.blue == -1.62967729052e+15 || VRayCryptomatte_mat01.blue == 8.92767694012e+34) ? VRayCryptomatte_mat01.alpha : 0.0) + ((VRayCryptomatte_mat02.red == -1.62967729052e+15 || VRayCryptomatte_mat02.red == 8.92767694012e+34) ? VRayCryptomatte_mat02.green : 0.0) + ((VRayCryptomatte_mat02.blue == -1.62967729052e+15 || VRayCryptomatte_mat02.blue == 8.92767694012e+34) ? VRayCryptomatte_mat02.alpha : 0.0) + 0"
- channel1 none
- channel2 none
- channel3 none
- name Expression_key
- xpos -994
- ypos -372
- }
- Unpremult {
- channels {rgba.red -rgba.green -rgba.blue none}
- name Unpremult_matte
- xpos -994
- ypos -340
- disable {{!parent.unpremultiply}}
- }
- set Ncb4000 [stack 0]
- Dot {
- name Dot11
- xpos -960
- ypos -142
- }
- set N3a3c3c00 [stack 0]
- Dot {
- name Dot2
- xpos -960
- ypos -65
- }
- push $N3a3c3c00
- push $Ncb5500
- Dot {
- name Dot8
- xpos -1327
- ypos -395
- }
- set N3a3c3500 [stack 0]
- Dot {
- name Dot9
- xpos -1227
- ypos -395
- }
- Remove {
- operation keep
- channels rgba
- name Remove_channels
- xpos -1261
- ypos -360
- }
- push $N3a3c3500
- Switch {
- inputs 2
- which {{parent.RemoveChannels}}
- name Switch_removeChannels
- xpos -1361
- ypos -312
- }
- Dot {
- name Dot17
- xpos -1327
- ypos -235
- }
- set N3a3c2700 [stack 0]
- Dot {
- name Dot10
- xpos -1327
- ypos -193
- }
- set N3a3c2380 [stack 0]
- ShuffleCopy {
- inputs 2
- red red
- green red
- blue red
- alpha red
- name ShuffleCopy_matteOnly
- xpos -1361
- ypos -146
- }
- Dot {
- name Dot16
- xpos -1327
- ypos -91
- }
- push $Ncb4000
- push $Ncb5180
- Shuffle {
- alpha black
- name Shuffle_blackAlpha
- xpos -1127
- ypos -394
- }
- Expression {
- expr0 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 1 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 1 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 1 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 1 % 0.25) * VRayCryptomatte_mat01.alpha)"
- expr1 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 16 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 16 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 16 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 16 % 0.25) * VRayCryptomatte_mat01.alpha)"
- expr2 "((mantissa(abs(VRayCryptomatte_mat00.red)) * 64 % 0.25) * VRayCryptomatte_mat00.green + (mantissa(abs(VRayCryptomatte_mat00.blue)) * 64 % 0.25) * VRayCryptomatte_mat00.alpha + (mantissa(abs(VRayCryptomatte_mat01.red)) * 64 % 0.25) * VRayCryptomatte_mat01.green + (mantissa(abs(VRayCryptomatte_mat01.blue)) * 64 % 0.25) * VRayCryptomatte_mat01.alpha)"
- name Expression_preview
- xpos -1127
- ypos -368
- }
- Grade {
- inputs 1+1
- channels {rgba.red rgba.green -rgba.blue none}
- multiply 0
- add 1
- black_clamp false
- maskChannelMask rgba.red
- name Grade_selection
- xpos -1127
- ypos -340
- }
- Grade {
- channels {-rgba.red rgba.green rgba.blue none}
- multiply 0
- add 1
- black_clamp false
- maskChannelInput rgba.alpha
- name Grade_highlight
- xpos -1127
- ypos -302
- }
- push $N3a3c2700
- ShuffleCopy {
- inputs 2
- red red
- green green
- blue blue
- alpha alpha2
- name ShuffleCopy_restoreAlpha
- xpos -1127
- ypos -239
- }
- push $N3a3c2380
- Switch {
- inputs 2
- which {{parent.previewEnabled}}
- name Switch_preview
- xpos -1127
- ypos -197
- }
- Switch {
- inputs 2
- which {{parent.matteOnly}}
- name Switch_matteOnly
- xpos -1127
- ypos -95
- }
- ShuffleCopy {
- inputs 2
- red red
- green red
- blue red
- alpha red
- out alpha
- name ShuffleCopy_embedMask
- xpos -1127
- ypos -69
- }
- Output {
- name Output
- xpos -1127
- ypos -21
- }
- end_group
- Dot {
- name Dot32
- selected true
- xpos 6494
- ypos 4494
- }
- push $Nb0959c00
- Dot {
- name Dot20
- selected true
- xpos 6494
- ypos 4431
- }
- push $Nb0959000
- Dot {
- name Dot22
- selected true
- xpos 6494
- ypos 4373
- }
- Constant {
- inputs 0
- channels rgb
- name Constant1
- selected true
- xpos 6590
- ypos 4166
- }
- add_layer {ASX_MASX ASX_MASX.red ASX_MASX.green ASX_MASX.blue ASX_MASX.alpha}
- AddChannels {
- channels ASX_MASX
- name AddChannels1
- selected true
- xpos 6590
- ypos 4303
- }
- ShuffleCopy {
- inputs 2
- red alpha
- green black
- blue black
- alpha black
- out ASX_MASX
- name ShuffleCopy3
- label LAKIER
- selected true
- xpos 6590
- ypos 4363
- }
- ShuffleCopy {
- inputs 2
- in2 ASX_MASX
- green alpha
- blue black
- alpha black
- out ASX_MASX
- name ShuffleCopy2
- label FULL
- selected true
- xpos 6590
- ypos 4421
- }
- ShuffleCopy {
- inputs 2
- in2 ASX_MASX
- blue alpha
- alpha black
- out ASX_MASX
- name ShuffleCopy1
- selected true
- xpos 6591
- ypos 4489
- }
- Dot {
- name Dot19
- label SKRYPT
- note_font_size 25
- selected true
- xpos 6624
- ypos 4614
- }
- Shuffle {
- in ASX_MASX
- alpha black
- name Shuffle12
- label "\[value in]"
- selected true
- xpos 6591
- ypos 4784
- }
- Write {
- file //rama/works/ASX/090_RENDER_COMP/ASX_COMP_SH070/MASK/v02/ASX_MASK_SH070_####.exr
- colorspace linear
- file_type exr
- first_part none
- version 25
- in_colorspace linear
- out_colorspace linear
- name Write3
- selected true
- xpos 6591
- ypos 4897
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement