Houdini:Python memo Part04
ノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdini Advect Calendar2018 20日目の記事に投稿します。ビンに水を貯めました。FLIPです。メッシュ化してません。テーマと問題点この作例のテーマは、「水を貯める」です。HoudiniのFLIPでは、水を貯めようとすると、なぜか水かさが減ります。こんな感じ。満タンまで、入れても半分くらいに減っちゃってます。減る割合は一様ではなく、パーティクル一粒のサイズ(Particle Separation)が小さいほど、また水の動きが大きいほど、よく減ります。原因は理解していませんが、このように器の中に水を貯めようとすると必ず減[...]
続きを読む
pymelでは、オペレータを使ってもアトリビュートがコネクトできるらしい。忘れないうちに書いておこう。簡単な例として、CubeとSphereを作成し、それぞれのTranslateをコネクトするスクリプト。#モジュールの読み込みimport pymel.core as pm</pre>#新規でCubeとSphereを作成cb = pm.polyCube(name='testCube')sh = pm.polySphere(name='testSphere')# connect#CubeのTranslateをSphereのTransl[...]
続きを読む
MayaのMentalRay使ったバッチレンダリングでCPUを100%使ってくれない時の対処法。「ニーズあるんじゃないって」、言われたから書きます。※ただし、記事を書くにあたって一切の確認検証をしておりません。記憶を頼りに書きました。間違ってたら指摘して下さい。 方法その1mentalRayのBatch Render Optionを開きます。->□"Parallelism"のRender Threadsがいくつに設定されているか確認します。(上絵の赤枠部分)Auto Render Threadsにチェックが入っているからといって[...]
続きを読む
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)#メソッ[...]
続きを読む
NVIDIA OptiX denoiser!これもHoudini17で気になっていた機能です。レンダ画像から、ノイズを減らしてくれる機能!たしかArnoldでは少し前に実装されてて「いいないいなぁ」と思ってたのですが、ついにHoudiniにもキタ!http://www.sidefx.com/docs/houdini/render/optixdenoiser.html以下、マニュアル見ながらやってみた。1:まずPluginをダウンロードするHoudiniのUIからダウンロードできるようです。メニューの[...]
続きを読む
SweepノードとSkinノードで作るこういうの↓です。では、早速。まず、ガイド&断面の元となるカーブを用意します。ここではガイドのカーブにスパイラルカーブを、断面に円を用意しました。Sweepノードを使うと、ガイドカーブに沿って断面の円を配置することができます↓さらに、skinノードを使うと、これに面を張れます。場所によって太くしたり細くしたりしたいので、vopsop使ってそれを実現してます。(VopSopの中身については後述)最後にCarveノードでにょ~んってやって出来上がり!全体のネットワークは次の通りです。V[...]
続きを読む
Houdini回。Wrangle(SOP)のVEX例文。メモより抜粋その3。脈絡はないです。あと、時々コードが文字化けしてます。すいません。ローカル変数のマッピングi@test = 0;addvariablename(geoself(), "test", "TEST");自分で作ったアトリビュートをローカル変数として定義する。ここで定義したローカル変数は、このaddvariablenameという関数をサポートしたノードで利用可能らしい。最近の仕様では、あまりローカル変数使わないようになってるんだっけ[...]
続きを読む
Houdiniについてくるサンプルファイルの開き方。その11)メインメニューからHelp > Example Fileを選択。1)カテゴリごとにわかれているので、見たいサンプルをポチポチ選ぶ。3)読み込む。Loadは、起動中のHoudiniにサンプルを読み込む。Launchは、新しくHoudiniを起動してサンプルを読み込む。その21)NetWork Viewでノードを選択。2)パラメータエディタ右上の?ボタンを押して、そのノードのHelpをウィンドウを起動。3)ウィンドウの下の方にそのノードに関連したEXAMPLESが[...]
続きを読む
Houdini勉強回。Python SOPに実行ボタンをつける。例として、ボタンを押すと`hogehoge`とメッセージウィンドウを表示するPython SOPを作ります。1:Python SOPを作る & Python Codeを記述するPython(SOP)を作成します。ここでは、簡単なメッセージを表示するPython関数にしました。def message(): hou.ui.displayMessage("hogehoge")2:ボタンを作るボタンを作ります。Edit Parameter[...]
続きを読む
ネタに困ったときの、Houdini小ネタ回!カメラのハンドルツールでフォーカス操作カメラ選択して、ハンドルツール選択。次に、右クリックメニューから"Focus Handle"、もしくはビュー上でZキーでフォーカスを操作可能。赤い四角のハンドルが焦点距離(Focus Point)。その両側にある三角のアイコンの範囲がF-Stopの範囲。視覚的に操作できるので、DOF設定が楽。同様に、右クリックメニューからFrustum HandleでFocal Lenght操作可能。だけど、こっちは使ったことないかなぁ。ワイヤの色が変わるD[...]
続きを読むノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdini Python、ダイアログ系のサンプル。 シェルフにでも張り付けてポチると出てくる・・・たぶんね。 ポップアップメッセージ テキストフィールド付きダイアログ テキストフィールド付きダイアログ(Multi) &nb […]
