Marre de régler vos nœuds fusion toujours de la même manière, la fonction « save default » est là pour ça !!
Les Versions
Chaque noeud peut avoir plusieurs Réglages différents, cela s’appelle des versions. on les active dans l’inspecteur.
Voici quelques exemples
Une forme Bezier non animée
Les formes de bezier ou B-Spline sont animées par défaut … pour en faire des outils prêt à la rotoscopie. Ce n’est pas mon cas 😉.
Voici le texte à copier-coller dans le node graph
{
Tools = ordered() {
Polygon = PolylineMask {
DrawMode = "ClickAppend",
DrawMode2 = "InsertAndModify",
CtrlWZoom = false,
NameSet = true,
Inputs = {
Filter = Input { Value = FuID { "Fast Gaussian" }, },
MaskWidth = Input { Value = 1920, },
MaskHeight = Input { Value = 1080, },
PixelAspect = Input { Value = { 1, 1 }, },
UseFrameFormatSettings = Input { Value = 1, },
ClippingMode = Input { Value = FuID { "None" }, },
Polyline = Input {
Value = Polyline {
},
},
Polyline2 = Input {
Value = Polyline {
},
Disabled = true,
},
},
ViewInfo = OperatorInfo { Pos = { 1265, 16.5 } },
}
},
ActiveTool = "Polygon"
}
un Background transparent
J’utilise aussi souvent un nœud background complètement transparent … comme une plaque de verre sur lequel je travaille.
Voici le texte à copier-coller dans le node graph
{
Tools = ordered() {
Background1 = Background {
CtrlWZoom = false,
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftAlpha = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 825, 49.5 } },
}
},
ActiveTool = "Background1"
}
un KeyframeStretcher automatique
Le Keyframe stretcher ne s’adapte pas automatique à la durée de la composition. J’y remédie.
Voici le texte à copier-coller dans le node graph
{
Tools = ordered() {
KeyframeStretcher1_1 = KeyStretcher {
CtrlWZoom = false,
Inputs = {
StretchStart = Input { Expression = "comp.RenderStart+UnStretchStart", },
StretchEnd = Input { Expression = "comp.RenderEnd-UnStretchEnd", },
SourceStart = Input { Expression = "comp.RenderStart", },
SourceEnd = Input { Expression = "comp.RenderEnd", }
},
ViewInfo = OperatorInfo { Pos = { 880, 247.5 } },
UserControls = ordered() { UnStretchStart = { INP_MaxAllowed = 1000000, INP_Integer = true, INPID_InputControl = "ScrewControl", INP_MaxScale = 100, INP_Default = 25, INP_MinScale = 0, INP_MinAllowed = 0, LINKID_DataType = "Number", ICS_ControlPage = "Keyframes", LINKS_Name = "UnStretch Start" }, NewControl = { INP_Integer = false, LINKS_Name = "New Control", LINKID_DataType = "Number", }, UnStretchEnd = { INP_Integer = true, INPID_InputControl = "ScrewControl", INP_MaxScale = 100, INP_Default = 25, INP_MinScale = 0, INP_MinAllowed = 0, LINKID_DataType = "Number", ICS_ControlPage = "Keyframes", LINKS_Name = "UnStretch End", }, SourceStart = { INP_MaxAllowed = 1000000, INP_Integer = false, ICS_ControlPage = "Keyframes", INP_MaxScale = 1, INP_Default = 0, INP_MinScale = 0, INP_MinAllowed = -1000000, LINKID_DataType = "Number", LINKS_Name = "Source Start" }, SourceEnd = { INP_MaxAllowed = 1000000, INP_Integer = false, ICS_ControlPage = "Keyframes", INP_MaxScale = 1, INP_Default = 120, INP_MinScale = 0, INP_MinAllowed = -1000000, LINKID_DataType = "Number", LINKS_Name = "Source End" } }
}
},
ActiveTool = "KeyframeStretcher1_1"
}
un MatteControl
J’utilise bcp le matteControl pour faire une découpe via l’entrée GarbageMatte… elle doit donc être inversée
J’active aussi le combine Alpha et le post Multiply … inopérant si le FG n’est pas relié
Voici le texte à copier-coller dans le node graph
{
Tools = ordered() {
MatteControl1 = MatteControl {
CtrlWZoom = false,
Inputs = {
MatteCombine = Input { Value = 4, },
Filter = Input { Value = FuID { "Fast Gaussian" }, },
["Garbage.MaskNest"] = Input { Value = 1, },
["Garbage.MaskInverted"] = Input { Value = 1, },
PostMultiplyImage = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 440, 148.5 } },
}
},
ActiveTool = "MatteControl1"
}
Le perspective positionner n’a pas ses coins dans les angles du viewer.
Merge
Plusieurs version: Over, Mask, Stencil & Under
{
Tools = ordered() {
Merge1 = Merge {
CtrlWZoom = false,
CurrentSettings = 4,
CustomData = {
Settings = {
[1] = {
Tools = ordered() {
Merge1 = Merge {
CtrlWZoom = false,
CustomData = {
},
Inputs = {
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 330, 148.5 } },
}
}
},
[2] = {
Tools = ordered() {
Merge1 = Merge {
CtrlWZoom = false,
CustomData = {
},
Inputs = {
Operator = Input { Value = FuID { "Mask" }, },
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 330, 148.5 } },
}
}
},
[3] = {
Tools = ordered() {
Merge1 = Merge {
CtrlWZoom = false,
CustomData = {
},
Inputs = {
Operator = Input { Value = FuID { "Stencil" }, },
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 330, 148.5 } },
}
}
},
}
},
Inputs = {
Operator = Input { Value = FuID { "Under" }, },
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 330, 148.5 } },
}
},
ActiveTool = "Merge1"
}
Delta Keyer
Avec le « replace mode » des onglets Mask et Matte ➧ « Source »
{
Tools = ordered() {
DeltaKeyer1 = DeltaKeyer {
CtrlWZoom = false,
Inputs = {
ReplaceMode = Input { Value = FuID { "Source" }, },
TuningRanges = Input {
Value = ColorCurves {
Curves = {
{
Points = {
{ 0, 1 },
{ 0.4, 0.2 },
{ 0.6, 0 },
{ 1, 0 }
}
},
{
Points = {
{ 0, 0 },
{ 0.4, 0 },
{ 0.6, 0.2 },
{ 1, 1 }
}
}
}
},
},
SolidReplaceMode = Input { Value = FuID { "Source" }, },
},
ViewInfo = OperatorInfo { Pos = { 550, 115.5 } },
}
},
ActiveTool = "DeltaKeyer1"
}
Set Domain
Mettre le Set Domain en Mode « set » : à la résolution d’entrée
ColorSpaceTransform
Créer un ColorSpaceTransform pour le monitoring des nodes en linéaire
{
Tools = ordered() {
ColorSpaceTransform1 = ColorSpaceTransform {
CtrlWZoom = false,
Inputs = {
OutputGamma = Input { Value = FuID { "TWOPOINTFOUR_GAMMA" }, },
SrcLumMax = Input { Disabled = true, },
DstLumMax = Input { Disabled = true, },
},
ViewInfo = OperatorInfo { Pos = { 495, 115.5 } },
}
},
ActiveTool = "ColorSpaceTransform1"
}
Un colorSpace transform qui active automatiquement les case à cocher OOTF
{
Tools = ordered() {
ColorSpaceTransform1 = ColorSpaceTransform {
CtrlWZoom = false,
NameSet = true,
Inputs = {
InputGamma = Input { Value = FuID { "TWOPOINTFOUR_GAMMA" }, },
OutputGamma = Input { Value = FuID { "TWOPOINTFOUR_GAMMA" }, },
SrcLumMax = Input { Disabled = true, },
DstLumMax = Input { Disabled = true, },
ApplyForwardOOTF = Input { Expression = "iif(OutputGamma.Value == \"TWOPOINTFOUR_GAMMA\" , 1, 0)", },
ApplyInverseOOTF = Input { Expression = "iif(InputGamma.Value == \"TWOPOINTFOUR_GAMMA\" , 1, 0)", },
},
ViewInfo = OperatorInfo { Pos = { 1100, 115.5 } },
}
},
ActiveTool = "ColorSpaceTransform1"
}