楕円ブラー - [[AEexpression]]
目次
楕円ぼかし
AE標準のプラグインの組み合わせで楕円形のブラーをかけるアニメーションプリセットです。
サンプル付きのダウンロードはこちら http://www.nekomataya.info/cgi-bin/control.cgi?PAGE=85&ITEM=070903
こんな絵が
こんなふうに出来ます
仕組みはわりと単純で、
- 「対象のレイヤをいったん希望の楕円にマッチするように偏平・回転をかける」
- 「回転ブラーをかける」
- 「元の形に再変形する」
という手順です。
そのためかなり画質が落ちます。特に偏平率が高いとがっくりと… が、
まあもともとぼかしをかけるものですからご勘弁ってことで…
部分的にしか楕円ブラーを必要としないカットでは、ブラー用の別レイヤを作って 必要な部分でのみ使用するようにした方が良いでしょう。サンプルプロジェクトを ご参照ください。
使い方
指定は、中心点と楕円の傾き・偏平率およびブラーの長さで行います。が 標準では、「直上のレイヤ」を指定用のレイヤとして参照しています。
- 中心点 >直上のレイヤの「位置」プロパティ
- 傾き >直上のレイヤの「回転(Z軸)」プロパティ
- 偏平率 >直上のレイヤの「スケール」プロパティの縦横の比率
そのため以下の様な手順でエフェクトをかけるのがよいでしょう。
- 楕円ブラーをかけたいレイヤを部分をレイヤとして抽出します。
- そのレイヤの上に参照用のヌルレイヤを作って、アンカーポイントをガイドレイヤの中心にセットします。 楕円の中心として参照しますので、中央が使いやすいです。
- ヌルレイヤをスケーリング・回転して楕円にマッチさせます。 サンプルプロジェクトをご参照ください。
- 楕円ブラーをかけたいレイヤにアニメーションプリセットを適用します。
サンプルのように指定用のヌルレイヤを作ってガイドに使うと直感的に指定できるので 便利です。指定用レイヤを使わない場合はエクスプレションを切ってプロパティに直接値を 入力してご使用ください。
また、直上にレイヤがない場合もプロパティに直接入力した値が有効になります。
- 楕円に線的パースはついていません。
- パース付きのバージョンはご要望があれば考えないこともないかも。
- かなり重いエフェクトです。バッファを使いまくっているので多用するとプロジェクトが重くなります。
ソース
楕円形ブラー ellipseBlur 回転ブラーを変形して楕円形にブラーをかけます。 素材のバレを防ぐ為、「縮小変形」>「ぼかし」>「拡大変形」の 手順で楕円ブラーを作成しています。
Nekomataya/kiyo 2007/09/16
以下、ソースです
//ポイント制御 as "中心点"。ポイント if(index>1){thisComp.layer(index-1).position}else{this.value}; /* 楕円の中心を制御します。 標準で、ひとつ上のレイヤの位置プロパティを参照しています。 */
//角度制御 as "傾き".角度 if(index>1){thisComp.layer(index-1).rotation}else{this.value}; /* 楕円の傾きを制御します。 標準でひとつ上のレイヤの回転プロパティを参照しています。 */
//スライダ制御 as "扁平率(短辺/長辺)".スライダ if(index>1){ thisComp.layer(index-1).scale[1]/thisComp.layer(index-1).scale[0] }else{ (this.value)?this.value:1 }; /* 楕円の偏平率を指定します。 標準でひとつ上のレイヤのスケール比を参照しています。 */
//スライダ制御 as "ブラー長".スライダ this.value; /* ブラーの長さを指定します。 */
//トランスフォーム as "扁平解除(回転)". アンカーポイント effect("中心点")("ポイント"); /* 中心点に移動 */
//トランスフォーム as "扁平解除(回転)".位置 effect("中心点")("ポイント"); /* 中心点に移動 */
//トランスフォーム as "扁平解除(回転)".回転 effect("傾き")("角度")*(-1); /* 楕円の傾斜を回転角で相殺 */
//トランスフォーム as "扁平解除(スケール)". アンカーポイント effect("中心点")("ポイント"); /* 中心点に移動 */
//トランスフォーム as "扁平解除(スケール)".位置 effect("中心点")("ポイント"); /* 中心点に移動 */
//トランスフォーム as "扁平解除(スケール)".スケールの高さ if(effect("扁平率(短辺/長辺)")("スライダ")<1){100}else{(1/effect("扁平率(短辺/長辺)")("スライダ"))*100}; /* 楕円の扁平をスケールで相殺 */
//トランスフォーム as "扁平解除(スケール)".スケールの幅 if(effect("扁平率(短辺/長辺)")("スライダ")<1){(effect("扁平率(短辺/長辺)")("スライダ"))*100}else{100}; /* 楕円の扁平をスケールで相殺 */
//CC Radial Blur.Amount effect("ブラー長")("スライダ"); /* 回転ブラーは、サードパーティー製のブラーと入れ替えても良いと思います。 */
//CC Radial Blur.Center effect("中心点")("ポイント"); /* 回転ブラーは、サードパーティー製のブラーと入れ替えても良いと思います。 */
//回転ぼかし.許容量 effect("ブラー長")("スライダ"); /* 回転ブラーは、サードパーティー製のブラーと入れ替えても良いと思います。 */
//回転ぼかし.中央 effect("中心点")("ポイント"); /* 回転ブラーは、サードパーティー製のブラーと入れ替えても良いと思います。 */
//トランスフォーム as 再扁平処理.アンカーポイント effect("中心点")("ポイント"); /* 中心点に移動 */
//トランスフォーム as 再扁平処理.位置 effect("中心点")("ポイント"); /* 中心点に移動 */
//トランスフォーム as 再扁平処理.スケールの高さ 10000/effect("扁平解除(スケール)")("スケールの高さ"); /* 再扁平 */
//トランスフォーム as 再扁平処理.スケールの幅 10000/effect("扁平解除(スケール)")("スケールの幅"); /* 再扁平 */
//トランスフォーム as 再扁平処理.回転 effect("傾き")("角度"); /* 回転解除 */
ではまあ、いつものおまじないで
- おことわり このプログラムの著作権は「ねこまたや」にあります。
あなたは、このプログラムのこの著作権表示を改変しないかぎり 自由にプログラムの使用・複製・再配布などを行うことができます。
あなたは、このプログラムを自己の目的にしたがって改造することができます。 その場合、このプログラムを改造したものであることを明記して、この著作権表示を 添付するように努めてください。
このプログラムを使うも使わないもあなたの自由なのです。
作者はこのプログラムを使用したことによって起きたいかなる 不利益に対しても責任を負いません。 あなたは、あなたの判断と責任においてこのプログラムを使用するのです。
なんか、困ったことがあったら以下で連絡してもらえると何とかなるかもしれません。
http://www.nekomataya.info/ nekomata_ya@mac.com
Nekomataya/kiyo 2007/09/17
Powered by YukiWiki 2.1.2a / Modified by Nekomataya.