読者です 読者をやめる 読者になる 読者になる

ロロの空想

心に移りゆくよしなしごとを書いていくよ!

AviUtlでベクターの数式を使う方法

画像が表示できません

↑AviUtlで出力した数式が回転するGIF

(2016/10/13 投稿)

※この記事は、以下に述べる前提知識を持った人を対象にしています。内容がよくわからないと感じた場合は、前提知識、前提知識の説明のところを参照してみてください。

※筆者のパソコンは64bit Windows8.1/10です。他のサイトを見る限りMacでもできるようですが、古いOSのバージョンやUNIX系OSでできる方法かは確認していません。

 この記事で説明するのは、AviUtlで数式を取り扱う方法です。AviUtlでは、初期状態では分数や微分積分などの数式を扱うことができず、現在(2016/10/13)、数式が使えるようになるプラグインを探しても見つかりません。

 そこで、ここでは、他のソフトを使って数式の画像を作り、それをAviUtlに取り込んで表示するという方法を紹介します。この方法では、

  • スクリーンショットで数式を画像にするという手間がない
  • ベクター形式(後述)の画像なので、拡大しても画像が荒くなったりしない
  • 背景が透過されているので、動画の中で使いやすい

というメリットを得られます。

 一方デメリットとしては、この方法を実現するために使うソフトウェア導入がかなり難しいということです。

 具体的に説明していきましょう。

目次

  • 方法の概要
  • 前提知識
  • 前提知識の説明
  • ソフトウェアの導入
  • ソフトウェアの使い方

方法の概要

 以下のプログラムとプラグインを使って数式を画像にして、AviUtlに取り込みます。

画像が表示できません

 紹介しているソフトウェアはすべて無料で使用できるものです。有料版の機能制限版というわけでもありません。使うソフトウェアはTex2imgとInkscapeだけなのですが、Tex2imgを使おうと思えば、そもそもTeXの利用環境を整えるプログラム一式をインストールしておかなければ使えません。

 また、もともと、AviUtlはsvg形式の画像を読み込むことができません。そこで、Svg Custom Object For AviUtlというプラグインを使って、カスタムオブジェクトとしてsvg画像ファイルを読み込みます。

 

前提知識

 この記事は、だいたい以下のような前提知識、技術、経験がある人を想定しています。しかし、そのすべての条件に合致する人は少ないと思うので、この中のいくつかについては下で説明します。

     
  • AviUtlがある程度使える(拡張編集、カスタムオブジェクト、プラグインなどが使える)
  • ラスター画像とベクター画像の違いがわかっている
  • インストールとダウンロードの意味と違いがわかっている
  • TeXを使って文章を作ったことがある

知っていたら説明が理解しやすい知識

など

前提知識の説明

 ここでは、「ラスター画像とベクター画像の違い」、「TeXとは」について説明します。

 

ラスター画像とベクター画像の違い

画像 画像が表示できません 画像が表示できません 画像が表示できません
拡大画像 画像が表示できません 画像が表示できません 画像が表示できません
種類 svg png jpg
形式 ベクター ラスター ラスター
サイズ 8kB 2kB 2kB
背景透過 ×

 画像のサイズは、60×57pxのファイルでの比較です。svg画像は、ベクター画像なので拡大してもご覧の通り、目が荒くなりません。ベクター画像とラスター画像の違いについては色々な記事が説明してくれているので、詳しいことは他のサイトを参考にしてもらえばいいのですが、ラスター画像というのは、非常に細かい、色々な色がついた正方形が並んで集まって画像を形成しているのですが、ベクター画像は小さい正方形の粒が集まっているのではなく、どこどこからどこどこまで線を引きます、どこどこからどこどこまで塗りつぶします、といったような線とか数式の情報なので、拡大縮小しても、それに合わせて画像の表示が変わっているので拡大しても劣化しないのです。この例の画像サイズはsvg画像のサイズのほうが大きいですが、拡大縮小しても劣化しないので、小さいサイズの画像として読み込んでから大きくすれば、容量の節約は可能です。上の表ではわからないのですが、本来は、pngはjpgに比べると画像サイズがかなり大きいのです。だから透過png画像を作ってからAviUtlに取り込むと画像サイズがかなり大きくなってしまうのですが、ベクター画像ならば工夫次第で画像サイズを抑えることができます。

