That's Done!

AviUtl拡張編集0.91b!新機能 「alpha_add2」がよくわからんので考えてみる。

2013/06/05 12:48 投稿

  • タグ:
  • AviUtl
  • 迅七P
  • AviUtl講座
みなさん!AviUtl拡張編集更新ですよ!更新!

※今回はスクリプト系のお話です。
 スクリプトなんか書かないよぅ!って方にはあんまり価値ないかも。

ということで、6/2に0.91bが更新になりました。
更新履歴をみると。
------------------------------------------------------------------------------------------------
(1)出力中は全ての編集操作を禁止するようにした。
(2)アニメーション効果等でトラックバー変化方法スクリプトを使用した場合に
  正しく動作しない場合があったのを修正。
(3)モーションブラーの出力時に分解能を上げるオプションを追加した。
(4)スクリプトの機能を追加、修正した。

------------------------------------------------------------------------------------------------
うーん。あんまり利用者として「おおっ!」っていう更新はないみたいで・・・。

ん?!
「(4)スクリプトの機能を追加、修正した。」

ナニコレ?!
ということで、調べてみたところ、同梱されている「lua.txt」にこんな事が書いてある。
------------------------------------------------------------------------------------------------
◇合成モード
以下は仮想バッファ専用の合成モードです。
 "alpha_add"=色情報は加重平均してアルファ値は加算します
 "alpha_max"=色情報は加重平均してアルファ値は大きい方を採用します
 "alpha_sub"=色情報は何もせずにアルファ値を減算します
 "alpha_add2"=色情報は重ね合わせしてアルファ値は加算します
------------------------------------------------------------------------------------------------
"alpha_add"、"alpha_max"、"alpha_sub"は元々あったので、
「alpha_add2」という合成モードが新しく使えるようになったよと。


・・・お、おぅ(汗


合成モードってのは、おなじみ「オーバーレイ」とか「スクリーン」とか「陰影」とか。
何もしなくても扱えるものとは別に、仮想バッファの専用の合成モードが4つあるんですね。

その前に、
■仮想バッファのお話
たとえば、円を9個置いて、全体にグラデーションを適用します。

←こうなります
円9個にそれぞれバラバラのグラデーションが適用
されていますね?
9個の円がそれぞれ別のオブジェクトなので、
グラデーションも個別に
適用されます。

横から見るとこんな感じ。





で、仮想バッファってのは、これらのバラバラに描画された図形をひとまとめにして
表示させる機能・・・だとワタシは解釈しています。

従って、仮想バッファで書き出して同じ事をやるとこうなる。

一枚の画像にグラデーションが
かかるので、上の方に位置する円は
黄色、下の方が薄紫っぽい色に
なっています。

フレームバッファ
 や
オフスクリーン描画
と原理は一緒なんでしょう。
多分。


えーと、つまり、
この仮想バッファの中でだけ使える合成モードが新しく追加されました、と。

・・・お、おぅ(汗

ということで、既存モードと一緒に試してみる。
------------------------------------------------------------------------------------------------
■"alpha_sub"=色情報は何もせずにアルファ値を減算します
一番わかりやすいのがこれ。

水色の四角と、キャラクターを
仮想バッファに書き出して
合成モードを「alpha_sub」で
指定してみる。







こうなる。
画像マスク&反転
というか
上のオブジェクトでクリッピング
の逆バージョンというか、

色情報は変化させずに
アルファ値(透明度)を減算
という機能なのでこういう
結果になるワケですね。

うはー、これ便利そうだな。


------------------------------------------------------------------------------------------------
次にこれを比較してみる。
▲"alpha_add"=色情報は加重平均してアルファ値は加算します
●"alpha_max"=色情報は加重平均してアルファ値は大きい方を採用します

まず前提として・・・「色の加重平均」ってなんぞ?というところで

なんというか・・・色を数値化したときの情報?みたいなそんなイメージ?
・・・うまく言えない。

難しいお話はともかく、結果として以下のようになります。

左が元々の絵、右が仮想バッファ上で「alpha_add」または「alpha_max」を指定した場合。
背後の水色と、星形の薄い黄色の色情報が加重平均されて、薄緑色っぽくなりました。

んで、Alpha(透明度)を
背景=50
星形=30

にしてみた状態で、「alpha_add」または「alpha_max」を適用すると、


こうなった。
「alpha_add」だと、アルファ値は加算される
ということだけど、中央の星は殆ど透明化されてませんね。
不透明具合が合わさったということかな?
それでいて、元々の色よりはやや青に近いので、色はブレンドされていますね。

一方、「alpha_max」だと、アルファ値は大きい方を採用

えーと・・・。
「大きい」とか「加算」とかもうこれわけわかんねぇな・・・。

星形は透明度30にもかかわらず、より透明度の大きい
背景の透明度50に引きずられているようなイメージかなぁ?

まぁ、仕組みはともかく、なるほど。こんな感じですか。
------------------------------------------------------------------------------------------------
最後に
▲"alpha_add"=色情報は加重平均してアルファ値は加算します
★"alpha_add2"=色情報は重ね合わせしてアルファ値は加算します
を比較してみます。


ナヌ?!

無印addのほうはさっきと同じだけど、add2のほうは殆ど元の色ですね。
「色情報は重ね合わせ」
というのはつまり、
ブレンドしません
ってことなのかしら・・・?

じゃぁ元の色か?っていうと多少色が薄くなっているので、表示通り、アルファ値は
加算処理されてるんでしょう。

つまり何か?
透明度情報だけを加算処理する
ってこと??

------------------------------------------------------------------------------------------------

本日の研究成果

どうなるかはわかった。
どう使えるかはわからん!


日々研究あるのみでございます。

コメント

コメントはまだありません
コメントを書き込むにはログインしてください。

いまブロマガで人気の記事