AviUtl、キャッシュテキストでテキストの負荷を軽くする

2021年3月7日

今回は、oovさんのキャッシュテキストを紹介したいと思います。
拡張編集用スクリプト「キャッシュテキスト」

キャッシュテキストを動かすには拡張編集RAMプレビューが導入されている必要があります。拡張編集RAMプレビューを未導入の方はこれを機に導入してみてください。

過去記事→AviUtl、今すぐ入れたい拡張編集RAMプレビュー

キャッシュテキストが有効な場面

キャッシュテキストが活躍するのは主にテキストを使った負荷の高い作業を行うときです。

AviUtlではテキストのサイズを大きくするとその分負荷も大きくなってしまい、ときに重すぎて編集に支障をきたすほどです。また、グラデーションや縁取りなどのスクリプトを重ねてかけたりする場合も負荷が高くなります。

このように負荷の高い編集をする際にキャッシュテキストを利用することで、負荷の軽い状態で扱うことができ、よりスムーズな編集ができると思います。

キャッシュテキスト

キャッシュテキストは、メディアオブジェクトの追加からキャッシュテキストを出して使います。

[]で囲まれた”ここにテキストを書く”の部分に入れたい文字を入力します。

<?m,s= 0 ,の0の部分を書き換えることでキャッシュの有効無効を切り替えることができます。

オブジェクトの編集中のみキャッシュ無効→0

デフォルトの0はオブジェクトの編集中のみキャッシュが無効になります。

オブジェクトの編集中とは上段の画像の状態のことを言います。オブジェクトが点線で囲まれているときは、そのオブジェクトが編集中ということでキャッシュが無効になりシークしても重いままです。

別のレイヤーに置いたオブジェクトを選択して、下段の画像のように点線が付いていない状態でシークしてみてください。重かったシークが軽くなっていると思います。

また、キャッシュデータはレイヤー毎に最後のひとつのみとなっているようです。Layer 1にキャッシュテキストを並べるとシークするたびにキャッシュするので重くなります。

そんなときはキャッシュテキストを異なるレイヤーに置くことでスムーズにシークすることができます。

キャッシュ有効→1

0の部分を1に書き換えるとキャッシュが有効になります。キャッシュが有効になるとサイズや回転など一部のパラメータが反映されなくなりますが、先ほどのオブジェクトに点線が付いた状態でもスムーズにシークができます。

一方で、座標や拡大率はそのまま変更が反映されます。

一括キャッシュ削除

本体の[編集]→[Extram]→キャッシュ消去からキャッシュを削除することができます。

使用例

大きなサイズのテキストにグラデーションと縁取りをかけてめちゃくちゃ重い状態です。

このような場合、CacheTextのアニメーション効果よりも上に縁取りなどをかけることで、その効果が適用された状態でキャッシュしてくれます。

AviUtlで画像編集したいってときなど、主に静的編集に向いています。

反対にCacheTextよりも下にかけたアニメーション効果はキャッシュの対象外となります。Delayなどテキストに動きをつけるようなスクリプトは、大きなサイズのテキストをキャッシュした後にかけることで負荷の軽い編集ができるようになります。

キャッシュテキストを使ってみて一番すごいなと思ったのが、サイズの大きなテキストを個別に動かすことができる点です。

今まで重いテキストは画像にして軽くしていたのですが、難点がひとつだけ。字間を拡げたり、時間差で動かしたりと個別に文字を動かすことができなかったのです。

キャッシュテキストのおかげでそれができるようになりました。

サイズの大きなテキストを連続して使うことは少ないですが、ここぞというときにインパクトを出せるのでキャッシュテキストがあると編集が楽になります。

ちなみに、この動画でキャッシュテキストを使ったのは5カ所で、他は普通のテキストです。

AviUtl、今すぐ入れたい拡張編集RAMプレビュー

今回は、oovさんの拡張編集RAMプレビューについて紹介します。 拡張編集RAM…
seguimiii.com

いかがだったでしょうか。
高負荷なテキストの編集は、キャッシュテキストを使うことで今までよりもスムーズに行えると思います。機会があれば是非、試してみてください。