Houdini:Python memo Part04
ノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編2)まずは前回の失敗から。一方向の移動にしか、車輪の回転が実行されませんでした。原因は計算に使ったのがX軸方向の移動距離だけだったからです。他の軸も考慮に入れなければ・・・。そこで管理人、思った。「これは、大変そうだなぁ~」できれば「前回のExpressionをちょっと書き直したらできちゃった」が望ましい。そこで管理人、まじめに思った。「オブジェクトスペースで座[...]
続きを読む
Houdini回。地味な奴です。Edit Parameter interfaceの"Disable When"と"Hide When"のところの条件文の書き方。毎回、忘れるので。マニュアル曰く、”コンディショナルルール”と言うそうです。構文は以下のとおり。大括弧{ }で条件文を囲うらしい。条件がTureになれば、そのパラメータが無効、または非表示になる。大括弧{ }の中に複数条件を書くと&(and)の意味、大括弧{ }を複数書くと|(or)の意味になる。上記の条件だと、「toggleパラメータが1、且つvalueパラメ[...]
続きを読む
Houdini回。図のような領域すべてが1で満たされたVDB Volumeを作る方法。VDB Active(SOP)を使う。ネットワークは下図。VDB Active(SOP)のパラメータ中程に沢山あるパラメータタブから、"Reference"を選択しておく。これで、ネットワーク左上のノードvdb1で定義されてたVDBボリュームが、右上のノードbox1の領域内に、アクティブな状態(値1)で作られる。例えるなら、領域内がすべて煙で均一に満たされた状態。こんなの何に使うのかというと・・・いうと・・・えーと、とにかく使いたいと思ったのです。とにかく、ボクセル[...]
続きを読む
備忘録をかねて。pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。でも、すぐ忘れます。使い方はシンプルi=123print "Hellow World %d" % i#結果#Hellow World 123上の例では、%dの部分が123で置き換えられています。ここで使っている%dは「整数値と入れ替えますよ」の意味。複数を置換する場合は、下のように書きます。[...]
続きを読む
Houdiniサンプルファイル勉強回。今回使うのは、下記のファイル。https://www.sidefx.com/docs/houdini/examples/nodes/sop/vellumsolver/CollisionDisable.html内容は、コリジョンの有効/無効についてとなっております。サンプルファイルの開き方はこちらの記事を参考。絵としては地味ですが、上図では、コリジョン用の球体が最初布にめり込んだ状態でシミュレーションが開始されている。通常であれば、めり込み部分はコリジョンオブジェクトに引っかかったような挙動になるが、ここではそれが回避されている。[...]
続きを読む
前回に引き続き、「user_ibl_env」ノードのパラメータを確認していきます。Texture環境光として使いたいテクスチャをコネクトします。テクスチャが違えば当然ライティングも変わります。Sampleサンプル数。少ないとノイズが出る。デフォルトは0。0だと環境光は計算されないってことなのかな?64以上は欲しいところかな?ColorTextureに色が乗算(?)される。黒だと環境光が無くなる。Intensity強度。デフォルトは1。Shadow Mode0=影なし。 1=ソリッド。 2=透明。Ro[...]
続きを読む
前回に続き、Houdini VEX勉強回。今回は「近接ポイントの情報を取得する」VEX系の関数についてです。近接ポイントとはこの場合、単純に距離の近いポイントのことを指します。近接ポイントを取得するVEX関数は幾つかあります。ここではnearpoint()とnearpoints()を取り上げようとおもいます。表記の違いは名前に"s"があるかないか。まぎらわしい。nearpoint()一番近いポイント番号を取得する。”一番近い”だから、取得するポイントは1コ。最大どこまでの距離を探すか指定する。ポイントが見つからなければ-1。int nearp[...]
続きを読む
Houdini回。個人的に「おっ!?」となったネタ。Polygon→VDB→Polygonでメッシュ化したトポロジ違いのジオメトリになんとなくオリジナルのUVを転送する方法。破壊で重宝しそうと思って。オリジナルこれのUVをトポロジ違いのジオメトリに転送していく。ふつうにAttribute Transfer(SOP)で転送これをVDB from PolygonとConvert VDB使ってトポロジを変更し、Attribute TransferでUVを転送すると、UVがつながったままでぐじゃっとなる。(Convert VDBのTransfer Surface A[...]
続きを読む
ShadingSwitchノードについて。このShadingSwitchノード、ひとことで切って捨てると『ジオメトリごとに出力を切り替えるノード』です。出力のチャンネル数ごとに、Single、Double、Triple、Quadと4種類のSwitchノードが存在します。Singleなら1チャンネル。単純にスカラ値。アルファの切り替えなどに使えるのでしょうか。Doubleなら2チャンネル。2チャンネルの代表はUVかな。Tripleなら3チャンネル。XYZ、RGB、UVWとかは3チャンネルですね。Quadなら4チャンネル。RGBAくらいしか思いつきません。これら[...]
続きを読むノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdini Python、ダイアログ系のサンプル。 シェルフにでも張り付けてポチると出てくる・・・たぶんね。 ポップアップメッセージ テキストフィールド付きダイアログ テキストフィールド付きダイアログ(Multi) &nb […]
