« C4D 久々にThinking Particlesを使ってみた… | トップページ | C4D ThinkingParticlesで1枚ポリゴンの木を地面に配置する… »

C4D 変位マップ

グレーマップを使って、実際に面を盛り上げたり下げたり…

これもまた、取り上げるほどのネタではないのだけどね…

さてと、変位マップはグレーマップを使って実際に面を変化させるのだけど…
盛り上げるのか…
盛り下げるのか… 普通、盛り下げるとは言わないか…

白(100%)をベースに黒を下げるのか…
黒(0%)をベースに白を盛り上げるのか…

Desp_01

ま、ほとんどのC4Dユーザは知っているだろう…
グレー(50%)をベースに白を盛り上げ、黒を下げると…

Desp_02
最大高さ:100.0
変位量:100.0%

変位チャンネルの「変位量」の値は-100%~+100%までで、白と黒の最大変位量が「最大高さ」という事だ…

実際の面での変位量は「最大高さ」×「変位量」
面の法線方向に白を盛り上げるには「変位量」>0.0%と言う事になる。

変位マップで、実際にオブジェクトの面を変化させるには、ポリゴンを十分に細かく細分化するか、もしくは変位チャンネルでSPDを設定しレンダリング時のみC4Dに細分化させます。

変位チャンネルのSPD:分割数は、「ファンクション」メニューの「細分化...」と同じく「2のn乗分割」
分割数が1ならば、ポリゴンの辺を「2の1乗」の2分割…
4角ポリゴンならば、ポリゴン自体は4分割になります。

Desp_07

Desp_06

2ならば「2の2乗」で4分割でポリゴンの分割は16…4ならば「2の4乗」の16分割でポリゴンは256分割となるわけですね…

さて、変位マップのSPD設定で「形状を丸める」設定がありますが…
HyperNURBSで丸められるわけですが…

分割されていない立方体を…

Desp_08

変位マップSPD分割数:4/形状を丸める:on
この状態だと下の様になります。

Desp_11

Desp_09

では、HyperNURBSを使って同じ分割レベルにするには…

変位マップSPD分割数:1/形状を丸める:off
HyperNURBSの分割数:3…要するにSPD分割数とHyperNURBS分割数の合計を同じにすると、分割レベルは同じになります。

Desp_12

Desp_13

Desp_10

ただし、変位の様子が少し違います。

とりあえず、変位マップの分割の度合いで、実際のポリゴンの分割する時の目安とできます。
そんな事は、めったに無いと思いますが…

もしもあるとしたら…

変位チャンネルのSPD設定での細分化は…
あくまでもレンダリング時のみの処理らしく…
XPresso:「光線の衝突」ノードでの衝突位置は…

Desp_05

Desp_03

上は変位チャンネルSPD設定なしの1枚ポリゴン。
下は変位チャンネルSPD設定:分割数6の1枚のポリゴン。

Desp_04_2

分かり辛いですが、細分化され変位した面ではなく、細分化される前のポリゴンとの衝突位置です。

この変位した状態をポリゴンにしない限り、「光線の衝突」ノードでの正確な衝突位置は取得できません。
で、変位をポリゴン化する方法は…?
先ほどの話は分割レベルの話なので、分割はできても変位自体をポリゴン化する方法は、わかりません…

先に手動でポリゴンを細分化し、ポイントをユーザスクリプトかC.O.F.F.E.E.フラグインで変位マップとUVを使って操作する…
ぐらいだろう…

C.O.F.F.E.E.でサブディビションを記述できるなら、全てをC.O.F.F.E.E.で処理できますが…
C.O.F.F.E.E.はN-gonには対応していないので、条件付でなら作ることができるだろう…

自分には無理ですけど…

|

« C4D 久々にThinking Particlesを使ってみた… | トップページ | C4D ThinkingParticlesで1枚ポリゴンの木を地面に配置する… »