Blenderで眉毛を手前に
今回も初心者向けネタです_(:3」∠)_アレ...
に、2.8以降対応版だから!:(;゙゚'ω゚'):
忙しい人向けのまとめ
常に手前表示は今まで通りレンダーレイヤーを分けてCompositで合成。
裏側から見たときに隠すには、Holdoutのマテリアルを付けたオブジェクトでマスクする。
今は昔
Blender2.8でオブジェクトをマスク化する機能がなくなって、わりと露頭に迷う人が出てきている感があります。眉毛を前に出す設定、までは古い記事を見ながらでもできるのですが、逆側から見ても眉毛が残ってしまう。
オブジェクトのマスク化は新しいBlenderでは使えないのですが、意外と検索しても古い記事しか出てこず新しい情報で上書きされるのを待っ……ていたのですが、ちっとも上書きされない_(:3」∠)_
あんまり記事が書かれていないのか、眉毛を手前にする需要がなくなって検索されなくなって順位が更新されていないのか。
新しい記事がないゆえの古い記事が検索に引っかかる状況だったら悲しいので、新しいやり方の記事を書いて支援です。
まずはおさらい
眉毛を前に出すやりかたは昔と変わっていないので、初心者向けの記事を検索すれば引っかかると思いますが、一応おさらい。
まず、眉毛のような常に手前に表示したいもの用にコレクションを作り、手前に表示するものを突っ込みます。例では眉毛ということでeyebrowというコレクションを作って眉毛のオブジェクトを突っ込んでいます。
ViewLayer横のレイヤーを作るボタンを押して新しいレンダーレイヤーを作ります。
新しいViewLayerのコレクションを片っ端から非表示にし、手前に表示するオブジェクトの入ったコレクションだけ有効にします。
逆に元のViewLayerの方は手前に表示するオブジェクトの入ったコレクションは非表示にします。
背景透過の状態にしてレンダリングします。RenderPropertyのFilmのTransparentにチェックを入れればOKです。
あとはCompositingでAlphaOverなりで合成
ここまでが古い記事でも使える部分です。
眉毛をマスクする
一見うまくいったように見えますが、裏からレンダリングすると冒頭の絵のように眉毛が「常に」手前に描画されてしまいます。
古いバージョンのBlenderの記事では、ここで眉毛用のViewLayerで顔をマスクオブジェクトとして設定にして裏から見たときに眉毛がマスクで隠されるようにしていることが多いと思います。
が! Blender2.8でこの機能がなくなってしまいました。
でも簡単に再現する方法があります。簡単すぎてだれも記事にしないという_(:3」∠)_
それではやり方です。まずマスク用のオブジェクトを用意します。正面以外から見たときに眉毛が隠れる形であればどんな形でもいいです。
簡単に作るなら顔をコピーしてしまえばいいですが、目の部分とかに穴が空いている場合は塞いでおく必要があります。
マスク用のオブジェクトを作ったら、常に手前に表示する用のコレクションの中に一緒に突っ込んでおきます。
マスク用のオブジェクトにマテリアルを設定します。Holdout(ピクセルに透明を描画しDepthも書き込む)だけつなぎます。
これでマスク部分は透明で描画され、眉毛がマスクより奥側のときはDepthで負けて描画されなくなります。
この記事が気に入ったらサポートをしてみませんか?