« C4D 選択されたタグから、取り付けられたオブジェクトをC.O.F.F.E.E.で取得 | トップページ | C4D シーンモーションブラー処理中のXPressoのC.O.F.F.E.E.ノードでの出来事… »

C4D すみません…また「被写界深度」… こだわっている訳ではないのですが…

自分では、終わりにしたネタなのですが…
検索されてきた人がいるので…
シーンモーションブラーを利用した「被写界深度」です。

「またかよ…」って思った人は、読み飛ばしてね…
暇な人は、暇つぶしに…

ちなみに、このブログを読まれた方は「被写界深度」派ですか? それとも「DOF」派ですか?
自分は「被写界深度」派なので… 「DOF」って言うのが何故か嫌いで…
カメラやっている人は、「DOF」なんだろうか?「被写界深度」なんだろうか?
どちらが一般的なんだろう…

前回の記事では、イメージのみの公開で、他は何も公開しませんでした…

C4D artist sideC4Dコミュニティーで被写界深度…
http://villager-and-c4d.cocolog-nifty.com/blog/2009/09/c4d-artist-side.html

C4D 前回の被写界深度のテストで、どうやら…
http://villager-and-c4d.cocolog-nifty.com/blog/2009/09/c4d-2371.html

C4D シーンモーションブラーとタイムライン
http://villager-and-c4d.cocolog-nifty.com/blog/2009/09/c4d-115c.html

今回は…
R11.5ではモーションブラーのサンプル数が49になったし…
前回の記事のサンプル数は50とか60だったので、ちょうど良いかなぁ… なんて思ったので…

以前から公開されている、モーションブラーを使った被写界深度のC.O.F.F.E.E.エクスプレッションの不具合とか…

以前から公開されているモーションブラーを使った被写界深度の方法は…

ヒロツブログ
http://kowloo.net/hirotsu/mt/archives/2004/12/true_dof_1.html

CGSOCIETY
http://forums.cgsociety.org/showthread.php?t=65416

今回は…
原理は同じですが、新たにXPressoを作って、記事の最後に公開します。

以前から公開されている、モーションブラーを使った被写界深度のC.O.F.F.E.E.エクスプレッション
これを利用して作られた作品が、artist sideで公開されています。shidenさんと言う方の作品です。
http://artistside.com/?m=pc&a=page_h_content_list_all&tag=CINEMA4D
興味のある方は、ご覧ください。

shidenさんは、「全体的にボケる」とコメントしています。
「拡大レンダリングして縮小する」と言う、回避方法をとられたようですね。
気付いただろうか…「拡大レンダリングして縮小する」方法は…
アンチエイリアス処理と同じ様な事をしている事に…
オーバーサンプリング…?CGでは「スーパーサンプリング」でしたっけ…?
もしかすると、アンチエイリアス設定で全体的なボケが改善されるかも知れませんね…
AAの設定とかね…

多分これで、当分「被写界深度」のネタは、取り上げません… と思います…

まずは、以前から公開されているC.O.F.F.E.E.エクスプレッションの事から…
C.O.F.F.E.E.コードを表示しても良いのかなぁ…?許可が必要?
コードが公開されていてもオープンソースとは限らないしね…

では、被写界深度として調整する為に変更する、一部だけ…
main()内の最初の2行だけ…

var radius = 0.2;
var strength = 0.25;

radiusでボケ具合の調整。大きくなれば、大きくボケる。
strengthは、レンダリング設定の「特殊効果...」の「シーンモーションブラー」の「強度」ですね。同じ数値を入力。

Dof_01

ボケ具合の調整は、C.O.F.F.E.E.コードを直接変更を加えないといけないのだ…
面倒だね。
できる人は、ユーザデータにしている事でしょう…
XPressoに変更している人もいるかと…

と言うか…
前から思っていたんだけど…
strengthを最初から1.0に固定して、ユーザにはレンダリング設定のシーンモーションブラーの強度を100%に設定するようにアナウンスすればいい事だと思うのだが…
どうせ、静止画にしか使わないんだし…

静止画と決め付けるのは、良くないですか…

さて…

ボケの調整は、数値を変更してレンダリングの繰り返し…

画面上でのボケ具合は、カメラと被写体や背景の距離の関係ですね。

では、試しにレンダリングします。

被写体までの距離:580
radius:10

strengthは、レンダリング設定と必ず同じ値を入力するので、ボケ具合には関係ありません。

シーンモーションブラー「サンプル数」:25

Dof_02

これは、レンダリング設定でのTIFFでレンダリングしました。

最近の記事で取り上げました、HDRを覚えているだろうか…?

C4D レンダリング出力フォーマット… 「HDR」
http://villager-and-c4d.cocolog-nifty.com/blog/2009/10/c4d-hdr-feda.html

通常フォーマットでのレンダリングは、スペキュラが薄くなる…
では、HDRだと…

Dof_03

断然、スペキュラがきれいなHDRだね。

今回は、HDRでレンダリングします。

フォーマット変えただけで、印象がこれだけ違うんだね…
眩しい感じが出ているスペキュラだね。

被写体までの距離:580
この状態で、radiusだけの変更です。

radius:0
Dof_04
全てにピンが合っている状態です。

radius:2.5
Dof_05
先ほどより、若干背景がボケていますが…

radius:5
Dof_06

radius:7.5
Dof_07

radius:10
Dof_08

radius:20
Dof_09
この以前から公開されているC.O.F.F.E.E.エクスプレッションの不具合が出始めています。
奥の球体のスペキュラの形に顕著に現れています。

radius:40
Dof_10
奥の球体のスペキュラが…
手前の床のボケに「流れ」を感じます。

radius:60
Dof_11
もう全体的に、駄目ですね…
まぁ、この数値でレンダリングする事は無いだろうし… 無いだろうか?

