Curl ノイズを用いた多くの作品を手掛ける Edan Kwan 氏の色が混ざり合うおもしろ WebGL デモ!
今回もマシンパワーを要求するマッチョな仕上がり
今回ご紹介するのは、Curl ノイズを活用した流体や煙などのデモでお馴染み。Edan Kwan さんのデモ作品です。
これまでに氏が公開してきた多くの作品と同様に、今回もかなり豊富なパラメータのインタラクティブな調整が可能となっています。
特に、今回の作品は「Hyper Mix」というタイトルが付けられているとおり、色が混ざり合うような不思議なレンダリング結果を見ることができます。
ちょっと、重いですけど(笑)
いじり倒すもよし、ただ眺めるもよし
今回のデモでは、基本となるスフィア(球体)のモデルが、状況に応じて他のモデルと結合され、混ざり合うような感じで結合する様子を見ることができます。
この、混ざり合う度合いなども自由にパラメータを調整することで変更できるため、単なるスフィアの流体のような動きから、あるいは粘土やインクがぶつかって混ざり合うような表現まで、自在に変化を楽しむことが可能です。
この画像を見ると、ピンクとグリーンがいい感じに混ざり合ってるのがわかると思います。
画面の右側にはスライダーや色の選択インターフェースが並んでいるのがわかりますね。この部分から、多彩なパラメータを変更することができます。
また、マウスのドラッグ操作による視点の変更や、ホイール操作によるズーム率の変更など、基本的なカメラワークも漏れ無く押さえられています。
見る角度を変えてみると、また雰囲気が違っていい感じです。
今回の作品に限らずですが、流体のような表現や、あるいは物理演算に近い計算を行う場合、とても大量の計算が必要になります。
GLSL を使って高速に計算を行っているのだとは思いますが、それでもやっぱり負荷は高めですね。右側のメニューからは計算の負荷を多少変化させることもできるので、ハイパワーなマシンを持っている方は、限界に挑戦してみるというのもいいかもしれません。
上の画像は、オブジェクトの色を変化させてみたものを、さらにカメラを寄せてキャプチャしました。
基本的にはスフィアの形状が残っている箇所もありつつ、微妙に補間されてシルエットが変化したり色が混ざったりしているのがわかりますね。
調整できるパラメータの中には、この混ざり具合を変えられるものもあるので、すこし混ざり具合を強くしてみると、以下のようになります。
だいぶシルエットがぼんやりした感じになりました。
このように、パラメータを変化させてみると、それがどのようなロジックで実現されているのかを推測する手がかりになったりする場合もあります。
様々な描画結果を眺めつつ、どうしたらこのような処理が実現できるのか、考えてみるのも楽しいですね。
気になる場合は、ソースコードも公開されていますし、気合を入れてシェーダのソースを読み解いてみるというのも、いいかもしれません。
負荷は高めですが、見て楽しい、いじって楽しいデモになっています。
ぜひチェックしてみてください。