AviUtl、グラスモーフィズムで擦りガラスのような表現

2021年2月21日

今回は、グラスモーフィズム(Glassmorphism)と呼ばれるすりガラスのような表現を試してみたので紹介したいと思います。

フレームバッファにぼかし

背景となる元画像です。

フレームバッファを出します。

ぼかしをかけます。

サイズ固定にチェックを入れて、範囲をお好みで調整してください。

マスクでクリッピング

続いてマスクをかけます。マスクの種類で四角形を選択、サイズで大きさを調節します。

四角形の位置を動かす場合は、マスクのXY座標を使ってレイアウトします。

凸エッジで輪郭を出す

凸エッジで縁を目立たせます。これでガラスカードのできあがりです。重ねてかける効果が多いですが、フレームバッファひとつで済みます。

お好みの図形でマスク

角丸四角形やその他の形でマスクしたい場合はSceneを利用します。

任意のSceneに図形や切り抜き画像を置きます。マスクは黒い部分が透過し、白い部分が表示されるのでカラーの場合は白黒にしておくと上手くいくと思います。

マスクの種類を(シーンから選択)にし、マスク素材を置いたSceneを指定します。サイズは基本的に現在作っている動画サイズにするとぴったりのサイズになります。

角丸四角形はカードとして使いやすいですね。

単色化で色ガラスに

単色化をかけてガラスに色をつけます。

輝度を保持するのチェックを外し、色を指定して、強さで調整します。

白にして明るくしたり、黒にして暗くしたり、色をつけて色ガラスにと見やすくする工夫ができますね。

動かすなら座標のリンク

作った擦りガラスオブジェクトをマスクのXYで動かすのはちょっと不便。そこでスクリプト制御を使った座標のリンクで動かしてみます。

まずは円(図形)など適当なオブジェクトを出します。

フレームバッファよりも上のレイヤーに置くと座標のリンクがずれません。

スクリプト制御をかけ、ax=obj.x ay=obj.yと記述します。

このオブジェクトは最終的に透明度を100にすることで非表示にします。

Sceneに置いたマスク用のオブジェクトにもスクリプト制御をかけます。

obj.ox=ax
obj.oy=ay

と記述します。

Rootに戻り、フレームバッファにかけたマスクでスクリプト制御をかけたSceneを選択します。

これでアンカー役の円(図形)を動かすとSceneのマスク用の図形が一緒に動きます。

複数のアンカーを扱いたい場合はax,ayの部分をbx,byやcx,cyのように別の文字列にします。それに合わせてSceneに置いたオブジェクトは別途違うSceneでbx,byに書き換えます。

アンカーの数だけ別途Sceneでマスク用のオブジェクトを用意するのがポイントです。

AviUtl、座標のリンクとアンカーの動かし方

今回は、座標のリンクを利用したアンカーポイントの動かし方について紹介したいと思い…
seguimiii.com

使用例

カードデザインのガラスカード。

背景が明るかったり、白っぽかったりする場合は、フレームバッファにシャドーをかけると見やすくなります。

新レイヤーとしての使い方。同じ画面の中で別のスクリーンを作り出したいときなどにガラスカードが活躍します。

AviUtl、光の屈折やプリズム表現

今回は、ガラスに反射する光の屈折やプリズム表現を試してみたので紹介したいと思いま…
seguimiii.com

AviUtl、割れたガラスを表現する

今回は、ティムさんのひび割れガラススクリプトを使った割れたガラス表現を試してみた…
seguimiii.com

いかがだったでしょうか。
グラスモーフィズムで擦りガラスのような表現、機会があれば是非試してみてください。