Houdini:Python memo Part04
ノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdiniで水の表現を模索中wポイント数はおよそ63,000,000。↓画像のように画面のほとんどを水で埋め尽くしました。というのも、FLIP SolverのFeedbackという機能を使いたかったからです。このFeedbackってのを使うと、RBD Object(ここではオレンジ)に水の浮力(密度の差?)の影響を与えることができるそうです。今回は水中でのオレンジの落下減速を再現したくて使ってみました。(最終的にアップした映像にはスローモーションの演出を加えてしまったため、あまり効果を感じられませんでしたがw)Feedback Scaleの値[...]
続きを読む
その1へ その2へ その3へ その4へ その5へ 補足へmia_material、案外分からないパラメータがあって作業中、「ん?これ何だっけ」って時がままあります。特にパラメータの後半。なのでこれを機に一から復習してみました。未だに埋まっていない知識の空白部もあるのですが、備忘録もかね各パラメータについて書いてみました。ここ、ちゃうんちゃう? なんて箇所がありましたら指摘して頂けると嬉しいです。まず、mia_materialは でパス出力可といった感じにできることが増えていきます。ほかのマテリアルで、xとかpassesって名前についている物もだいたいそん[...]
続きを読む
備忘録をかねて。pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。でも、すぐ忘れます。使い方はシンプルi=123print "Hellow World %d" % i#結果#Hellow World 123上の例では、%dの部分が123で置き換えられています。ここで使っている%dは「整数値と入れ替えますよ」の意味。複数を置換する場合は、下のように書きます。[...]
続きを読む
今度は『miss_fast_skin_maya』です。長くなる気がして避けてきたのですが、そろそろ向き合わねばならぬ時がきたか、と。検証にあたって以下のようなシーンを用意しました。Mayaは2012の英語版。ライトはエリアライトでオーソドックスな3点照明。unit単位はcm。比較に置いてある煙草は実寸サイズです。マテリアルの設定で意外にも大事なのはシーンのスケールだったりします。モデルを実寸で作るのか、それとも1/10 or 1/100で作るのかによって調整しなければならないパラメータがあるからです。上のシーンのドラゴンをレンダリングするとこんな感じにな[...]
続きを読む
ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
続きを読む
こんな感じの複数枚で構成されたテクスチャを、Nukeで一枚の大きなテクスチャにする方法を教えてもらいました。「ContactSheet」というノードを使えば、できるようです。似た名前のノードに"Layer ContactSheet"というノードがありますが、こちらはAOVを一覧で確認できるノードですね。私は何となく使っていたのでこの二つの区別が付いてなかったです。ContactSheetノードの使い方は、(1)つなげたい画像をContactSheetノードの入力にガジガジ繋いで、(2)パラメータで解像度と枚数&並びを設定。これでO[...]
続きを読む
Houdini備忘録の回。Houdiniの重いシーンで、「ちょっと今はCook(計算)しないで」って時があります。そんなとき、右下にある、Auto UpdateをManualに変更すると手動更新しない限りCookしないっぽい。"Manual"の場合、更新ボタンを押さない限りシーンはCookされない。ちなみに他のモードはこんな感じ。Auto Update・・・デフォルト。自動でシーンを更新On Mouse Up・・・マウスを放したら更新。スライダぐりぐり変更する時ようかなManual・・・手動Cookモー[...]
続きを読む
以前教えていただいたのに、毎回忘れて調べるのでここに書く。Orientをrotateに変換するVOPの場合orient(bind)を Rotate by Quaternionのquaternionに繋ぎ、qrotateのvecに何かしらのVectorデータを繋ぐ。qrotateにつなぐvectorは、上例の場合vec(0,1,0)としているが、例えば@Nにすれば結構、各ポイントでコントロール可。Wrangleの場合@N = qrotate(@orient, {0,1,0});2022/02/18追記これの活用例。サンプルファイ[...]
続きを読む
Houdiniを使っていて、NDCという座標系に触れる機会が増えました。なので、そのメモ。NDCは「Normal Device Cordinates」の略で日本語にすると、標準デバイス座標というらしい。もっと噛み砕いて言うと、カメラを基準にした座標系、だそうです。カメラからのdepthを作ったり、ベクターブラ―を作ったり、ともかくカメラ基準で何かしたいときに重宝してます。カメラの位置が原点で、x座標とy座標は、それぞれカメラに映る領域が0~1の範囲に収まるようになっています(正規化)。Z座標は、カメラから被写体方向にマイナス値で大きくなっていきます。遠ければその[...]
続きを読むノードあれこれ ノード検索(glob) 名前でノード検索。よく使う。 ノード検索(recursiveGlob) 名前とタイプでノード検索。再帰的に子ノードも検索。 上記サンプルは、任意の名前のカメラを検出する。 hou.nod […]
Houdini Python、ダイアログ系のサンプル。 シェルフにでも張り付けてポチると出てくる・・・たぶんね。 ポップアップメッセージ テキストフィールド付きダイアログ テキストフィールド付きダイアログ(Multi) &nb […]
