LoginSignup
10
4

More than 1 year has passed since last update.

爆発で硬い地面がえぐれた様な跡を作るよ

Last updated at Posted at 2021-12-04

どうも、Houdinistです。
たまにはゲームエフェクト屋らしくエフェクト表現をお題に記事を書いてみます。

爆発で硬い地面がえぐれた様な跡

今回は爆発で硬い地面がえぐれた様な跡を作っていきます。
こういうのは手で描くとなかなか難しくどうしても手で描いた感がぬぐえないですし
バリエーションを作ろうと思った時に工数がものすごくかかりますのでHoudiniに計算させて
楽してしまった方が良いでしょう。

Houdiniでひび割れジオメトリを作る → ゲームエンジンで視差マップを使って表示する

まずはジオメトリとしてこういうものをHoudiniで作ります。

groundCrack2.gif

地面をえぐるためのもの

まずSphereをボロノイで割って外側を剥がします。
ここは難しいことは無いと思いますがめんどくさい人は左上のシェルフのModelのShatterを使ってください。
image.png
勝手にノードを作ってつなげてくれます。
image.png
外側を剥がす際はこの様にGroupExpandを使ってFlood Fill to Connected Geometryで外側を破片単位でグループ化しておき
Blastで削除しておきます。
image.png
そしてCleanで内側の重複した面(Primitive)を削除します。
image.png
これを地面をえぐるためのパーツAとします。
次にひび割れ部分を作っていきます。
image.png
Circleをwrangleで歪めてRemeshし、ひび割れの為のエリアを作ります。
次にPARTS_Aの領域内にある点群をstartという名前でポイントグループを作ります。
image.png
ボーダーエッジの部分にborderというポイントグループを作り
image.png
ボーダーポイントの中からランダムにエンドポイントのグループ(end)を設定する。
image.png
設定したstartendのポイントグループを使ってFindShortestPathにひび割れのラインを描かせる。
image.png
FindShortestPathでヒビのラインと同時に生成されたcostというstartからの距離のアトリビュートをリマップしてpscaleアトリビュートを
調整してsweepにヒビのメッシュを生成させます。
image.png
Transformで縦方向に膨らませてPARTS_Bとします。

image.png
PARTS_AとPARTS_BとBooleanでUnifyしてからgridにthickenかけたものでBoolean(Intersect)して上半分をバッサリ切ります。
image.png
上の面を削除して面を反転させてこれをヒビの断面(下部)とします。
image.png
gridから先程PARTS_AとPARTS_BのUnifyの結果で削ります。
あとSweepで使ったpscaleもAttributeTransferで持ってきておきます。
image.png
PolyExtrudeでちょっとだけ上にふくらませてwrangleでpscaleをrampパラメータで盛り上げます。
これをヒビの断面(上部)とします。
image.png
ヒビの断面(上部)ヒビの断面(下部)をMergeしてNormalかけてFuseでPointをくっつけてSmoothでなじませて
多少Magnetで反り返らせて形を微調整かけてヒビ形状の完成です。
image.png

これをゲームエンジンに持っていってUnrealとUnity上の視差マップでそれっぽく見える様にしてみます。
そのうち書こうと思います。

今回はこの辺で。

hipはコレです。

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4