AviUtlスクリプト講座とは、フリーの動画編集&エンコードソフトであるAviUtlの拡張編集プラグインに追加された機能である、カスタムオブジェクトやアニメーション効果に関する講座や公開スクリプトを扱った動画につけることが推奨されるタグである。
現在AviUtlの拡張編集にはLuaスクリプトによりユーザーが自由に新しいオブジェクトやアニメーション効果を追加することができる。
とはいえ、初心者には非常に敷居が高いし、プログラミング上級者にも発想力が求められる。昨今はAviUtlとLuaの講座や、様々なスクリプトとその解説動画が公開されているので是非参照していただきたい。
Luaに関する基本的な知識はGoogleを、AviUtlとの連携に関する基本的な技術については同封のlua.txtかさつきさんの大百科を参考にしていただきたい。
getpixelなどの画素を扱う関数を使用する場合について、画素データのメモリ上の配置の関係から y 座標の変化のループを外側にした方が高速になると思われる。(・・・・・・多分。お詳しい方、間違ってましたら修正して下さい。)
for y = 1, height do
for x = 1, width do
obj.getpixel(x, y, "col")
end
end
drawpoly()で描くポリゴンには表面と裏面があります。
引数に渡す頂点0→頂点1→頂点2→頂点3を結んだとき、それが時計回りになるほうが表面となります。
拡張描画オブジェクトに「裏面を表示しない」というチェックボックスがありますが、
これにチェックを入れると、裏面がカメラのほうを向いているポリゴンは描画されなくなります。
(図形や動画、画像、テキストなどのオブジェクト自体も1枚のポリゴンと考える。)
「裏面を表示しない」にチェックを入れると、裏面ポリゴンを描かなくなる分、描画が軽くなるという効果もあります。
(裏面も見えたほうがよい場合もあるので使い方次第ですが。)
そのため、drawpoly()を使って「閉じた立体」などを描くような場合は、なるべく表裏を意識したほうがよいでしょう。
.anmや.objの中には複数のスクリプト定義を記述することができますが、個々のスクリプト定義のサイズ上限は
約16KB(半角英数字で約16000字)となります。
(.anmや.objのファイルサイズ上限ではなく、中に書く個々のスクリプト定義の上限であることに注意。)
それ以上長いスクリプトを書きたい場合はrequireなどを利用するとよいようです。
AviUtl愛好会コミュ掲示板593より引用。
現状はスクリプトのバッファが約16KBとなっていますので上限ということになります。
この辺は後々変えていくかも知れませんが、require等で別ファイルから読み込んでしまえば
現状でも上限を気にせず扱えると思います。
dofile()を使うと、外部ファイルのデータを読み込むことができます。
例えば、PMDモデルデータを読み込んで表示する「ポリゴンモデル表示.obj」などで利用されています。
こんな感じで色々書いていったら良いと思うのですが如何でしょうか?
急上昇ワード改
最終更新:2025/12/13(土) 17:00
最終更新:2025/12/13(土) 17:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。