Create

NsFarm@ソフトと画像のエンジニア

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

 NsFarm チャンネルはこちら

公開日:2021/7/30 更新日:2021/7/30 ブログ

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

先日、 NsFarm Channel に、

"スクリプトファイルで作ったプログラムからテキストを動かす方法"

を紹介したチュートリアル動画をアップしました。

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

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

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

 チュートリアル動画

if 文攻略へ!テキストをスクリプトで動かす第一歩。 / Render Script Test #4 (InTool Scrips)

スクリプトファイルのダウンロード

 Download

 動画の内容

 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①:ECM-LV1

Mic②:FIFINE K670

Headset:SONY MDR-XB450

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

 まとめ

今回は前回の第 3 回目の動画でご紹介した動作確認用スクリプトの flash スクリプト改造をして flashEx スクリプトを作成する方法をご紹介しました。
まず、「fu:PurgeCache()」について触れました。 「fu:PurgeCache()」は、「キャッシュを開放して、メモリリークなどを防ぐ効果がある」という文章をフォーラムの記事で読んだことがあったので 今は、おまじない的に入れています。まだ、どれほどの効果があるのかまでは正確に把握出来ていせん。 入れておいても特に悪さはしないと思うので、入れないよりは入れておいたほうが良いかもといったレベルです。
次に、if 文についてです。Frame Render Script(InTool Scripts) で使用できるスクリプトは、lua 言語で記述します。 そのため、lua 言語の構文を使用することが出来ます。 flash スクリプト内では、その構文の中の一つの if 文と呼ばれる構文を使っています。 「もしも...だったら A、そうでなければ B」といったように「...」に入る条件によって実行するプログラムを A または、B で切り替えることが出来る構文です。 さらに、「もしも...だったら A さらにもしも ... だったら B、そうでなければ C」と分岐を 3 つ以上に設定することも出来ます。 映像制作、映像編集をやられている方は殆どの方が、if 文などこれまで使ったことがなくまったくチンプンカンプンだと思います。 映像制作でイメージが一番近いのは、「キーフレーム」だと思います。 動画を編集する際に、キーフレームを設定してパラメータを変更することがあると思います。 これと近いことが出来るのが if 文です。
「フレームが 50 より大きかったら」とか「フレームが 50 より大きく 100 より小さい時には」といった条件をつけてパラメータを設定できるところがとても似ています。 プログラムは一度感覚を掴むまではとっても難しく感じますが、「キーフレーム」といった馴染みのあるものをイメージしながら学ぶと頭に入って来やすいかもしれません。

次に今回条件で使用した「time % 2 == 0」の解説をしています。 Frame Render Script は、コンポジションが再生された時フレームごと、毎回呼ばれるスクリプトです。 フレームごとレンダリングされるスクリプトのため、「Frame Render Script」という名前がついていると思います。 フレームごと呼ばれた時にそのフレーム番号を参照することが出来るのが time 変数です。 例えば 50 フレームの時にスクリプトが実行されると time 変数は、50 という数値が参照され、51 フレームの時に実行されると 51 という数値が参照されます。 「time % 2」は、time 変数を 2 で割った余りを求めています。0 を 2 で割ると余りは、0。1 を 2 で割ると余りは、1。2 を 2 で割ると余りは、0。3 を 2 で割ると余りは、1。 と 1 ずつ増加する数値を 2 で割ったあまりは、0 と 1 が繰り返される結果となります。 その結果を「== 0」で 0 と比較することで 0 の時は、then ~ else までのブロックのプログラムが実行され、それ以外の時は、else ~ end までのブロックのプログラムが実行されます。 つまり、偶数フレームと奇数フレームで処理を変える if 文の条件を設定しています。 別の例も紹介しておきます。「time > 50」とすると 50 フレームより大きい時、「50 < time and time < 100」とすると 50 より大きく、100 より小さい範囲を条件して指定することが出来ます。

次に、テキストの設定方法です。テキストは、「self.StyledText = "Left"」のように、self.StyledText に値を設定します。 文字列は、""(ダブルクォーテーション)の中に記載します。もし Font を変更する場合は、Style パラメータも同時に設定する必要がありますので注意が必要です。 「【検証】Font は、Style も一緒に設定しないとダメだった!おまけで LEGO 風テキストアニメーションの作り方

次に、テキストを動かすスクリプトを紹介しました。「self.Center.X = 」に座標を入力すると X 軸、「self.Center.Y = 」に座標を入力すると Y 軸の座標が設定できます。 Fusion の座標は、ビューアで左下が原点の(0,0)。X、Y とも最大が 1 に正規化されています。 動画では、連続して値を変更したかったので time 変数を使いコンポジションの長さが取得出来る「comp.RenderEnd」変数で割ってあげることで「0~1」の値に正規化して設定しています。

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

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

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

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

Comment Box is loading comments...

関連記事

contens

Fusion で幾何学デザインを作る方法です。適当さがポイントです。/ Geometric Pattern
テキスト、テロップのアウトラインにアニメーション(ストローク)をつける基本ノードの設定手順。/ 有償版用プラグイン Krokodove の使い方
if 文攻略へ!テキストをスクリプトで動かす第一歩。 / Render Script Test #4 (InTool Scrips)
必修となるか!?超便利ライブラリ dofile 関数の検証! / Render Script Test #3
【検証】Font は、Style も一緒に設定しないとダメだった!おまけで LEGO 風テキストアニメーションも。/ Render Script Test #2
この検証を始めようと思った理由や少し雑談。宿題も、、、/ Render Script Test #1
Drip & Highlight でシンプルダイアモンドダスト風テキストアニメーションの作り方 / DR17 Beta
超簡単!New Transform(変形)でシンプルレーザーグリッチ風テキストアニメーションを作る方法. / DaVinci Resolve 17 Fusion
Advanced Part2 - Anim Curves を使って可変長のテキストアニメーションを作る方法. / DaVinci Resolve 17 Fusion
Center Jump Part1 - キーフレームを使ったシンプルテキストアニメーション!? / DaVinci Resolve 17 Fusion
Fusion Effects 用マクロにトグル開閉ラベル(ボタン)を付ける方法。Setting ファイルとは!? / DaVinci Resolve 17 Fusion
Shape ノードと従来方法スピードを比較。重かった Duplicate が高速化!
プロモーションビデオのようなフラッシュ(ストロボ)エフェクトが簡単に設定できるエクスプレッション / DR16
(2/2) 複数の Camera3D をスイッチングで切り替えて撮影するアニメーションの作り方 / DaVinci Resolve 16
(1/2) Cube 3D を使った ProductBox の作り方(画像の 3D マッピング方法) / DaVinci Resolve 16
ダヴィンチリゾルブ用の無料の 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