TeXとは

 正直、私もあんまりよくわかってません。もう少しよくわかったらTeXの解説記事も書こうかなと思っているのですが。

 とりあえず、簡単に説明すると、TeXは決まったコード(正しい表現ではないと思いますが、ここではコードと表現させてもらいます)を入力することで、文章、特にPDFを作ることができるプログラム言語みたいなものです。TeXも色々な人が改良版を作っているので一括りに説明することができないのですが。例えば、私が普段使っているのでTeXでは、

\int_{0}^{10} \frac{x}{2} dx

というテキストデータを、TeXのプログラムを使って変換すると、 画像が表示できません
と表示されます。これでだいたいどういったものかわかってもらえたでしょうか?詳しくは、自分でやってもらえば早いのですが。

ソフトウェアの導入

 では早速、必要となるソフトウェアたちをインストールしていきましょう。

TeXの利用環境を整えるプログラム一式

 実際に画像を作るのに使うのは、あとで紹介する、TeX2imgというプログラムなのですが、これは単体では動かないプログラムです。そこで、TeX2imgを動かすためのプログラムを先にインストールしてあげる必要があります。

 TeXのインストールはかなりパソコン関係の知識が必要なので、かなり難しいです。ボタン一つでインストールというわけにはいきません。そこで、TeXのインストールは簡単LaTeXインストールWindows編(2016年4月版)を参考にしてください。実際、これを使っても、なかなかダウンロードが成功しなかったりもするのですが、うまいこと調整して試すとプログラム一式がインストールできます。個別に自分でプログラムをインストールするよりはだいぶ楽なはずです。しかし、実は、ここでインストールしたプログラムすべてがTeX2imgに必要なわけではありません。個別に自分でインストールするのが難しいので、今回は使わないものも一緒に入っているけれど操作がわかりやすいTeXインストーラをここでは使ったというだけです。それに、今回使わないものも実際にTeXでPDFを作る機会があれば使うプログラムばかりでしょうし、損はないでしょう。具体的なインストール手順の説明は省略します。がんばってください。(筆者がダウンロードしたインストーラTeX Installer3 0.85r2です。)

TeX2imgの導入

 さて、次は実際に今回使うTeX2imgをインストールしましょう。実は、このソフト、元々はTeX2img配布サイトで、Mac用とWindows用のプログラムを配布していてくれたのですが、Windows用は開発者が他の人に引き継がれたため、今は、上記サイトでは、Mac用のTeX2imgのみが配布されています。Macの人はさっきのサイトからTeX2imgをインストールしてください。Windowsの人は、あべのりページ 作ったもの、とかからインストールしてください。こちらも、具体的なインストール手順の説明は省略します。(筆者がダウンロードしたのは、TeX2img2.0.1です。)

Inkscapeの導入

 次に、Inkscapeをインストールしましょう。Inkscapeベクター画像を編集できるフリーの画像編集ソフトです。ラスター画像を出力することもできます。ちなみに、フリーの画像編集ソフトとして有名なGIMPはラスター画像の編集ソフトです。基本的にGIMPではベクター画像の編集、出力ができません。

 InkscapeInkscape ダウンロードからインストーラをダウンロードしましょう。私は、windowsの64bitを使用しているので、installer(msi)をダウンロードしました。macとかLinuxの人は、ちょっとややこしそうですね。こちらも、具体的なインストール手順の説明は省略します。(筆者がダウンロードしたインストーラinkscape-0.91-x64.msiです。) 画像が表示できません

 

Svg Custom Object For AviUtlの導入

 最後にAviUtlでsvg画像を読み込むためのプラグインを導入します。船来ゴミ置き場からダウンロードしてください。導入の仕方がわからなければ、AviUtlの易しい使い方 【AviUtl】SVG(ベクター画像)を読み込む方法【プラグイン】を参考にしてください。こちらも、具体的な導入手順の説明は省略します。

 

ソフトウェアの使い方

 では早速、プログラムを使っていきましょう。導入の部分がうまくできているといいのですが。

 まずはTeX2imgを起動します。ショートカットか、もしくはTeX2img.exeをダブルクリックするなりして、起動しましょう。初回起動時は、TeXを動かすためのプログラム一式の場所を検索する仕様になっています。もし目的のプログラムの場所が違っていたら、設定し直してくださいと表示されますが、合っていることを祈るばかりです。もし違っていたらがんばって設定し直してみてください(設定方法は以下で述べます)。起動するとこんな画面になります(周りが黒いのは私のPCのデスクトップの背景色が黒に設定されているからです)。

