Houdini:Python memo Part04
ノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdiniノード勉強回。Path Deform(SOP)。カーブに沿った変型をしてくれるノード。とっても便利。変型だけでなくカーブに沿った移動もしてくれる。複数のカーブにも対応しているのもうれしい点。またオフセットのタイミングもアトリビュートで個別に制御出来るし、当然のようにScaleとRotateにも対応している。優秀。これはもう、動かせるcopyノードと言ってもよいのでは。使い方はいたって簡単で、1番目の入力に変型させたいジオメトリ、2番目の入力にカーブを繋ぐだけ。パラメータの詳細はドキュメント参照。作例として次のよう[...]
続きを読むここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
続きを読む
Houdini勉強回。本日は、ビューポート上でのVolumeの表示について。上図のようにビューポート上のボリュームの表示解像度はデフォルトで低解像度で表示されるようになっています。これが、低解像度すぎて辛いことがあります。この表示解像度を上げるオプションについて、以下その方法。1:ビューポート上で、"Dキー"を押して、Display Optionsを表示2:Display Optionsの"Texture"タブにある、3D Texturesの項目。このLimit Resolutionの値を上げると、ビューポート上のボリュームの解像度が上がりま[...]
続きを読む
Houdini:Eplosion WIPオーソドックスに爆発キノコ作ってみました。Houdini Previewこのくらいになりました。ウチのマシンだと、このあたりでメモリ使いきっちゃいました。これ以上のボクセル数はシミュレーション分割しなきゃメモリ不足じゃ。パスは少なめです。[...]
続きを読む
Houdiniノード勉強回。今回は、"POP Proximity DOP"ノード。見たことあるけど使ったことないノード。Proximityとは日本語で「近接」を意味する言葉です。つまりPOP Proximity DOPはパーティクルの近接ポイントに関する情報を生成してくれるノードです。ほとんど使ったことないノードだったのですが実際に使ってみると、意外と有用なノードかもという印象。食わず嫌いはよくないなと。反省。こんな感じに、POPネットワークに組み込むと、nearest, nearestdist, numproximityといったアト[...]
続きを読む
FBrenderというファイルを変更すると、レンダリング時の出力先のプリセットを追加変更することができる。以前書いたFBresと同様、Houdini起動時に環境変数HOUDINI_PATHで指定されたパスにあるOPmenuファイルを参照します(たぶん)HOUDINI_PATHが設定されていなければ、$HOME/houdinixx.xを参照します(たぶん)参照先のパスに、OPmenuファイルがない場合は、"Opmenu"ファイルを作成して中身書きます(拡張子なし)$HHにファイルフォーマットの参考があります。ためしに、$HHにあるFBrenderを開いてみ[...]
続きを読む
夜な夜なこんなのを作ってました。作業画面はこんな感じです。元ネタはこちら。サクッと作れて面白かったです。以下余談。最近、レンダリングにはKarmaのXPUレンダリングを使っているのですが、非常に早くていいですね。このくらいなら、Full HDサイズでも1枚30秒くらいで終わるので、おうちマシン使っても計240フレームが2時間くらいで吐き出されます。Mantraなら1枚3~5分くらい、Redshiftでも1枚1~2分くらいかかっていたイメージなので、ずいぶん早くなったなと。この手のテクノロジー進化は、時間節約になるので非常に有難いですね。[...]
続きを読む
Houdini python memo! ver 15.0.244.16 はじめにimport hou#/objに"geo1"という名前のgeoノードを作る。oGeo = hou.node('/obj').createNode('geo','geo1')#/obj/geo1を取得oNode = hou.node('/obj/geo1')#選択したノードを取得(配列で)oNodes = hou.selectedNodes()oNode = oNodes#使えるメソッド一覧dir(oNode)#メソッ[...]
続きを読む
「気晴らしに 作ってみました 無限ループその2」 いっぱい字余り。こんなの作ってる場合じゃないんだけど、気が付いたら手が勝手に作ってた。ぷるぷるは、Balloon設定のVellum。あとRedshiftでのSSSと、ジオメトリライトも確認もかねて使ってみました。緑色の”ぷるぷる”を、ほんのり光源にしてます。レンダリング早いは早いけど、そこそこ時間かかった。いや、Mantraよりずっと早かったんだけどね。GPUメモリが足りてない印象。横着せずにプロキシ化すれば早くなったかなぁ。そろそろ、雰囲気だけで設定するのが難しくなってきたので、マニュアルを読まねば[...]
続きを読む
Houdini回。Wrangle(SOP)のVEX例文。メモより抜粋その3。脈絡はないです。あと、時々コードが文字化けしてます。すいません。ローカル変数のマッピングi@test = 0;addvariablename(geoself(), "test", "TEST");自分で作ったアトリビュートをローカル変数として定義する。ここで定義したローカル変数は、このaddvariablenameという関数をサポートしたノードで利用可能らしい。最近の仕様では、あまりローカル変数使わないようになってるんだっけ[...]
続きを読むノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdini Python、ダイアログ系のサンプル。 シェルフにでも張り付けてポチると出てくる・・・たぶんね。 ポップアップメッセージ テキストフィールド付きダイアログ テキストフィールド付きダイアログ(Multi) &nb […]
