Houdiniゆるゆる会019 Tomoの復習メモ集

Houdiniゆるゆる会での、学びを普段Houdini復習メモとしてツイートしています。
Tomoはツイートした事を忘れるので、忘れないようにまとめて置こうと思います。
Houdini復習メモ
— Tomo (@TomoDesignST) January 22, 2025
モデリングの際にラインから始めるっていうのがまず頭に浮かぶという事は結構本質的に大切なのではないかと思います。私はBOXとかGRIDとか無駄に使いがちでした。最低限の定義から無駄なく始めるとプロシージャルの本質を捉えやすいなと思います。#YuruHoudini pic.twitter.com/XuHB3kJn9o
Houdini復習メモ
— Tomo (@TomoDesignST) January 22, 2025
ReferenceCopyもみなさん良く使われています。
Ctrl +Alt + Shift ドラッグですが、押すボタンが多すぎて、毎回わからなくなります。いちいち参照先のデータパスを指定する必要がないので、これもとても便利でした。
#YuruHoudini pic.twitter.com/efSszLIVqK
Houdini復習メモ
— Tomo (@TomoDesignST) January 22, 2025
0 `nprims(0)-1`
これで最初と最後(プリミティブ総数から1引く)のプリミティブを選択してるのは凄いスマートで学ぶところが多いです。同時に関数はある程度覚えておきたいと思いました。
Expression関数https://t.co/GrUYBCc88Z pic.twitter.com/PdrZe1cPFI
Houdini復習メモ
— Tomo (@TomoDesignST) January 22, 2025
PolypatchはGHでいうLoft的なやつですね。
Houdiniではこれだったのか、と思いました。 pic.twitter.com/b4aT3aITM3
Houdini復習メモ
— Tomo (@TomoDesignST) January 22, 2025
GroupExpression というVEXというプログラミング言語の判定でグループを作るノードがある事を学びました。今までGroupノードでやってました。 pic.twitter.com/o6Do9HSbPv
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
Divideは面を割るイメージがありましたが、逆にRemoveSharedEdgeだけ使えば、割れてるエッジを全部無くすこともできるようです。ただしSharedEdge上のポイントは残りますね。これ、意外と見落としがちで結構便利です。#Houdini pic.twitter.com/hDa5RgnKRg
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
PolyBevelは三次元の面取りを考えてしまいがちですが、二次元でも丸める時に使えるようです。#Houdini pic.twitter.com/im1V1EwTjW
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
Facetノードの Remove Inline Pointsはディテールの要らない辺とかのポイントを間引くときにとても重宝します。Facetというノード名からはあまり想像できないので覚えておきたいです。#YuruHoudini pic.twitter.com/Pk8aQ3aWy7
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
bbox(-1,D_YSIZE)*2
これは原点に中心があるオブジェクトの高さを取得しています。YのMax値x2で高さです。bboxはエクスプレッション関数です。
-1はSpareInputを参照している時のみで、そのノードの値を参照する場合は0です。https://t.co/qoDLd6OFwL#YuruHoudini pic.twitter.com/QHeqKJpN9t
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
detail(-1, "iteration", 0)
detailを参照するエクスプレッション関数でメタデータのイテレーション値によってRandomのシード値を決めるのもSortを使えばシュッとしますね。Sortめちゃくちゃ便利です。SpareInputにメタデータを突っ込んで-1で指定していますね。 pic.twitter.com/PiUX8wsHwZ
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
Boolean Surface UnionはSurfaceを指定すれば二次元でもできるみたいです。
この場合もDivideノードでRemoveShared Edgeで要らない線をぶっ飛ばすのは便利ですね。#houdini pic.twitter.com/L3dVTQM4Fb
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
Holeノードはポリゴンに例えばサークルで穴を空けたりできる。又、逆に穴をつぶしたりもできる。という認識。今までBoolean使いがちでしたが、Hole便利そうです。 pic.twitter.com/LkitHp7dXD
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
360/ch("ncy")
ノードのもつ変数をきちんと参照して一行でプロシージャルに済ませるみたいなことを、きちんとできるようになりたいです。こうして人のノードを実際に触って勉強出来る機会がある事が素晴らしいと思います。#YuruHoudini pic.twitter.com/m7Uy0DM8dq
Houdini復習メモ
— Tomo (@TomoDesignST) January 23, 2025
Enumerateも忘れがちでしたが、アトリビュートに番号を簡単にふれるので超便利だと思います。
Houdiniは数字を拾えるので数字を付けられることにメリットがあります。 pic.twitter.com/ON0qvD1qgj
Houdini復習メモ
— Tomo (@TomoDesignST) January 24, 2025
ClipノードのFill Polygons along Clipping Planeのチェックボックスはとても便利ですね。今まで気づかずにPolyfillを挟んでました。断面に面が貼られるのとGroupもつけられるので後々便利です。#houdini pic.twitter.com/HyE0TwnOvd
Houdini復習メモ
— Tomo (@TomoDesignST) January 24, 2025
Joinコマンドで離れている二つの線をつなぐ時に、WrapLast to Firstのチェックボックスをオンにすることでエッジループを補完させて面を張る事ができるのを初めて知りました。#houdini #yuruHoudini pic.twitter.com/gQlGXjvFXp
Houdini復習メモ
— Tomo (@TomoDesignST) January 24, 2025
prim(-1, 0, "restlength", 0)/2
ConvertLineノードのRestLengthプリミティブアトリビュートを拾って半径を算出して円をスケールし、外接する円を並べるというプロシージャルなワークフロー。分割数が増えても対応できるのはシンプルで美しいです。#YuruHoudini #houdini pic.twitter.com/fMAYYQuCId
Houdini復習ノート
— Tomo (@TomoDesignST) January 24, 2025
Addノードはポイントを置くだけではなく、byGroupでポイントをつないだり、By Attributeで同じアトリビュートを持つポイントをそれぞれつないだりできるようで、とても便利です。#houdini pic.twitter.com/uM3SQlUknV
houdini復習メモ
— Tomo (@TomoDesignST) January 24, 2025
quaternion敬遠してましたが、意外とシンプルそうです。
進行方向のN(青)と上方向のupベクトル(緑)があり、例えば、寝てるupベクトルを90度Nを軸に回して起こしたければ、このように書けるようです。https://t.co/pkuuuSG4zahttps://t.co/q7dYUkOMWu#houdini pic.twitter.com/shhWbtp89Y
Houdini復習メモ
— Tomo (@TomoDesignST) January 24, 2025
二種類の曲線の端点合わせにCopytoPointを使うという発想はなかったです。片方を原点にMatchsizeして、もう片方のお尻の点をVEXで取得しておくことで、Group指定で確実に端点を合わせられます。#houdini pic.twitter.com/IbnBSI7Coh
Houdini復習メモ@P += @N * ch("amp");
— Tomo (@TomoDesignST) January 24, 2025
Extendというノードはないと思いますが、単純に端点のtangent方向に均一に伸ばすのであればOrientAlongCurveの後にこの一文でOKですね。接線のベクトルの理解があれば実は簡潔に書けるのはとても勉強になります。#houdini pic.twitter.com/CN1qiK8KT6
Houdini復習メモ
— Tomo (@TomoDesignST) January 24, 2025
DistanceAlongGeometryというノードでサーフェスやカーブの特定の点からの距離をジオメトリに沿って測りアトリビュートに取得する事ができるようです。初めて知りました。#houdinihttps://t.co/Dntm9UGMn0 pic.twitter.com/3vFNKs5ZNA
Houdini復習ノート
— Tomo (@TomoDesignST) January 24, 2025
MinMaxAverageというアトリビュートプロモートの機能を使った分かり易いノードがLabsにある事を知りました。こちらを使うメリットはリンク先に譲ります。https://t.co/4EcwtOV89G#houdini pic.twitter.com/fAq0ieNRjK
houdini復習ノート
— Tomo (@TomoDesignST) January 24, 2025
Chainノードで鎖系のオブジェクトはパターンを作ったら簡単にカーブに沿わせたりできるようです。これは知らないと損です。出会えてよかったです。https://t.co/shCb545sN4#houdini pic.twitter.com/V74sK6L51y
Houdini復習ノート@N = -@P;
— Tomo (@TomoDesignST) January 24, 2025
こういうのに意外と気づかないです。
任意の点から原点に向かうベクトルは@Pの逆ですよね。@Pもベクトル型、、、ため息がでます。#houdini pic.twitter.com/UPRcaz44OR