AviUtlスクリプトと和解せよ その1 環境準備編
…で、どうすれば
前回スクリプトについて話題に挙げたが、さて目的を達成するためにはまず作成方法を学ぶ必要がある。このような時は難しく考えず、とりあえずgoogle様にお伺いを立てることが重要である。ここは我の華麗なる検索力を
…出てくる出てくる。脳みそなんていらんかったんや
いくつか参照した結果、以下の情報が参考になった。
情報を整理すると、
使用できるファイル形式に種類はあるが、これが一番手っ取り早いと認識した。
その前にLuaと和解せよ
AviUtlスクリプトはLua、具体的にはLua 5.1で記述する。知らない言語だったため一瞬心が折れそうになったが、ひとまずググってみる。
ふむ、よくわからん
しかし見る限りC言語と親和性が高いとのこと、それならポインタで挫折した程度にはかじったことがあるので何とかなるかもしれない。
その前に環境を構築せよ
こういうものはとりあえず形から入ってあとから諸々考えるに限る。今までの情報を見る限りエディターさえあれば開発は可能そうである。デバッグはおそらくAviUtl本体でやればよろしい。という訳でエディターはすでに使用していたVisual Studio Codeを選択。
ポータブルモードはいいぞ。
ただし素のままではLuaをうまいこと扱うことができない。そこで拡張機能を追加で導入。
最低限上記2点を導入することで開発は可能になる。さて早速何かしようと思ったがこの時点では何もわからぬ。さてどうしようか…と思った所であるものに気づいた。
いい資料、あるじゃあないか
そうだ。よく考えてみればおおよそやりたいことに対する部分アンサーはある。ライン(移動軌跡)である。これの仕組みが分かればLuaの記述方法とブツの作成方法が一挙に把握できる…かもしれない。そうと決まれば拡張機能の動作確認も合わせてしまおう。
ちなみにライン(移動軌跡)、並びにAviUtl拡張編集プラグインに同梱されているスクリプトは、aviutl.exeのディレクトリ内「exedit.obj」に格納されている。早速VSCodeで開いてみる。バックアップは忘れずに。
おお!お…おお?おおお!?
エラー28件、ワーニング648件、インフォメーション325件とおびただしい量の問題が発生している。なんだこれは。
…ひとまずひとつづつ確認していくことにする。まずはエラー。
予期せぬうんたらと未定義のかんたらとある。クイックフィクスもありだが、確かこの記載は「複数のスクリプトを一つのファイルにまとめる」際に使用するものであった。おそらく自作スクリプトには不要なので見なかったことにする。見る限りエラーはすべて予期せぬ系なので全無視でワーニングへ。
先ほどの未定義と同じである。確かLuaはC言語等と違い、変数や関数をそのまま宣言するとグローバルになるとのことであった。で「このグローバル君、どこにも定義されてなくね?」と言っている。確かに「obj.」関数群はAviUtl専用の関数のようであるし、どこからもインクルードしていない。(というかできるのか?)
という訳でこれはクイックフィクスする。するとワーニングが5件まで減った。こりゃすげえや。続いて残りを確認する。
廃…止…?数学関数の一つなんだとは思うがよく分からん。なお上記の通りAviUtlではLua 5.1が使用されているが、現行バージョンは5.4の様子。一旦これは様子見とする。あとはインフォメーション。
「グローバル変数の頭文字が小文字だけど、”local”忘れかスペル間違えてねえか?」とのこと。余計なお世話なのでは?確かにコーディング規約は大事なので後で確認するとして、ひとまずこれもクイックフィクス。
最終的にエラー28件、ワーニングは5件まで減った。うちエラー28件は使用しない記法に対して発生している、ワーニングは使用するか分からない数学関数に対して発生しているため気にしなくとも良い。おおよそ下準備は整ったものと思われる。
次回へ続く
今回は「AviUtlスクリプト作成には」「Luaが必要であり」「そのため環境を構築して」「なぜかバグ取りする羽目になった」話で終わってしまった。次回より今度こそコードの話に移れるはずであるが、どうせ寄り道の果てのブログなので予定は未定とする。以上。