Fusion : Save Default & Version


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"
}
puis Clic droit sur le nœud collé ➧ Settings ➧ Save Default

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"
}
puis Clic droit sur le nœud collé ➧ Settings ➧ Save Default

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"
}
puis Clic droit sur le nœud collé ➧ Settings ➧ Save Default

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"
}
puis Clic droit sur le nœud collé ➧ Settings ➧ Save Default

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"
}
, ,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.