[Houdini] Vellum Constraints を読んでみた その11
概要
こちらの続きです
環境
OS: Windows 10
Houdini: 19.0.622
Redshift: redshift_v3.0.62 (たぶん)
一部下記で確認しています
Geforce Game Ready ドライバー 526.98
Houdini 19.0.796 (daily)
Vellum Open CL Error on new install | Forums | SideFX
読んでいく
scale_stretch_constraints
色々やっています
Attach To Geometry かつ Tangent Stiffness が有効なとき 以外
type が attachnormal のときです
@stiffness *= Stretch の Stiffiness の 乗数 をしています
Cloth かつ Enable Warp(縦糸) / Weft(横糸) が有効のとき
warpWeftScale にて、
対象の線分と materialuv 空間上でのx軸がなす角 (degree) を求め、0 ~ 90 に変換します
45度未満、以上で scale の計算式を変えています
その後、logscaleStiffness にて、
stiffness = e^(scale * log(stiffness + 1)) - 1
とします
このとき、負 or +∞ にならないよう clamp しておきます
scale_stretch_constraints
に戻りまして、
stiffness を attribute で scale する場合は反映しつつ
先程と同様に logscaleStiffness も使います
(damping も 同様にここで scale しています)
Stretch の Enable Plasticaly が有効な場合、下記も scale します
(全て attribute での scale です)
- plasticthreshold
- plasticrate
- plastichardening
後続の scale_bend_constraints
では引数を bend のものに変えて、同じ処理をします
Tips
matrix の初期化
どうやらいくつか初期化方法があるようです
3@m1 = 1;
3@m2 = set(1, 2, 3);
3@m3 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
3@m3 = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
参考
primgroupmask
パターンに一致する group名を space 区切りの文字列で取得するやつ
まとめ
これで、 contraint の出力分まで読みました
あとは guide を読めば終わるはず...
何かあれば Twitter までお気軽にどうぞ~ twitter.com