テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unityでモデルにモザイクをかける表現

FacebookのUnity助け合い所の「モザイク処理」についての議題で、非常に衝撃的なアセットが紹介されていたので紹介したい。

スクリーンショット 2012-09-15 11.24.39
◯月☓日、男性が街を歩く事案が発生。特徴はメカメカしい服装にアヒルっぽい顔。

デモ
http://keijiro.github.com/unity-facecensor/

■モザイクをかけるアセット

f:id:tsubaki_t1:20141227140428g:plain
助け合い所では、モザイクをかけるアセットとして「SimplePixelizer」と高橋さんの作成した「unity-facecensor」が紹介されていた。ただしSimplePixelizerは画面全体に対してモザイクをかけるらしく、特定の部位にモザイクとはいかないらしい。
どちらも無料で入手できるがイメージエフェクトを使用しているので、Pro版を持っていない場合は使用できない

SimplePixelizer
http://u3d.as/content/the-breemans-lounge-company/simple-pixelizer/30V

keijiro / unity-facecensor
https://github.com/keijiro/unity-facecensor

■unity-facecensorの使い方?

さて使い方についてだが、自分はProを持っていないので、正直よくわからない(というか確認できない)。ただ中身を見ると、アヒルの顔の周りに球のオブジェクトがあり、球のシェーダーに「Custom/AlphaFill」なるシェーダーを使用していて、非常に怪しい。
スクリーンショット 2012-09-15 12.09.38

なので、使い方はこんな感じなんじゃないかと推理してみるが、はてさて。

1.カメラにPixelationコンポーネントを追加する。
2.モザイクをかけたい部分を囲むようにオブジェクトを配置し、
  シェーダーにCustom/AlphaFillを選択する。

なお、モザイクをかける処理自体は「SimplePixelizer」も「unity-facecensor」も似たようなことをしている気がする。具体的には画面イメージを1/nに縮小しフィルターにFilterMode.Point(ぼかさない)を選択、それを引き伸ばすことでモザイクを実現といった感じ。
しかしunity-facecensorの珠のみにモザイクをかけれる理屈がわからないので、何か違う事をしているのかもしれない。その辺りは追々Pro版が触れる時にでも検証してみたい。

高橋さんのGithubにはお世話になってばかりだ