Create

NsFarm@動画クリエイター兼エンジニア

↓高機能動画編集ソフト DaVinci Resolve のチュートリアル動画を配信中↓

 NsFarm チャンネルはこちら

公開日:2020/2/29 更新日:2020/2/29 ブログ

皆さんこんにちは。いつもご訪問頂きまして心より感謝申し上げます。

先日、DaVinci Resolve Fusion チュートリアル、

"Expression(エクスプレッション)を使ってレスポンシブなテキストアニメーションを作る方法"

 NsFarm Channel にアップしました。

「知っていると便利なチョイテク」情報の共有や「こんなん作ったぜぃ」っていう作品紹介みたいなもので密かに盛り上がると嬉しいです。

基本「楽しむぜぃ」っていうスタイルでツイッター インスタグラム もやってますので気が向いたらフォローしていただけますと嬉しいです 

過去に配信した DaVinci Resolve 関係のコンテンツは、「NsFarm's DaVinci Resolve And Fusion Official Page」にまとめています。

 チュートリアル動画

Expression - Edit Controls - Responsive | Davinci Resolve Fusion チュートリアル

 チュートリアルで学べる内容

今回のチュートリアルでは以下の内容が学べます。

・DaVinci Resolve の基本的な使い方、編集方法、初め方、手順

・ノードベースの VFX、コンポジット(合成)ソフトウェア Fusion の使い方、編集方法、初め方、手順

・Expression(エクスプレッション)を使ってテキストの高さと幅を取得する方法

・Expression(エクスプレッション)を使ったレスポンシブアニメーションの設定方法

・ノード(ツール)に新しいコントロール(パラメータ)を追加する方法(After Effects のスライダー制御ライク)

・別のノード(ツール)のコントロール(パラメータ)を参照する方法(オリジナル参照ノードの作り方)

・全てのコントロール(パラメータ)を持った Setting ファイルを Macro として登録する方法(パラメータ全部入りのマクロの作成方法)

 配信後記

前回のチュートリアルでは、Instance の機能を使ったレスポンシブなテキストアニメーションを作成方法をご紹介しました。

Instance の機能を使ったレスポンシブなテキストアニメーションのチュートリアル

今回のチュートリアルではさらにグレードアップした"Expression(エクスプレッション)"を使ったレスポンシブテキストアニメーションの作り方を紹介しています。

Expression(エクスプレッション)を使うことでほぼほぼ制限なく Fusion の機能を利用出来るようになるのでより表現したいレスポンシブテキストアニメーションが作成できると思います。

ではなぜ前回は、Instance(インスタンス)の機能を使ったレスポンシブテキストアニメーションの作り方を紹介したかと言うとその時は、

""Expression(エクスプレッション)を使って文字の高さ、幅の取得方法"

がわかっていなかったからです^^;

前回のチュートリアルを Twitter で告知した際に照山明さん(@akiraxe )とコメントのやり取りをさせて頂きました。

GAIPRO.(@gaiprotter )を運営されていて、Youtube チャンネルの GAIPROMOTION ではDaVinciのスキマと題してとってもわかりやす DaVinci Resolve の使い方を紹介されています。

歯切れが良く気持ち良いトークで DaVinci Resolve を使う上でとっても参考になる機能を紹介されています。もしまだチャンネル登録されていない方がいらっしゃいましたら是非チェックしてみてください。

そのコメントのやり取りの中で照山明さんにテキストの高さと幅を取得するエクスプレッションを教えて頂きました(感謝です)。

こちらは Text1 を使った場合のエクスプレッションなのでもし Text2 などを使用した場合は Text1 の部分を Text2 に置き換えます

このエクスプレッションの内容は動画内で詳しく解説しているのでもしよろしければそちらをご覧いただいたほうがわかりやすいと思います。

一見難しそうなエクスプレッションですがテキストの幅の取得の方だけみてみると

(Text1.Output.DataWindow[3]-Text1.Output.DataWindow[1])/Text1.Output.OriginalWidth

こちらの数式の構造だけみると

