29
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Houdiniメモ

Last updated at Posted at 2020-07-31

調べた事をメモ。リンク等。
雑にまとめているので、いいかげんなところもあります。

◯KineFXメモ
https://qiita.com/masuki/items/4d6c49e6dcb65936150b

直線から余分なポイントを削除

facet.jpg
Facet SOP
「Remove Inline Points」をチェック。

重なった面を削除

ぴったり重なってしまっているポリゴンを消します。

Clean SOP
Consolidate pointとFix Overlapsにチェック。Delete Overlap Pairsをオフ。

Delete Overlap Pairsがオンの場合は、重なっているポリゴンがすべて消える。

ポリゴンを統合する(外周のポイントは残す)

divide.jpg
Divide SOP
Remove Shared Edgesにチェック。

ポリゴン(平面)外周のcurveを作る

extract_borders.jpg
Labs Extract Borders SOP

オブジェクトの表面に沿ってカーブを描く

draw.jpg
Draw Curve SOP
ProjectionタブのProjectionを「Geometry」にする。

ランダム選択

random.jpg
Labs Random Selection SOP

ランダム分割

lot.jpg
Labs Lot Suvdivision SOP

縦横ランダムに分割する。

外周のエッジをグループ化

group_edge2.jpg
Group SOP
Group Typeを「Edges」に。
Base GroupのEnableのチェックを外す。

Include by EdgesのEnableをチェック。
Min Edge Angleにチェック。

Group Typeを「Primitive」にすると図の右のようになる。

$HIP $JOBの場所

hip.jpg
$HIPは今開いているファイルのある場所
$JOBはprojectを使用している場合、そのprojectの場所

複数ポリゴンを、1つのポリゴンに統合する

repair.jpg
Labs Repair SOP

参考:「Labs Repair / Quadrangulate / Remove Inside Facesノードについて」
https://houdinifx.jp/blog/labs-repair-quadrangulate-remove-inside-faces%e3%83%8e%e3%83%bc%e3%83%89%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6/

Resampleで角が丸くなってしまうのを直す

resample.jpg
パラメータのResample by Polygon Edgeをチェック。

分離したカーブを一つにまとめる

polypath.jpg
Polypath SOP
ポイントは繋がっているのにカーブがバラバラになっている(primitiveが分離している)場合がありますが、
それを一つにまとめます。(重なっているポイントはfuseで統合しておきます)

パラメータから直接バウンディングボックスやattributeを指定する

referrence.jpg
パラメータ右クリック→Reference→SceneData
〇〇SOPの段階のxの最小値最大値とかそういうのを指定できる。他にもいろいろ使えるので便利。

attributeの数値を直接グループに指定する

group_attribute.jpg
グループ欄に「@rand=1」というように入力。
@rand = 0」のようにスペースを開けるのはNGなので注意。

パラメータをピン止めする

pin.jpg
ピン止めしておけば、常にこのパラメータを表示させておけます。

オブジェクトの重心、もしくは中心点にポイントを作成

Extract Centroid SOP
RunOverを「Detail」にする。
Outputを「Attribute」にするとポイントを作らず、centroidという名前のattribute(detail)が作られる。

つながっているプリミティブごと重ならないように整列

align.jpg

Labs Align and Distribute SOP
nameアトリビュートで分ければ、複数プリミティブでまとまったオブジェクトごとに整列することも可能。

ランダムにオブジェクトをコピー(H.18)

Copy to Pointsを使ったランダムコピー。

参考 :
「Houdini:Copy to Points 2.0」
http://nomoreretake.net/2020/02/13/houdinicopy-to-points-2-0/

(H18.5からはAttribute from piecesを使うと良いです)
もうcopystampは使う必要ないかな。使いにくかったし。

UVLayoutを使ってオブジェクトを敷き詰める

UVLayout.jpg
参考: https://vimeo.com/296292351

UVLayoutの**UV Attributeの「uv」を「P」に変える。**その横の「XY Projection」を変えることで向きを指定。

デフォだと1x1の大きさの正方形に収まるように調整される。

○別の形状にオブジェクトを並べる

別の形状を第2インプットに繋ぎ、「Targets」 の「Pack Into」を「Islands From Second Input」に設定。
その下のUV Attributeを「P」に変え、その横の「XY Projection」を変えることで向きを指定。