画像が表示できません

次に、ツール>オプションを開いて現在の設定を確認してみましょう。

画像が表示できません

下の画像のようになります。

画像が表示できません

ここで、LaTeX、DVI Driver、Ghostscriptのパスを設定できます。もしも、設定が間違っていた場合はここで直してください。次に、タブ上にある、「出力画像設定」を選択します。

画像が表示できません

ここで、出力画像の背景色が透過になっていることを確認しておきましょう。とりあえずオプションメニューを閉じます。他にも詳しく設定を確認しておきたい人は色々確認してください。

次に、「TeXコードを直接入力」にチェックが入っていることを確認し、下の画像のように、TeXコードを入力してみましょう。(TeXコードについて、詳しくはLaTeXコマンド集を参考にしてください)

画像が表示できません

出力ファイル保存先と名前を決めます。参照ボタンを押して、適当な場所に、適当な名前で保存します。このとき、ファイルの種類をSVGファイルに指定します。

画像が表示できません

「画像ファイル生成」ボタンを押すと、画像が出力されます。出力中は右に処理中のプログラムコードが並びます。

画像が表示できません

はじめて使うときは結構出力に時間がかかります。出力が終われば、ブラウザかなにかが出力したSVG画像を表示してくれます。

 さて、TeX2imgの出番はここまでです。ちゃんと出力できたでしょうか?

 

 次に、Inkscapeを使って出力した画像を加工していきます。Inkscapeを起動しましょう。

画像が表示できません

続いて、ファイル>開くと選択します。

画像が表示できません

先ほど出力したSVGファイルを選択しましょう。すると、こんな風に表示されます。

画像が表示できません

Ctrl+Aを押して、画像を全選択しましょう。そのあと、下の方のカラーパレットにある赤い四角を選択します。

画像が表示できません 画像が表示できません

画像が赤くなりました。

もしも、サイズも変えたいというのであれば画像の周りの矢印をドラッグすることで変えられます。縦横比維持してサイズを変更したいならば、Ctrlを押しながらドラッグします。もしもサイズ変更をしたならば、「ファイル>ドキュメントのプロパティ>カスタムサイズ>ページサイズをコンテンツに合わせて変更>ページサイズを描画全体または選択オブジェクトに合わせる」をクリックします。
今回は画像のサイズ変更はしていません。

さて、ファイルを保存しましょう。ファイル>名前をつけて保存をクリックします。

画像が表示できません

このときに、読み込んだファイルと同じ名前で保存しようとすると、色を変える前の画像に上書きしてしまうので、名前を少し変えて保存します。ここでは、最後に「_red」をつけました。

画像が表示できません

 さて、ではAviUtlにこの画像を読み込みましょう。AviUtlを起動し、拡張編集で新規オブジェクトを作成してください。

 そのあと、拡張編集のところで右クリックして、メディアオブジェクトの追加>カスタムオブジェクトを選択します。

画像が表示できません

次に、カスタムオブジェクトのタイプを選択します。もしもプラグインがうまく導入できていれば、「AutoFit@svgrender-JP」というのがあるはずなので、それを選択します。なければ、プラグインの導入を見直してみてください。

画像が表示できません

このあと、読み込むsvg画像を読み込むために、参照ボタンをクリックしたいのですが、なぜかそのままクリックしてしまうと応答停止することがあるので、一度何もないところ(緑で囲んであるところとか)をクリックしておいて、応答停止を予防しておきましょう。

画像が表示できません

そして、参照ボタンをクリックし、先ほど用意したSVG画像を読み込みましょう。

そして、Scale%をいじってサイズをちょうどいいように調整します。(Scale%でサイズを変更すると拡大しても画像が荒くなりません)

画像が表示できません

ベクター画像の数式をAviUtlで読み込むことができました!
えっ、記事のはじめに用意していたGIFとなんか違う?
あれはこの記事の説明用とは別に出力した画像の使いまわしですすみません…。今回GIFを出力し直すのが面倒でした。

ちなみに、画像をくるくる回すのは、カメラ制御を使ってカメラ効果の回転を適応しています。

   

おわりに

 さてさて、AviUtlでベクター画像の数式を読み込むことができたでしょうか?導入が難しいので、なかなかうまくいかないとは思いますが、がんばってトライしてみてください。説明でわかりにくいところがあれば、コメント欄にでも書き込んでもらえれば、可能な限り説明し直します。