moyasiエフェクト館

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


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

【Houdini】Resampleでランダムシードを制御してみる

f:id:tktknkyo:20181111205000p:plain

Verは16.5.571です

 

今回は、このResampleノードで、ランダムシードの調整に関する事を。

ほかの方法でいくらでも代用こそできますが、使い道の一つとして便利なのかなと思ったので。

f:id:tktknkyo:20181111205107p:plain

 

そもそもResampleとは?

 

このResampleノード、よく使われる使い方としては、恐らくポイント数を増やしたり減らしたり、になると思います。

 

f:id:tktknkyo:20181111205324p:plain

CurveのNURBSでポイント数4つで作ったカーブ。

 

これをResampleノードを使うと、細かく分割する事が出来ます。

f:id:tktknkyo:20181111205539p:plain

f:id:tktknkyo:20181111205557p:plain

ポイント毎のエッジが直線で繋がっていて、モデリングしたりする場合は基本的にこちらを使うことになります。

 

f:id:tktknkyo:20181111205724p:plain

また、逆に増やしすぎたのを、減らしたりする事も出来ます。

 

f:id:tktknkyo:20181111205847p:plain

赤の部分のチェックを外して(ここは距離で制御する場合に使います)

黄色にチェックを入れて、紫の下線の数値にポイント数が制御されます。

 

ランダムシードの制御について

 

ランダムシード、所謂ランダム性に関するものです、VEXで記載する場合でシンプルな例では

rand(@ptnum)

ポイント番号に対して、0~1の乱数を与えるわけです。

ポイント番号なので、ポイント番号が変われば数値を変えることができます、この制御を今回はこのノードを挟んで作ってみます。

 

今回のサムネにあるものを例として、複製する位置を、この輪っかから作ります。

f:id:tktknkyo:20181111210538p:plain

複製する場所はここから取ります、Circleで直ぐに出てきます。

 

ランダムシードの調整で便利なノードとしてあるのが、Sortノード

f:id:tktknkyo:20181111210722p:plain

これはポイント番号を制御したりする際に使いますが

機能の一つに、ポイント番号をランダムにする機能があります。

この機能で制御するのですが、番号がランダムに入れ替えるだけなので

ポイント数が少ない場合、制御出来る幅が非常に小さいという点です。

 

そこで、最初のランダムにする時のポイント数を増やしてから、Resampleで削減します。

 

f:id:tktknkyo:20181111211518p:plain

 

 

ツリーとしてはこんな感じです。

Circle2では、複製するポイントの元を作ります

 

Sortで、ポイント番号をランダムに入れ替えます

 

attcreでは、ここでポイント番号を元に、必要な数値をアトリビュートに保存しておきます。

 

最後にResample2にて、ポイント数を、最終的に必要な数値に削減します。

 

最後のResampleを入れる前に、アトリビュートとして保存しておくのを忘れずに。

こうしておくと、元々のcircle2のノードのポイント数によって、ランダムな数値がアトリビュートに格納されていきます。

 

サムネの画像は、ここで入れておいたアトリビュートの数値を使って、CopyStampノードでランダム性のある複製をしたものです。

 

今回はここまでです。

Houdiniでのランダム性の制御はかなり色々手段あると思うので、便利そうな方法を試していきたいところですね。