追加記事:「UVLayoutを使ってオブジェクトを敷き詰める」
https://qiita.com/masuki/items/0069aa201ce25d366fbb

よく使うファイルの場所を保存

file_add2.jpg
ファイル選択画面の下の「+」を押すと今開いているファイルの場所を保存します。

HoudiniでAO

ao3.jpg
Labs calculate occlusion(実際はMask by feature)
お手軽にビューポートにAOを表示できて便利なんですが
肝心のレンダリングに反映されません。(バグ?)

対処法
Outputの「Combined Mask」のチェックをオフにした上で
「Ambient Occlusion」にチェックを入れる。attributeの名前は自由に。
その下にwrangleを繋ぎ「@Cd=@ao;」と入力(@aoの名前は任意)

謎の球体がレンダリングされる現象

ball.jpg
mantraでレンダリングすると時々このような謎の球体がレンダリングされて困る事があります。
これは浮遊したポイントが残っているのが原因で、
Clean SOPでポイントを削除できます。(Remove Unused Pointsにチェック)

Dirt Skirt

Labs Dirt Skirt SOPとは?
dirt_skirt.jpg
オブジェクトと地面の境界に溶接部分のようなオブジェクトを作ります。

選択を保存、グループにする。(グループリスト)

list.jpg
ノード表示枠でShift+Z 。ノードをグループ化し、まとめて選択、表示ができる。
登録はノードを選択してドラッグすればよい。右クリックで追加、削除等

例えばスカートのボーンをすべて選択して、まとめてオンオフとかそういう時に使う。

Ngonをグループ化(VEX)

primvertexcount(0, @primnum) > 4

primvertexcountはプリミティブ内の頂点の数を返す。

例)wrangleノード(RunOverはPrimitives)に

if ( primvertexcount(0, @primnum) > 4){ @group_ngon = 1; }
と書く。

5角形以上の面が「ngon」というgroupになる。

参考:
https://www.sidefx.com/forum/topic/52362/

Vellum

Detangle

Detangleは麺とかパイプ作る時、重なってしまうのを避けるために使ったりする。

後半にdetangleの記事。
https://qiita.com/jyouryuusui/items/2269879e46f9915517ad

ForEach(loop)

foreach.jpg
For-Loop with Feedback 同一オブジェクトに同じ処理を繰り返す
For-Each Primitive プリミティブごとに処理(1ポリごとに処理)
For-Each Point ポイントごとに処理

For-Each Connected Piece 接続されているプリミティブごと(つながっているポリゴンごと)に処理する
For-Each Named Primitive Nameアトリビュートで設定された名前ごとに処理
For-Each Number よくわからない

※nameアトリビュートはnameSOPで設定できる。

Wire Deformの使い方

参考:「Rigging Series 2」1:12:30あたりから
https://youtu.be/vinCWv20Ib4?t=4365

変形アニメーションを〇〇フレームで固定する(SOP内)

Time Shift SOP

初期設定ではエクスプレッションが設定されているので、
「Frame」のパラメータを右クリックし、「Delete Channels」で解除。
固定したいフレーム数を入れる。

BlendShapeと組み合わせることで、どんな変形アニメでもループさせることができる。

オブジェクト階層でobjectmergeに相当するもの

Fetch

キャラクターを動かす際、他のキャラの入っているHDAなりsubset内のオブジェクトをペアレントしたい時に使う。

・ペアレントがうまくいかない場合

ペアレントする前に「Use Parent Transform of Fetched Object」にチェックを入れ、
その後ペアレントをする。後からチェックを入れると、オブジェクトがとんでもない所へ飛んだりする。

オブジェクト表面のポイントにペアレント(H.18)

Constrainsシェルフの「Points」を使う
points.jpg
1.表面にくっつけるオブジェクト(Nullとか)を選択してEnter
2.ペアレントされるオブジェクト(体とか)を選択してEnter
3.オブジェクトのポイントを選択してEnter

※リグに絡めると重くなる場合があるので注意。

ボーンからパスを作る

BoneCaptureLine SOP

Capture Geometryでbiharmonicを使うと生成されるSOP群の一つ。単体でも使える。

「Extra Regions」にボーンの名前をつっこむとラインが作られる。
記述例「 ../../bone1 ../../bone2 ../../bone3 」
UseBoneLinkにチェックを入れる。

29
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?