moyasiエフェクト館

主にエフェクト関係の記事を上げていこうかと思います。


エフェクトに関係する記事上げてきます
エフェクト関係の記事の内容は緩く募集中
自分がわかる範囲であれば書いていこうかなと。

【Houdini】LineやCurveからモデリングする

f:id:tktknkyo:20200901232910p:plain

Verは18.0.566です

 

初めに

 

今回はHoudiniでLineやCurveという、つまりラインのデータからモデリングしていく手段を

モデルを作っていく手段そのものは色々あると思います

そしてこのやり方の長所としては

UV展開が非常に楽になる事です

Gridなどの板の状態でUV開いておいて変形する

というやり方の派生のようなやり方となります

 

Gridから作る方がUV展開そのものは楽ですが

作りにくい形状とかもあるので

そのような場合に使うのを想定しています。

 

 

基本

ラインからモデリングがどのように作るかから

f:id:tktknkyo:20200901233433p:plain

まずはLineノードからラインを作ります

 

f:id:tktknkyo:20200901233542p:plainf:id:tktknkyo:20200901233554p:plain

その後、Transformでずらした後にMergeでラインを二本にします

 

f:id:tktknkyo:20200901233714p:plain

その後、PolyPatchを繋ぐとこのように面を張ってくれます

分割数を細かくする機能も入っていて

デフォルトだと4なので、このように細かくなります

 

f:id:tktknkyo:20200901233916p:plain

そしてこちらは、ラインの状態でそれぞれ赤と青にしておいたもの

アトリビュートを入れておくと、間の情報が綺麗に補完してくれます

この機能があるので、ラインの状態でUVの情報を入れておくと、非常に手軽にUV展開を済ませる事が出来ます。

 

このやり方を使うメリット

 

UV展開はたしかに楽ですが、この程度であれば、Gridから作ったほうが楽に作る事が出来ます。

 

このやり方として、一本のラインであれば直線でなくてもよい

f:id:tktknkyo:20200901232910p:plain

つまりこのような、湾曲した形状も作りやすい事になります。

 

最初にLineではなく、Curveを使う事で

このような湾曲した形状も作りやすいです

これにより、直線などの情報から変形したりするのがやりにくいデータでも、モデルに落とし込むことがやりやすいです。

 

f:id:tktknkyo:20200901234947p:plain

このUV展開まで終わらせたモデルはこのような作りになっています

赤枠で囲ったEdgTransportというノード

こちらは、0のポイントから順番に距離を測ってくれるノードです

お互いの座標だけでの位置ではなく、0から順番順番に長さを計算してくれます

なので、この情報をベースに使う事で

一部だけUVが伸びる、などが起こらないように作る事が出来ます。

 

 

更に派生して使う

 

ここまで、一本のラインや曲線から作るやり方だったので

横幅が一定のもののみでしたが

二本のラインからでも当然作る事はできます。

 

f:id:tktknkyo:20200901235923p:plainf:id:tktknkyo:20200902000021p:plain

例えばこのような、ポイント数も違う二本のラインから作る場合

MergeしてからそのままPolyPatchに繋ぐとこのように破綻してしまいます。

 

f:id:tktknkyo:20200902000305p:plain

そこで登場するのがResampleノード

いろんな場面で便利なノードなので、割と使う事多いノードかと思います。

 

f:id:tktknkyo:20200902000516p:plain

設定は今回このようにしました

こうする事で、ポイント数を無理やり50になるように揃えてくれます

同じ設定にしたものを、二つのCurveの直後に入れます

 

f:id:tktknkyo:20200902000720p:plain

ポイント数を合わせたことで、綺麗に面が貼れています。

 

 

 

最後に

 

少しだけ自分で作った例を載せておきます

f:id:tktknkyo:20200902001412p:plain

開いた本のモデル、赤枠の部分以外は

今回の手法を使って作っています。

 

f:id:tktknkyo:20200902001703p:plain

ノードツリーはこのような感じに

 

f:id:tktknkyo:20200902001931p:plain

若干解りにくいかもしれませんが牙用のモデル

 

f:id:tktknkyo:20200902002152p:plain

こちらのノードツリーはこんな感じに

上と下で分離して処理作っているので

その辺りでばっさり分かれています。

 

 

 

 

 

今回はここまでとなります。

あまりHoudiniで記事に掛けるネタあんまりないですが

何かあれば書いていきたいです。