« C4D R11.5 Demo 日本語ヘルプをインストール | トップページ | C4D 久々にThinking Particlesを使ってみた… »

C4D マテリアルの特殊効果の波紋シェーダを使ってみた…

ま、今更… と思われるでしょうが…
波紋シェーダは、個人的に使用頻度が全く無く… でも使う必要がでてきたので…

パーティクルとポリゴンオブジェクトの衝突位置から、波紋を広げるシェーダです。

普通に使うと、こんな具合だろう…

意外と使えるシェーダでした…
「Hamon_01.ZIP」

ですが、注意が必要みたいで…
適用するオブジェクとは、動かしていけない…
ま、水溜りや池等で使うのだろうから…
適用したオブジェクトが、動かない事を前提に作られたのでしょう…

パーティクルとポリゴンの衝突位置は、グローバル座標で保持されます。
そこからの距離によって波紋の法線を生成します。
衝突位置の保持がUV座標ならば問題ないのですが、グローバル座標なのでオブジェクトを移動させてしまうと、波紋が表面位置からずれてしまいます。

ポリゴンオブジェクトをX軸で振動させました。
カメラの位置は変化させていませんし、衝突位置はグローバル座標なので波紋の中心位置は画面上変化しません。
上の動画だと、分かり辛いかも。

この波紋の広がりは、円ではなく球状に広がります。
下のテストは、複層の半透明ポリゴンオブジェクトの最上層だけにパーティクルが衝突するように作りました。
「Hamon_02.ZIP」
波紋シェーダは、衝突していない下層のポリゴンにもシェーディングをしています。

多分、多少の凹凸のあるポリゴンオブジェクトにも対応できるように、球状に広がるようにしたのだと思います。

ただ… デフォーマやPLA等で、形状自体が変化するポリゴンオブジェクトには、あまり効果的ではないかもしれません…

衝突位置の記憶は、UV座標座標が望ましいとは思いますが…
UVが無理ならば、グローバル座標よりもローカル座標の方が、良いと思いますが…

ま、使用頻度が少ないから、良いですか…

波紋が増える度に、レンダリング速度が低下します。

本当はね…
まだ途中なんですが、こんなアニメーションを作ってたんですが…
マテリアルは、全く適用していない状態です。

ポリゴンオブジェクトをXPressoで制御して…
ThinkingParticlesでパーティクルを飛ばし…
パーティクルが水面に衝突した所に波紋を…
でも、C4Dの波紋シェーダでは無理なようです。

|

« C4D R11.5 Demo 日本語ヘルプをインストール | トップページ | C4D 久々にThinking Particlesを使ってみた… »