今回は、セルアニメ風の輪郭線生成について投稿したいと思います。私自身、小学1.2年の頃に「うる星やつら」を観て衝撃を受けた世代ということもあり、どうしてもセルアニメに嗜好が偏ってしまいます。他にも「Dr.スランプ アラレちゃん」や「まいっちんぐマチコ先生」などなど・・・。
Blenderには、「Freestyle」という非常に頼もしい輪郭線生成の機能が搭載されています。私も頻繁に活用させて頂いておりますが、個人的に1点、残念な部分があります。
プリミティブ・オブジェクトの立方体と球体を用意して、重なり合うように配置してみます。
Freestyleを設定すると、このように重なり合った部分には輪郭線が生成されません。これが私が個人的に思うFreestyleの残念な部分です。
モディファイアーの「ブーリアン(Boolean)」を設定すれば輪郭線は生成されますが、後々面倒なことになりそうなので今回この方法は却下したいと思います。
とういことで、今回はこのオブジェクト同士が重なり合った部分に輪郭線を生成させたいと思います。使用する機能は、コンポジットノードです。
今回上記のようにノードを構築しました。まず、一番左側の「レンダーレイヤー」ノードに関して、プロパティエディターのレンダーレイヤーにある「パス」パネルの[ノーマル]を有効にする必要があります。
次にフィルタータイプを[キルシュ]に設定した「フィルター」ノードに繋ぎます。これで輪郭が抽出されるので「カラーランプ」ノードに繋ぎ、色を反転してグレースケールに変換します。
このままだと輪郭線にジャギーが発生してしまうので、「ぼかし」ノードで若干ボカして滑らかにします。
最後に「ミックス」ノードの[乗算]で合成すれば完了です。
Freestyleとコンポジットノードの併用で輪郭線を生成させたレンダリング見本がこちらです。
この方法のデメリットとして挙げられるのが、Freestyleの設定項目にある「輪郭線の色をマテリアルに合わせる」ことができなくなり、オブジェクト毎に輪郭線の色を変化させることができなくなります。