Houdiniを使っていて、NDCという座標系に触れる機会が増えました。なので、そのメモ。NDCは「Normal Device Cordinates」の略で日本語にすると、標準デバイス座標というらしい。もっと噛み砕いて言うと、カメラを基準にした座標系、だそうです。カメラからのdepthを作ったり、ベクターブラ―を作ったり、ともかくカメラ基準で何かしたいときに重宝してます。カメラの位置が原点で、x座標とy座標は、それぞれカメラに映る領域が0~1の範囲に収まるようになっています(正規化)。Z座標は、カメラから被写体方向にマイナス値で大きくなっていきます。遠ければその[...]
read more
今回からContour系です。全3回くらいの予定です。Contour(コンター)はオブジェクトの輪郭やなんかを線で描くやつです。設定方法は2種類。RenderSettings側で設定する簡単な方法と、自分でノードを繋いで設定する手間のかかる方法。まずはRenderSettings側で設定する簡単な方法から。ノードと言いつつ、今回はノードじゃないですw上のような画像がレンダリングされるように設定してみます。毎度の事ですが、Mayaは2012の英語版です。日本語版ユーザーの方はご容赦を。step1RenderSettingsの"Enable Co[...]
read more
Houdini回ですぜい。今回は影だけレンダリングする方法。使用バージョン:Houdini13新しくソフトを覚え始めると、こういうのでも困ったりする私です。VEXノード使えばできそうだったので、やってみた。この”ShadowMatteノード”で影だけ取得できるっぽい。この例では、影の色を赤くするために、Constantノードで設定した赤にShadowmatteノードのalphaを乗算してます。・・・だが、しかし!実は、Shadow Matteという、それ用のマテリアルがちゃんと用意されてました。マテリアルのUtilityにShadow Mat[...]
read more
HoudiniのPythonメモ。書き方とかじゃないですよー!バージョンはHoudini15.0.244.16。Python shellの起動!「window」- >「Python Shell」 or 「Alt + Shift + P」コマンドラインっぽいヤツ。1行ずつ書く。Python Source Editor現行のHoudiniセッションからコール出来るクラス、関数、変数を定義出来る。hipファイル依存でpythonを書けるってことかな。[...]
read more
Houdiniメモ。カメラクリップのWrangleを書くのが面倒なので、コピーできるようにココに書いておく。vector _ndc = toNDC("/obj/cam1", @P);float _ox=ch("ox");float _oy=ch("oy");float _oz=ch("oz");if ((_ndc>1+_ox)) removepoint(geoself(), @ptnum); if ((_ndc>1+_oy)) removepoint(ge[...]
read more
Houdini回。前回に引き続き、Fog Rayを作る方法、別解!普通にVolume使ってもFog Ray作れるのでは、と思ってやってみた。アルファめちゃ薄いけど、っぽいものは出来たかなと。以下、手順をStep by Stepで。1:スポットライトを作成する。Fog Rayの光源ですね。基本、この光に照らされた範囲がFog Rayになります。2:Volume(SOP)でFogを作成するFogRayを作りたい領域にFogを作成する。ここでは、安直にVolume(SOP)を使った。普通にBox型でも良いですが、ライ[...]
read more
Houdini回。Cloth系です。忘れては調べてを繰り返すので備忘録も兼ねて。Clothの一部分をターゲットオブジェクトの動きに完全に拘束する。オブジェクトに"pintoanimation"というPointアトリビュートを持たせることで、そのポイントをターゲットポイントに完全拘束出来る。この"pintoanimation"という名前がなぜだか私は覚えられない!ここでは布に見立てたグリッドを用意。ポイントアトリビュートpintoanimationを作り、布のはじっこは値1、それ以外は0にしている。ここでは暫定的にpintoanimation=1に赤、0に[...]
read more
Houdini回。フレームとフレームの間の値が欲しい時があります。上の絵でいうと、1.57613…の小数点以下の部分、0.57613…ですね。この値があると、今、フレームとフレームの間のどのあたりかを知ることができます。この例だと、0.57613…なので、フレーム間のちょうど半分よりすこし次のフレーム寄りだということが分かります。フレーム間を補間するときに便利だったりします。この値をVOPで求めます。ネットワークはfloor(VOP)を使ってこう。floor(VOP)は入力されたFloat値に対して、小数点以下を切り捨てて整数値を返してくれま[...]
read more
Houdini回。頭の体操のごとく、詰将棋を説くがごとく、もぞもぞ作る。そんな日曜日。せっかく作ったので公開!作ったのは以下の3点!以下、作業画面のキャプチャ。以上![...]
read more
記事書くヒマがない!そんな時のためにストックしといたHoudini小技回!Houdiniのちょっとした機能とかそういのです。Mplayに沢山読み込む一つのMplayに異なるシーケンス画像を複数読み込んで比較することが出来る。読み込む際にはメニューのを使う。複数読み込んだら、今度はメニューのからレイアウトを選択。これで複数を同時に表示比較できる。UIのサイズを変更するタブレットとかノートPCとか、4KディスプレイとかでHoudini起動すると、UIが小さすぎたりします。UiサイズはPreferenceの設定から変更で[...]
read more