No More Retake

3DCG屋さん向けTips&Referenceサイト

メニュー

Houdini:UV Transfer for different topologies

Houdini回。
個人的に「おっ!?」となったネタ。
Polygon→VDB→Polygonでメッシュ化したトポロジ違いのジオメトリになんとなくオリジナルのUVを転送する方法。
破壊で重宝しそうと思って。

オリジナル

これのUVをトポロジ違いのジオメトリに転送していく。

uvtransfer_001a

ふつうにAttribute Transfer(SOP)で転送

これをVDB from PolygonとConvert VDB使ってトポロジを変更し、Attribute TransferでUVを転送すると、UVがつながったままでぐじゃっとなる。(Convert VDBのTransfer Surface Attributesオプションも似たり寄ったり)
つなぎ目部分が変になってます。

uvtransfer_001b

このUVを綺麗にしたい。

Connectivity(SOP)とFor Loopで

uvtransfer_002

Connectivitiy(SOP)を使って、UVのアイランド(ひとつなぎの部分)ごとにUVを転送すると比較的改善されるっぽい。For-Each Subnetworkdで各UVアイランド毎に該当のポリゴン以外はすべて削除しUVを転送し、最後に全部を合体させる。

uvtransfer_002b

Connectitvityの”Use UV Connecitivity”をONにすると、UVベースでつながっているところを、ひとまとめにしてくれる。
For-Each Subnetworkdの箇所はBlock Begin/Endでもイケるはずが、なぜかジオメトリによってループ回数が変だったりしたのでそっち使った感じ。(なんでうまくいかないのがあったのじゃろ)
UVの転送にはAttribute Transfer(SOP)を使用。

XYZ Distance(VOP)使って転送

Attribute Transferの代わりにXYZ Distance(VOP)を使ってのUV転送。
こっちのほうがちょっと綺麗。

uvtransfer_003a

uvtransfer_003b

XYZ Distance(VOP)は指定したジオメトリでいちばん近いプリミティブを取得できるノード。

uvtransfer_004

あまり使ったことのないノードだったので勉強になりました。
これ↓でAttribute Transfer(SOP)と同等のことができるのか! なるほど!
uvtransfer_005あとUVの転送処理の箇所で、VOPでグループ指定は初めてだったので、これも「こう使うのか!」と、べんきょうになりました。
uvtransfer_006VOPでgroupが入力にあるものをそれほど見かけない気がするけど、目に入ってないだけかな?
グループ名の記述にはprint(VOP)を使う。
print(VOP)は文字列を生成するノードで、Format Stringに、@class==%、と記述されている。
ここでの%とは入力の値を表す。
つまりここではgetattrib1が取得したclassのアトリビュートの値が入る。
その結果例えば、@class==3、という文字列が生成されることになる。

uvtransfer_007

その文字列がxyzdist1のgroupに渡され、Opinput2にコネクトされたジオメトリの@class==3に当てはまるジオメトリに対して、最近接のプリミティブが検索されることになる。

相変わらずsidefxのフォーラムはべんきょうになるなぁ。

・・・そう、フォーラムに載ってたんです。
https://www.sidefx.com/forum/topic/30235/

 

Sample File: uv_transfersmaple.hiplc

 

ただこの手法、同一UVアイランドでジオメトリはつながっているがUVはつながっていないという場合、その箇所はうまくいかない。
もうひと工夫ひつようになるな、と。

関連記事

  1. 2017.08.09

    Houdini:COINS

コメントをお待ちしております

このサイトについて

3DCG Tipsサイト。Houdiniの記事が多めです。

RSS

follow us in feedly

アンケート

ほしい?(複数可)

View Results

Loading ... Loading ...

言語切り替え

  • English (United States)
  • 日本語

Archives

  • 2017 (17)
  • 2016 (36)
  • 2015 (64)
  • 2014 (54)
  • 2013 (60)
  • 2012 (54)

スポンサードリンク