検索 - User list
Full Version: オブジェクトごとにランダムなテクスチャを割り当てたい
Root » 日本語フォーラム » オブジェクトごとにランダムなテクスチャを割り当てたい
iharaakihiko2018
Houdini初心者です。

個別のオブジェクトごとにランダムでテクスチャを割り当てたいのですが、どうすればいいでしょうか。

例えばCopy to Pointでビルのようなモデルをアトリビュートを使ってランダムに配置して、それにランダムにテクスチャを割り当てるという感じです。
アトリビュートを作るところまではいけましたが、マテリアルの部分がよくわかりません。
マテリアルはMaterialXを使っています。

ちなみにMAYAで同様に作ったときはSwitchノードを使いましたが、HoudiniでもSwithのようなノードを使うのですか?
AsuVFX
かなり前のご質問に対しての返答なのでこの質問をされた方はもしかすると解決してるかのうせいがありますが、私もこれについて困って試行錯誤したのでまとめてみたいと思います。

まず、mtlxswitchというノードを作成しますこれはMayaのswitchと同じ役割です。
signatureの項目をColorに変更してoutをmtlxstandard_surfaceノードのbase_color等に繋ぐとよいでしょう。
mtlxswitchのinにテクスチャ画像を繋げます。ここまではMayaと同じです。

では、本題。どのようにしてcopy to pointで作成したgeometryにランダムにテクスチャを割り当てるためにswitchさせるのか

まずはMtlx geometry Property Valueというノードを作成しswitchノードのwhichに繋げます。
このMtlx geometry Property Valueノードでは geometryのattributeの値を参照することができます。

つまりSOP階層側で copy to pointする際に マテリアル設定用にattributeを作成しランダムに番号を付与するようにすればよい

copy to pointノードをforeachで囲い 繰り返した回数を テクスチャのパターンの数で割るなどして 
ランダムに割り当ててみると
この問題は解決するかもしれません。

私も初心者で勉強中なので もしかするともっと良い方法があるのかもしれませんが私がわかる範囲ではこのような感じです。
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB