Blender+FreeStyleとSmokeの組み合わせ

FreeStyleの描写とSmokeを組み合わせてみたら,不都合が出てきた.

27

画像左上のドラム缶的な燃料タンクのところを見ると,そこだけ輪郭線が無いのがわかる.これは,FreeStyleでそのままレンダリングすると,Domainの箱の枠線が描写されてしまうということと絡んだ問題になっている.

試しにSmokeと普通の物体を組み合わせた状態でレンダリングしてみるとこうなる.

FS

この状態だと,Domainの枠線が表示されてしまっている.しかも,透明なオブジェクトとして処理されているわけではないので,向こう側の線は標示されていない.他の物体と貫通させてみると顕著に分かる.

KP

しかもなんか色々と変.

これを防ぐ方法として,FreeStyleのLineSetで除外Groupを設定してそこにDomainを突っ込んでみた.するとこうなる.

ExG
ex

右下部分以外の線が消えてしまった.

おそらく,Domainは透明オブジェクトとして設定されているわけではないので,Domainと重なっている部分が描写されずに切れてしまってるためだと思われる.そこで,RenderLayerを二つに分けて,線以外を描写するレンダーレイヤーと線のみを描写するレンダーレイヤーに分け,それぞれのレンダーレイヤーに対応させるレイヤーを分けてみる.

RLl

こんな感じ.

そして,それに合わせてCompositeNodeを以下のように組んでみた.

CN

すると,下の様な画像が出力される.

1

これで期待通りの画像が出力される.レンダリングにかかる時間も,体感ではそこまで伸びた感じはしない.動画作成時にも実用できる方法だと思う.最初の画像にこれまでの方法を適用した画像を示しておこう.

27s