DaVinci ResolveのFusionのおもしろさ
いやー、なかなかYou Tube動画が作成できない苦しみを味わってます。
頭の中のイメージを言語化できないので練習しなくちゃ。
クライアントの案件だとアイディアがスラスラでてくるのに自分のことになると途端にアイディアが枯渇する問題。
さて、動画を作る上で必要なのが動画編集ソフト。
色々ありますよね。
Premiere Proから始まってFinal Cut Pro Xを使ったりしていました。
EDIUSとかVEGAS Proは結局触らずじまいだったのですが、
DaVinci Resolveを使いだしてからずっとこればっかりです。
昔はカラーグレーディングをする人が使うっていうイメージでしたが
最近はオールインワンの便利ソフトになりました。
どう便利なのかは色んな人が書いていたり動画あるのでそれを見てください。
せっかく動画を作るのであれば映像だけでなく、モーショングラフィックスもできたら楽しそうだよねと思っていたのですが、なかなかAfter Effectsから脱却できず悩んでいましたがFusionのセミナーを受けたら目からウロコなことばかり。
After Effectsでプラグインをいっぱい入れていましたがほぼそれがなくてもだいたいのことができる。
そしてプレビューが軽い。
軽いのは正義ですよね。
さらにエクスプレッションはもちろんなのですが、コードのコピペができる。
一番惹かれたのはここでした。
PythonとLuaで書けるんですよね。
Fusion 16 | Blackmagic Design
https://www.blackmagicdesign.com/jp/products/fusion/
普通にテンプレで保存しておけば済む話なのですが、なぜかここがツボでした。
このトランジションだって、コピペしてFusionのタブを開いて貼り付けてください。
{
Tools = ordered() {
Background2 = Background {
Inputs = {
EffectMask = Input {
SourceOp = "Rectangle2",
Source = "Mask",
},
GlobalIn = Input { Value = 403, },
GlobalOut = Input { Value = 415, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
UseFrameFormatSettings = Input { Value = 1, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 1, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 55, 82.5 } },
},
Rectangle1 = RectangleMask {
Inputs = {
Filter = Input { Value = FuID { "Fast Gaussian" }, },
MaskWidth = Input { Value = 1920, },
MaskHeight = Input { Value = 1080, },
PixelAspect = Input { Value = { 1, 1 }, },
ClippingMode = Input { Value = FuID { "None" }, },
Center = Input {
SourceOp = "Path1",
Source = "Position",
},
Width = Input {
SourceOp = "Rectangle1Width",
Source = "Value",
},
Height = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 165, 49.5 } },
},
Path1 = PolyPath {
DrawMode = "InsertAndModify",
Inputs = {
Displacement = Input {
SourceOp = "Path1Displacement",
Source = "Value",
},
PolyLine = Input {
Value = Polyline {
Points = {
{ Linear = true, LockY = true, X = -0.602, Y = 0, RX = 0.200666666666667, RY = 0 },
{ Linear = true, LockY = true, X = 0, Y = 0, LX = -0.200666666666667, LY = 0, RX = 0.2, RY = 0 },
{ Linear = true, LockY = true, X = 0.6, Y = 0, LX = -0.2, LY = 0 }
}
},
},
},
},
Path1Displacement = BezierSpline {
SplineColor = { Red = 255, Green = 0, Blue = 255 },
NameSet = true,
KeyFrames = {
[403] = { 0, RH = { 404.666666666667, 0.166943982251803 }, Flags = { Linear = true, LockedY = true } },
[408] = { 0.500831946755408, LH = { 406.333333333333, 0.333887964503605 }, RH = { 410.333333333333, 0.667221297836939 }, Flags = { Linear = true, LockedY = true } },
[415] = { 1, LH = { 412.666666666667, 0.833610648918469 }, Flags = { Linear = true, LockedY = true } }
}
},
Rectangle1Width = BezierSpline {
SplineColor = { Red = 225, Green = 255, Blue = 0 },
NameSet = true,
KeyFrames = {
[403] = { 0.202479338842975, RH = { 404.666666666667, 0.47465564738292 }, Flags = { Linear = true } },
[408] = { 1.01900826446281, LH = { 406.333333333333, 0.746831955922865 }, RH = { 410.333333333333, 0.746005509641873 }, Flags = { Linear = true } },
[415] = { 0.2, LH = { 412.666666666667, 0.473002754820937 }, Flags = { Linear = true } }
}
},
Merge1 = Merge {
CtrlWZoom = false,
Inputs = {
Background = Input {
SourceOp = "Background1",
Source = "Output",
},
Foreground = Input {
SourceOp = "Background2",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 165, 115.5 } },
},
MediaOut1 = MediaOut {
Inputs = {
Index = Input { Value = "0", },
Input = Input {
SourceOp = "Merge1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 275, 115.5 } },
},
Rectangle2 = RectangleMask {
Inputs = {
Filter = Input { Value = FuID { "Fast Gaussian" }, },
MaskWidth = Input { Value = 1920, },
MaskHeight = Input { Value = 1080, },
PixelAspect = Input { Value = { 1, 1 }, },
ClippingMode = Input { Value = FuID { "None" }, },
Center = Input {
SourceOp = "Path2",
Source = "Position",
},
Width = Input {
SourceOp = "Rectangle2Width",
Source = "Value",
},
Height = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 55, 49.5 } },
},
Path2 = PolyPath {
DrawMode = "InsertAndModify",
Inputs = {
Displacement = Input {
SourceOp = "Path2Displacement",
Source = "Value",
},
PolyLine = Input {
Value = Polyline {
Points = {
{ Linear = true, LockY = true, X = -0.596694214876033, Y = 0, RX = 0.0584022038567493, RY = 0 },
{ Linear = true, LockY = true, X = -0.421487603305785, Y = 0, LX = -0.0584022038567493, LY = 0, RX = 0.321490201101928, RY = 0 },
{ Linear = true, LockY = true, X = 0.542983, Y = 0, LX = -0.321490201101928, LY = 0 }
}
},
},
},
},
Path2Displacement = BezierSpline {
SplineColor = { Red = 255, Green = 0, Blue = 255 },
NameSet = true,
KeyFrames = {
[403] = { 0, RH = { 404.666666666667, 0.0512445130028347 }, Flags = { Linear = true, LockedY = true } },
[408] = { 0.153733539008504, LH = { 406.333333333333, 0.102489026005669 }, RH = { 410.333333333333, 0.435822359339003 }, Flags = { Linear = true, LockedY = true } },
[415] = { 1, LH = { 412.666666666667, 0.717911179669501 }, Flags = { Linear = true, LockedY = true } }
}
},
Rectangle2Width = BezierSpline {
SplineColor = { Red = 225, Green = 255, Blue = 0 },
NameSet = true,
KeyFrames = {
[403] = { 0.189256198347107, RH = { 404.666666666667, 0.189256198347107 }, Flags = { Linear = true } },
[408] = { 0.189256198347107, LH = { 406.333333333333, 0.189256198347107 }, RH = { 410.333333333333, 0.152179065564738 }, Flags = { Linear = true } },
[415] = { 0.0780248, LH = { 412.666666666667, 0.115101932782369 }, Flags = { Linear = true } }
}
},
Background1 = Background {
Inputs = {
EffectMask = Input {
SourceOp = "Rectangle1",
Source = "Mask",
},
GlobalIn = Input { Value = 403, },
GlobalOut = Input { Value = 415, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
UseFrameFormatSettings = Input { Value = 1, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Type = Input { Value = FuID { "Gradient" }, },
Gradient = Input {
Value = Gradient {
Colors = {
[0] = { 0.658823529411765, 1, 0.470588235294118, 1 },
[1] = { 0.470588235294118, 1, 0.83921568627451, 1 }
}
},
},
},
ViewInfo = OperatorInfo { Pos = { 165, 82.5 } },
}
}
}
ほら、どうですか。
普段コードを書いているからちょっとホッとするこの感覚。
こうやって見ると映像もプログラムの一部なんだなと思います。
この面白さがわかるとFusionがもっと楽しくなると思いますよ。
この記事が気に入ったらサポートをしてみませんか?