radius:80
Dof_12
手前の球体のスペキュラも形が崩れてきました。

radius:100
Dof_13
どこにもピンが合っていません…

このシーンのレンダリングで、radiusがまともに使える値は10ぐらいだろうか…

ま、これはサンプル数が25ですから…

では、同じシーンでR11.5でレンダリングします。

サンプル数:49
radius:50
Dof_14
奥の球体のスペキュラが…

手前の床のボケにも流れが見えます。
サンプル数が増えたからと言って、良い結果が得られるとは限らないようで…
もし、この「以前から公開されている、モーションブラーを使った被写界深度のC.O.F.F.E.E.エクスプレッション」を使い続けるならば、修正が必要になります。
誰が、修正して公開するのか…?

さて、更に…
このシーンモーションブラーを使った被写界深度のC.O.F.F.E.E.エクスプレッション…
このC.O.F.F.E.E.エクスプレッションに限った話ではないのですが…

全体的にボケている…との事です。

全体的にボケいているのは、このC.O.F.F.E.E.エクスプレッションが悪いのではありません。

では、比較です。
radius:0にしますと、全体にピンがあった状態になります。
Dof_04

上がアンチエイリアス:ベスト
下がアンチエイリアス:なし

Dof_15

両方ともアンチエリアスが効いていますが、下の方が少しクッキリしています。
下の画像に、問題があるだろうか…?
自分には全く問題が無いように思えますが…

アンチエイリアスでエッジをボカし、シーンモーションブラーで、更にボカし…
要するに、ダブルでボカしている事になるのだ…

シーンモーションブラーを使った被写界深度には、アンチエイリアスを「なし」に設定した方が、良いかも知れないと言う事です。
断言ではありません。好みの問題もありますので…

すみません、なんだか「以前から公開されている、モーションブラーを使った被写界深度のC.O.F.F.E.E.エクスプレッション」を否定している様に感じられたかもしれませんので…

問題の無かったradius:10/サンプル数49でレンダリングしてみました。
Dof_16
きれいだね…

では、今回新たに作ったXPressoと比較してみます。
CGSOCIETYの方は、サンプル数が25です。
49よりも25の方が良いと思いまして…
新しく公開する方は、サンプル数49です。
少し不公平感はありますが…

こうして並べて見ると、少ないボケ具合では、正直そんなに大差が無いように思えます。

4番目くらいから、CGSOCIETYの方の床のボケに流れが出てきます。
が、新しい方は、ありません。

サンプル数が、49では少ないですね…
4番目ぐらいからスペキュラが粒状に散っていきます。

0 Dof_50
1 Dof_52
2 Dof_54
3 Dof_56
4 Dof_58
5 Dof_60
6 Dof_62
7 Dof_64
8 Dof_66
9 Dof_68
10 Dof_70

全体的に見ても、劇的な違いがあるわけでは、無いようで…

前回の方法で、サンプル数を49以上にできますが…
HDRに対応できなくて…
TIFFならば…
サンプル数:120
Dof_39_2
スペキュラがぁ…
HDRではなく、TIFFなので奥と手前が消えてなくなりました…

スペキュラに納得がいかなかったので…
少し工夫してしました。
ついでに、サンプル数を1000にして見ました。
時間が掛かるので、アンチエイリアスをOffで…

Dof_43

スペキュラは、なんとなく戻ってきましたが…
手前のスペキュラは、相変わらずボンヤリしていますね…

さすがにサンプル数が1000だと、綺麗にボケていますが…
アンチエイリアスをOffにした為、ピンがあっている部分にジャギーが目立ってしまいました。
C4Dのシーンモーションブラーでは、アンチエイリアスをOffにしてもジャギーにならない様に工夫されているんだね。
で、自分で処理するなら、どんな風にすれば良いのやら…
これぐらいが、工夫の限界だろうか…?

もう少し…

Dof_45

ようやく、アンチエイリアス処理が完成…
でも、ピンがあっている所が、少し甘いかも… 調整が可能ですけどね…
これで、レンダリング設定のアンチエイリアスがOffでも、ジャギーを軽減する事ができました…

試しに…上の比較した5番目と同じデータで…

Dof_46

ま…

今回、公開するシーンモーションブラーでの被写体深度カメラの構成は…

Dof_40

カメラの位置は、カメラオブジェクトの親ヌルオブジェクトです。
ターゲットエクスプレッションでカメラターゲットを捉えています。

被写界深度用の設定は、カメラの親ヌルオブジェクトのユーザデータです。
Dof_41

カメラ用ターゲットは、このユーザデータにドロップしてください。
ターゲットエクスプレッションに自動設定します。
数値(ボケ)にボケ具合です。
シーンモーションブラーは、レンダリング設定の「特殊効果...」のシーンモーションブラーをそのままドロップしてください。

Dof_42

これで、C.O.F.F.E.E.エクスプレッションを直接変更する必要がなくなります。

レンダリング設定を新規で追加した場合も、該当するシーンモーションブラーをドロップし直してください。

要するに、レンダリング設定を変えるたびに、シーンモーションブラーを設定し直さなければならない状態に、なってしまいました。

アニメーションは、全く考慮していません。

では、ファイル「DOFcam.ZIP」です。

最後まで読んでくれて、ありがとう…
被写界深度は、このXPressoに問題が無い限り、取り上げませんので、許してください…
たぶん、この様なものを使わなくても済むようになると… 思います… きっと…

手っ取り早く、他のレンダラーを…

|

« C4D 選択されたタグから、取り付けられたオブジェクトをC.O.F.F.E.E.で取得 | トップページ | C4D シーンモーションブラー処理中のXPressoのC.O.F.F.E.E.ノードでの出来事… »