九州のごみすてば

九州のごみすてば

あああああ

MENU

AviUtlでキレイな文字シャッフルをやりたいオタクの奮闘記

【追記】なんとスクリプトができてしまいました

この記事がePiさんの視界に触れたらしく、秒速でスクリプトを組んでくださいました 本当にありがとうございます

 

導入方法や使い方は↓この記事↓で詳述してるので刮目しなさい

 

よってこれより下で紹介しているテクニックは使う価値が0.0000001からゼロになりました 見るなら完全にエンタメとして見てください

 

Q. 文字シャッフルってなに?

A. これ↓

かっこいいですよね

 

よっしゃぼくもやろう!

 

こんなテキストを用意しました

f:id:ArchivE_NcaxaR_9:20210908140455p:plain

 

『文字毎に個別オブジェクト』にチェックを入れて、

『TAランダム文字で登場』を適用して、

『文字間隔』のパラメータを調整すれば、

 

うわああああああああああああ(絶望)

 

f:id:ArchivE_NcaxaR_9:20210908140327p:plain

親に向かってなんだそのクッソガタガタな字間は

 

↓ここ超絶キモキモポイント↓

f:id:ArchivE_NcaxaR_9:20210908140330p:plain

正直言ってぼくの顔よりもきもい(辛辣)

 

こんな感じで私と同じ悩みを抱えている同業者もいるかと思いますが、

文字によって字幅が異なるプロポーショナルフォントでは、『文字毎に個別オブジェクト』にチェックを入れるとキモくなることがまれによくあります

 

↓これが理想形↓

 

でもAviUtlのスクリプトを日々開発してくれている有志がこの問題を解決してくれるはず!

 

…いない!

 

この悩みを抱えて早4年、なぜ誰も解決してくれないんだ…!

俺と悩みを同じくする同志は多いはず…!

 

未解決事件となりつつあるこの問題、

仕方ないのでここは腹をくくりましょう

 

自力で再現しよう

スクリプトの力ではなく、脳筋に頼ります

とりあえず、スクリプトを適用したテキストと、素の状態のテキストを並べます

f:id:ArchivE_NcaxaR_9:20210908143917p:plain

言い忘れったけど、文字のシャッフルは1フレームずつに設定してます

 

↓これを

f:id:ArchivE_NcaxaR_9:20210908144246p:plain

 

↓こうして(は???)

f:id:ArchivE_NcaxaR_9:20210908144543p:plain

※分割はタイムライン上でSキーを押すのが早いよ

 

文字のシャッフルが上のやつと同じになるよう、テキストオブジェクトに1フレームずつ手打ちで入力します

※マウスカーソルの位置バグってるけど気にしないでね

 

完成!

簡単だったね!(なにが)

 

完成したやつですが、RootのタイムラインじゃなくてSceneにぶち込んでそこから呼び出して使うことを強く慫慂します

※「シーンの設定」で「アルファチャンネルあり」にするのを忘れないでね

 

ちなみに、下のテキストオブジェクトの分割後に何かしらの不手際が発覚すると、後々直すのが大変になるかもしれません

もし直す必要が生じた場合、タイムラインのオブジェクトを複数選択して、ctrlキー押しっぱの状態で、どれか一つのオブジェクトのパラメータをいじると、他に選択しているオブジェクトのパラメータも一括で変更できるのでおすすめ

パラメータ以外にも、フォントとか色とか斜体とか左右寄せ/中央揃えとかも変更できるっぽい

 

応用編(地獄)

これやりたい… これやりたくなくない?

やってみましょう

 

まずテキストオブジェクトを1文字ずつ縦にずらっと並べます 馬鹿か?

f:id:ArchivE_NcaxaR_9:20210908152906p:plain

そしてそれぞれのテキストオブジェクトのx座標をひと通り調整して、文字をきれいに並べましょう  カーニング力が非常に試されます

マジでこの作業地獄です  ほめて

※将来のためにタイムラインのレイヤーは1つおきに空けておくといいと思います

あとテキストは『中央揃え[中]』にしておくことを忘れずに

 

そしてさっきと同じように、テキストオブジェクトを1フレームずつ分割し、文字がシャッフルするように、

これらをフレーム毎に1文字ずつ全て手打ちで入力します   たすけて

 

※一見変に見えますが、普通に再生すれば違和感なくなるので気にしてはいけない

 

もはや面倒くさすぎてやってられないので、再現とか関係なしにシャッフルの順番はもう適当に決めました

順番が適当でも普通に見れるので問題はない

 

後は拡大率のメディアオブジェクト*1のパラメータをお好みで設定し、テキストの下のレイヤーにずらっと配置すれば、

f:id:ArchivE_NcaxaR_9:20210908163230p:plain

 

完成

コスパが悪すぎる

 

このように応用テクニックを使うと、1文字ごとにエフェクトをかけることができます

要は「文字毎に個別オブジェクト」を人力でやっているようなものです

 

これは白い背景をバックにシャドーをかけたパターン

もちろん他の効果と重ね掛けもできるよ

 

ちなみに今回はRootのタイムラインで実演しましたが、このように膨大な量のレイヤーを消費するので、必ずSceneのタイムライン上でやるようにしてください

タイムラインこわれる

 

 

以上、明日から使えるたいへん健康によろしくないAviUtlの文字シャッフルのテクニックでした

マジでスクリプト作者様なんとかしてください  しんでしまいます

 

*1:タイムラインを右クリック→メディアオブジェクトの追加→フィルタ効果の追加→基本効果→拡大率  というか「拡張ツールバー」導入が手っ取り早いのでそれを使いなさい