(x-y)/z

という数式となっていて計算式自体は実はシンプルなものに置き換えることが出来ます。

シンプルな式からさらに x にあたる 「(Text1.Output.DataWindow[3]」の部分を取り出してみると

①Test1、②Output、③Datawindow[3]という 3 つの要素が「.(ドット)」で接続されています。この「.(ドット)」は、ドット演算子と呼ばれるものでオブジェクト指向のプログラミングにおいてオブジェクトがもつメンバーにアクセスする際に使用される演算子になります。

プログラミングの経験がないとチンプンカンプンだと思いますが個人的には日本語の「の」に置き換えてあげるとわかりやすいと思います。

「.(ドット)」を「の」に置き換えてみると

Text1 .(の) Output .(の) Datawindow[3]

となります。

つまり、Text1 の中には Output というメンバー(パラメータ)があり更に Output は Datawindow[3] というメンバー(パラメータ)を持っていてそのデータを取り出していることになります。

Datawindow[3] の [3] は、配列と呼ばれるもので人まとまりにしたデータテーブルの 0 相対だと 4 番目のデータを取り出しています。

実際今回のエクスプレッションには、DataWindow[1]、DataWindow[2]、DataWindow[3]、DataWindow[4] が出てきます。

これらを説明すると Fusion のビューワー画面は左下を原点とした座標データで管理されています。左下の座標が(0,0)、右上の座標はプロジェクト設定の解像度。例えば 1920x1080 が設定されている場合は、(1920,1080)となります。

そして、この座標の中に四角があったとするとその左下の座標が(Text1.Output.DataWindow[1], Text1.Output.DataWindow[2])。右上の座標は、(Text1.Output.DataWindow[3], Text1.Output.DataWindow[4])となっていてその値を Fusion のエクスプレッションで取得できるということになります。

つまり、

(Text1.Output.DataWindow[3]-Text1.Output.DataWindow[1])

は、右上の x 座標から左下の x 座標の値を引いていることになり四角の横幅のピクセルデータを取得しています。

これを、「Text1.Output.OriginalWidth」で割り算しています。割り算をしている理由は、ピクセルデータから Fusion の設定データに変換するためです。

Fusion の横幅と高さを設定する Width と Height は、最小が 0 画面の最大で 1 を設定する仕様になっています。これは Fusion が解像度を気にせず値を設定出来るというメリットがあります。

つまり、「Text1.Output.OriginalWidth」は解像度の横幅の最大値、1920x1080 であれば 1920 という値が入っていてその値で割り算することで変換しています。高さも同様に考えることが出来ます。

このエクスプレッションを使ってテキストの高さと横幅が取得出来るので後はこれを Rectangle や Ellipse に設定することでレスポンシブなテキストアニメーションにしようすることが出来ます。

エクスプレッションそのままだと文字と設定した図形との間隔がありません。エクスプレッションにオフセットを追加するかノードの後に Transform を追加してそちらでサイズを調整して使います。

次に紹介しているのがノード(ツール)に新しいコントロール(パラメータ)を追加する方法です。

Fusion のノード(ツール)はデフォルトでたくさんのコントロール(パラメータ)を所有していますがそこに新しいコントロール(パラメータ)を追加することができます。

ノード(ツール)の上で右クリックしてコンテキストメニューから"Edit Controls..."を選択します。するとコントロールを設定できるダイアログが開きます。

追加するコントロールに名前を付けると自動的に ID が割り振られます。Fusion のプログラムは、この ID にアクセスして値を取得したり設定したりしているようです。

名前、ID が設定されたら次に Type を選択します。「Number, Point, Text」の中から選択します。Number は数値系。Point は座標系。Text はテキスト系です。

次に Page を選択します。Page とは Inspector の上部にあるタブのようなものです。Fusion ではタブではなくページと内部的には呼ぶようです。

ここで"User"を選択すると新たに User ページが追加され追加したコントロールを人まとまりに管理することが出来ます。 トップのページに追加したい場合はトップのページを選択します。Inspector のページのアイコンにマウスを持っていくとヘルプでページの名称が表示されます。

次に Input Ctrl で SliderControl とか ScrewControl とかが選べ Default でデフォルト値、Range で設定範囲などを設定出来ます。

今回はこの機能を使って Costom Tool に新しく ①RefWidth、②RefHeight、③RefOffset というのを追加してみました。

そして、RefWidth にテキストの幅を取得する「(Text1.Output.DataWindow[3]-Text1.Output.DataWindow[1])/Text1.Output.OriginalWidth」。

RefHeight にはテキストの高さを取得する「(Text1.Output.DataWindow[4]-Text1.Output.DataWindow[2])/Text1.Output.OriginalHeight」を入力しました。

このようにした理由は、別のノードにエクスプレッションを追加したい時にこの長いエクスプレッションを設定するのではなく Costom Tool のコントロールを参照して使いたかったからです。

Ellipse とか Rectangle とか使用するノードが増えてそれら全てに長いエクスプレッションを設定するのを避けたかったからです。

そうそう Costom Tool は新しく"Ref"という名前をつけました。参照する時に使われる名前になるのでわかりやすい名前を付けると良いと思います。

MyParam とか MyData とか悩みました。

これで参照するある意味オリジナルのノード(ツール)が出来ました。ここからさらに発展した使い方としてこの新たに名前をつけて作成した"Ref"のマクロを作成しました。

通常マクロはノードを右クリックして「Macro → Create Macro...」から Macro Editor を呼び出して作成します。

機能が絞られたマクロを作成する際はこの Macro Editor で使用したいコントロールにチェックマークを付けることで作成します。

ただ今回は全ての項目にチェックマークがついたマクロが作りたかったです。その時に全てのチェックマークにマークをつけていくのは大変です。

その時の裏技的テクニックは"Setting ファイルを Macro フォルダに保存"する方法です。

マクロファイルも Setting ファイルですが前述のように Macro Editor で作成する Setting ファイルはチェックボックスで項目を設定する必要があります。

一方、ノードを右クリックしてコンテキストメニューの"Settings → Save As..."で保存される Setting ファイルは全てのコントロール(パラメーター)を所有しています。

これを Macro フォルダに設定します。Macro フォルダのパスは、Macro Editor を開いて「File → Save As」で保存先のダイアログが開くと思います。そこで取得、調べることが出来ます。

私の環境(Windows10 Pro)では以下のパスになっていました。

C:\Users\ユーザー名\AppData\Roaming\Blackmagic Design\DaVinci Resolve\Support\Fusion\Macros

Macro 化するメリットは Shift + Space キーで表示される Select Tool で呼び出せる点があります。 別の Fusion Conposition でも素早く呼び出せるので作業性は良いと思います。

 Rectangle の座標は!?

マスクツールの Rectangle の座標は、上記テキストの Output を Mask に変更します。

左下の座標は、(x, y) は、(Rectangle1.Mask.DataWindow[1],Rectangle1.Mask.DataWindow[2])

右上の座標は、(x, y) は、(Rectangle1.Mask.DataWindow[3],Rectangle1.Mask.DataWindow[4])

で取得可能です。

 主な使用ノード

・Text+

・Rectangle

・Circle

・Merge

・オリジナル Ref(Costom Tool に Edit Controls を使ってコントロールを追加したもの)

 PC 環境

制作に使用した時の PC 環境の紹介です。

------------------------------------------

PC: G-Master Spear Z390-Taichi OC

CPU: Intel Core i9-9900K [5.0GHz OC]

GPU: GeForce RTX2080Ti 11GB

Memory: 32GB

Keyboard:Logicool K750r

Mouse:Logicool M220GR

Mic:FIFINE K670

Headset:SONY MDR-XB450

------------------------------------------

 まとめ

いかがだったでしょうか。

今回チュートリアルでは、Expression(エクスプレッション)を使ってテキストの高さと幅を取得しレスポンシブなアニメーションを制作する方法を紹介致しました。 その際に便利に使えるオリジナル参照用の Ref ノードの作り方、それをマクロとして登録する方法も合わせて紹介しています。 もう少し改善が必要な部分もありますがそれは後々やりながら改善できたらと思っています。 次回は、実際に何かレスポンシブなアニメーションを作って紹介出来たらと思っています。

ではではこれからも DaVinci Resolve の使い方、魅力を伝え、皆様の映像制作に少しでも刺激を与えられたらと思っています。

それでは最後まで読んで頂きましてありがとうございました。

 みんなのコメントコーナー

皆さんとの技術&作品共有の場になれば幸いです。

Comment Box is loading comments...

関連記事

contens

ダヴィンチリゾルブ用の無料の Title、Lower 3rd パック- nsPlaneTitleVol01 - / DR16
Light Leaks! エディットページの隠れ最強ツールを使ったライトリークエフェクトとトランジションを作る方法 / DR16
Fusion スクリプト超入門講座の動画をアップしました。
Ripple ! 画面に波紋、波動のような波エフェクトを付ける方法 | Davinci Resolve Fusion チュートリアル
液体金属!?Chrome 系メタリックテキストアニメーションの作り方 | Davinci Resolve Fusion チュートリアル
Glass Shatter ! ガラス粉砕エフェクトの作り方 | Davinci Resolve Fusion チュートリアル
Fusion を使って Double Exposure(多重露光、二重露光) 影像を作る方法 | Davinci Resolve Fusion チュートリアル
Spotify / Duotone / カラーグレーディング | Davinci Resolve Fusion チュートリアル
拡張プラグインを一括管理。Reactor のインストール方法と使い方。
After Effects の Turbulent Displace っぽく使用できる Fusion テンプレートマクロの使い方。
Follower を使ったテキストの連続アニメーションと 3D テキストに Icon の画像をシェーディングする方法。
桜吹雪!3D テキストシェーディングと pBounce を使った桜吹雪エフェクトの作り方。
DaVinci Resolve Fusion で使えるフリーマクロテンプレート、SnsTextAndIcons のご紹介と使い方。
DaVinci Resolve Fusion の Wedding(ウェディング)系、フリーマクロテンプレート!
Fusion の Expression(エクスプレッション)を使ってレスポンシブなテキストアニメーションを作る方法 | Davinci Resolve Fusion チュートリアル
Responsive Text Animation in Fusion! レスポンシブなテキストアニメーションの作り方 | DAVINCI RESOLVE 16.1.2
Perturb で半自動!シンプルターゲットロックオンアニメーション in Fusion。HUD にも応用できます。 | DAVINCI RESOLVE 16.1.2
Wand ツールの使い方と色が一文字ずつ変化するカラフルテキストアニメーションの作り方 in Fusion | DAVINCI RESOLVE 16.1.2
Hologram ! Fusion を使ってホログラムエフェクトを作る方法 | DAVINCI RESOLVE 16.1.2
Freeze Frame introduction! 集中線、アメコミ風吹き出し、画像の縁をデザイン | DAVINCI RESOLVE 16.1.2
Scrolling Text! シンプルなエンドロールを作る方法。| DAVINCI RESOLVE 16.1.2
Cinematic Title in Fusion! (2/2)/ 【後編】音と映像を合わせてスモークと光とパーティクルを追加する方法。| DAVINCI RESOLVE 16.1.2
Cinematic Title in Fusion! (1/2)/ 【前編】シネマティックなタイトルの作り方(ディズニー風)。| DAVINCI RESOLVE 16.1.2
連番のイメージファイルが上手く読み込めない時の対処法。| DAVINCI RESOLVE 16.1.2

NsFarm's DaVinci Resolve And Fusion Official Page、TOP へ


関連記事

最後までお読みいただきありがとうございました。

ソフトウェアエンジニア視点の奥深さ。

でも、どこかオシャンティ感のある動画編集方法を配信しているチャンネルを運営しています ↓

 NsFarm チャンネルはこちら

チャンネル登録ヨロシクです!

Ns Farm TOP DaVinci Resolve Create TOP Golf Create TOP