page_adsence

2010年6月29日火曜日

マスクをかける

画像の端をぼやっとした感じにするためにはマスクとやらをかければいいらしい。
画像の編集とかしたことないからとりあえず用語の意味から調べてみた自分なりの見解。

「マスク」はマスキングテープなどで使われている「マスク」と同義で、
「マスク」とは保護するといった意味がある。

なるほど。
たしかに、昔プラモデルを作る際にマスキングテープを実際使っていたが、
色の境目になる部分にマスキングテープを貼り、先に塗ってある色を保護した状態で、
新しい色を上塗りすることで、綺麗に色の境目を表現することができるようになる。

Flashなどではこのマスキングテープを色々加工できて、
マスキングテープを加工することで保護しているレイヤーを加工しなくても
同様の効果が得られるようになっているって感じだと思われる。

今回はASを使ってマスクをかけてみた。
といってもできることはFlashの方で作業しておく。

手順1

まずマスクをかけたいレイヤーの上にマスク用のレイヤーを追加する。

手順2

追加したレイヤーにマスク用のシンボルを作成する。
このシンボルはどういったマスクをかけるかによって、形や効果の設定を変える必要がある。
今回は画像全体を角丸っぽくしつつ、画面四隅にぼかしを入れる。
なので矩形プリミティブツールを選択してステージ全体よりちょっと小さめに四角を配置する。
矩形オプションで角丸具合を調整してムービープリップシンボル化し、インスタンス名(今回はmask_mcとする)をつける。

手順3

手順2で追加したmask_mcに対してプロパティパネルの下にあるフィルタプロパティにぼかしを追加する。
ぼかしXとぼかしYは任意で調整する。
また表示のブレンドを標準にし、ビットマップとしてキャッシュにチェックをつける。

手順4

マスクをかけたいレイヤーを選択し、そこにあるムービークリップ(main_mc)に対してもプロパティパネルの表示のブレンドを標準にし、ビットマップとしてキャッシュにチェックをつける。

※注意
グラデーションマスクをかける場合は必ずマスクをかける側とかけられる側の両方にビットマップとしてキャッシュの部分にチェックをつける必要がある。

手順5

ASでMovieClipに対してマスクをかける処理を追加する。

main_mc.mask = mask_mc;

以上でグラデーションマスクをかけることができる。
なお、ビットマップとしてキャッシュにチェックをつける代わりに、
AS側で

main_mc.cacheAsBitmap = true;
mask_mc.cacheAsBitmap = true;

としても実現することが可能。