ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

AviUtlでノベMAD制作 小技集(15)~フィルタのかからないスクリプト対策
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

AviUtlでノベMAD制作 小技集(15)~フィルタのかからないスクリプト対策

2014-01-13 11:26
  • 4
■シリーズ目次はこちら

第15回です。
ちょっと変わったことを。中~上級者向けかな?
アニメーション効果やカスタムオブジェクトのスクリプト部分をいじくりますので、
アレルギー(?)のある方はご注意ください。

ご存じの方もいると思いますが、
カスタムオブジェクトの「フレア」
これですね。

追加のフィルタ効果を適用することができません。



これを、適用できるようにしちゃおうという話。
サンプルは「フレア」ですが、これ以外のフィルタの多重がけができないもの共通です。


(1)シーンを使う方法
まずはスクリプトをいじくらずにシーンを使う方法。



別のシーンにフレアを置いて、そのシーンを呼び出し、シーンに対してフィルタを適用
させる方法です。


(2)スクリプト本体をいじくる方法

こっちがメイン。
先程のシーンを使った方法とは別のフィルタの適用のされかたになります。
デフォルトだと「exedit.auf」がある場所と同じ場所に、
「exedit.obj」というファイルがあるはず。


こいつをテキストファイルで開いてください。
Windowsのメモ帳でもなんでもいいです。

ぶわーっと謎の言語が並ぶハズです。
この時点でジンマシンが出てきた方。
向いてません。諦めましょうw


まずファイルのバックアップ取りましょう。
これ基本。

んで、「フレア」を探してください。かなり下の方にあるはずです。



この文字の羅列を頑張って探していくと
obj.drawpoly(***************)
という記述が3箇所あるはずです。



この記述の前の行
obj.effect()
(おぶじぇ どっと えふぇくと かっこひらき かっことじ)
という文字を挿入して保存してください。

こうなる。



位置を揃えたい人は、前に半角スペースやタブを入れても問題ありません。

で、上書き保存して、
AviUtl本体を再起動するか「F5」を押してください。

こうなります。



・・・・・・・・なんかオモロイことになっています。




種明かしとしては
obj.draw()またはobj.drawpoly()を使用すると
それ以降はフィルタ効果が
適用されなくなります。

しかし、
obj.draw()またはobj.drawpoly()
直前にobj.effect()を記述する
ことでフィルタ効果を適用させるコトができる
のです。

あれぇ?このアニメーション効果やカスタムオブジェクトを使うとフィルタがかからなく
なっちゃうなぁ……。

というのはこれが原因です。


……ちゃんと
AviUtlに同梱されている[lua.txt]に書いてあるんだぞっ!!!






お好みに応じて改変してみてはいかが?


ファイルのバックアップは必ず取ってからやってね?
戻したいときはファイルを置き換えて
AviUtl再起動でOK。











・・・・・・・ん?
obj.setoption("drawtarget","tempbuffer")を使っての仮想バッファでやる方法?
それがわかるなら自分でやんなさいw

広告
×
いつもお疲れ様です。興味深く拝見させていただきました。これまでスクリプトの基礎的な部分の構造も垣間見えて面白かったです。ここで、当然の疑問なんですが、システム側ではフィルタに対応できるのに、エディタ上では反映できないのはなぜなんでしょうか?バグかな?
89ヶ月前
×
むむ?「エディタ上」というのはなんでせう?
89ヶ月前
×
すみません、拡張編集でフィルタ効果が効かないのは何故かということです。
89ヶ月前
×
うーんなんででしょうねぇ。描画処理の条件によるモノだと思いますが、事情あってのことでしょうねぇ。
89ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。