山里ぽん太Snow09 December 2018 |
山里ぽん太は積もった雪を作ろうと思いました。 |
![]() ![]() |
Chapter 1 雪が降る前に |
というわけで、だんだん日が短くなって、だんだん寒くなってきました。 自動車のタイヤを冬タイヤに取り替えて、雪囲いもしなければいけません。 もうすぐ雪が降って、積もります。 Houdini の中にも、雪が積もるでしょう。 というわけで、積もった雪を作ってみようと思いました。 |
Chapter 2 ポイントを積もらせる |
というわけで、積もった雪って、どう表現したらいいでしょう?。 最初に考えたのは、ポイントをダイナミクスで降らせて、地面だの木だのを Static Object にしておいて積もらせて、それに、雪の結晶を Copy to Point する、というものでした。 しかし、それって、ポイントの数はどれくらい用意したらいいでしょう?。 縦1メートル、横1メートル、奥行き1メートル、の、つまり1立方メートルの中に、縦1000個、横1000個、奥行き1000個、の、つまり、10億くらい?。 まじっすか?。 じゃあ、横100メートルの奥行き100メートルなら、10兆っすか。 却下です(笑)。 |
Chapter 3 テクスチャを使う |
というわけで、積もった雪の表面を作れないでしょうか?。 つまり、ハリボテです(笑)。 noise で緩やかなでこぼこを作って、結晶の形を rand で作って、積もった雪の表面の形状を作ってみましょう。 というわけで、これがテクスチャです。 周期的な Perlin Noise を使っています。 ![]() このテクスチャを Displacement に割り当ててレンダリングしてみました。 なんとなく良さそうですが、パターンの繰り返しが、雪っぽくない感じです。 それに、透明度とかも別途テクスチャを割り当てないといけないし、モデルのサイズが変わったりするので、テクスチャでは、なかなかたいへんそうです。 ![]() |
Chapter 4 ノイズを使う |
Principledshader の Displacement のところにある、ノイズを使えないでしょうか?。 ノイズが使えたら、ちょー楽です(笑)。 というわけで、作ってみました。 デフォルトの Simplex Noise に デフォルトの Roughness のままで、大きさだけを小さくしました。 うん、なかなかいい感じじゃあーりませんか(笑)。 緩やかな起伏は、SOP でつけてあります。 ![]() |
Chapter 5 実際にどう使う |
Chapter 4 では、10×10の Grid で試しました。 空き地とかは、これでいいかもしれません。 でも、現実の風景は、空き地だけではありません。 家があったり、木があったり、自動車があったりします。 そういった、いろんなものの上に積もった雪はどうすればいいでしょう?。 家の屋根は、平面で構成されるので、作りやすいかもしれません。 でも、屋根の端は、どう処理すればよいでしょう?。 単純に PolyExtrude しちゃうと、豆腐みたいな形状になってしまいます。 木の枝はどうすればよいでしょう?。 自動車の上は、丸くまるまった雪になることでしょう。 雪の降りかたや、積もった後の天候や、積もった後の経過時間によっても、形状は異なります。 うーん、なんて難しい(困)。 駄菓子菓子(笑)、これは、実は、モデリングをがんばれば、いろんな表現ができる、ということを意味しています。 いろんな雪を見て、触って、経験している僕の独擅場じゃあーりませんか(笑)。 |
Chapter 6 Steven Knipping's Snow |
FACEBOOK の Houdini のグループで案内されていた Steven Knipping さんの Snow は、なかなか見事です。 ホームページはこちらです。 |
Chapter 7 メモ |
① 中途半端ですが、積雪のモデルの応用は、次の機会に譲ります。 |