Houdiniを使っていて、NDCという座標系に触れる機会が増えました。なので、そのメモ。NDCは「Normal Device Cordinates」の略で日本語にすると、標準デバイス座標というらしい。もっと噛み砕いて言うと、カメラを基準にした座標系、だそうです。カメラからのdepthを作ったり、ベクターブラ―を作ったり、ともかくカメラ基準で何かしたいときに重宝してます。カメラの位置が原点で、x座標とy座標は、それぞれカメラに映る領域が0~1の範囲に収まるようになっています(正規化)。Z座標は、カメラから被写体方向にマイナス値で大きくなっていきます。遠ければその[...]
read more
Houdiniノード勉強回。SideFx Labsのツールセットから"Lab Align and Distribute(Beta)"SOP。最近このノードを知りました。機能は、複数のジオメトリを一列に並べてくれるノード。破片やなんかは、Exploded View(SOP)で確認することが多いのですが、場合によってはこちらの方が見やすいのかも。Packedか否かも関係なく並べてくれるのも、楽でいいですね。Labsツールは、更新頻度も高く変更も多いので、ここの情報は下記のバージョンでの話である。----------------------[...]
read more
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。確認環境はMotionBuilder2013です。MotionBuilderでPythonを書き始める際のとっかかりになれば幸いです。名前からオブジェクトを取得for i in FBSystem().Scene.Components: oObj = FBFindModelByName("Cube") print oObj.Name選択をクリア[...]
read more
Houdini回ね。今回はAttribute Wrangle(SOP)を使ってPointを作ります。最終的にはPointを並べてこんな感じのを、と。sin()とcos()が出てくるのであしからず。では早速。まず、AttributeWrangle(SOP)のRun Overの項目を"Detail(only once)"に変更しておきます。Pointを作成するコマンドはaddpoint()を使います。addpoint(geoself(), {0, 1, 0});上のコードで点が1コ作られます。点を作るのはこれだけ。[...]
read more
若干、いまさら感のあるDifferential Curve Growthです。日本語だと・・・なんでしたっけ?Differential Growth系は手法が沢山あるのですが、今回はその中で最も簡単でシンプルな、Relax(SOP)とSolver(SOP)を使う方法を採用しました。めんどくさい処理は全部Relax SOPがやってくれます。わたし好み。いずれ、Differential Growthについてまとめたいなと思っているので、詳細はその時にでも。と、思いましたが、Entagma先生が解説されてましたね。そちら載せときます。他の処理で、少し手[...]
read more
Houdini回。Wrangle(SOP)のVEX例文。メモより抜粋その3。脈絡はないです。あと、時々コードが文字化けしてます。すいません。ローカル変数のマッピングi@test = 0;addvariablename(geoself(), "test", "TEST");自分で作ったアトリビュートをローカル変数として定義する。ここで定義したローカル変数は、このaddvariablenameという関数をサポートしたノードで利用可能らしい。最近の仕様では、あまりローカル変数使わないようになってるんだっけ[...]
read more
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)#メソッ[...]
read more
Contour最後です。今回は作例を二つほど。まずはContour使ったMayaのシェーダー作例。 作例1『mentalrayVertexColors』ノードと『contour_shader_widthfromcolor』を組み合わせて、”不要なContourラインを塗って消せる”、そんなシェーディングネットワークを組んでみようと思います。レシピは、・『mentalrayVertexColors』(頂点カラー取得用)・『surfaceShader』(アサイン用マテリアル)・『contour_shader_widthfromcolor』(マテリアルの色でラインの太[...]
read more
今回は『mip_matteshadow』について調べていこうと思います。このノード、仕事であまり使ったことないんですよね。そのためか、ちらほら分からない所があります。さて『mip_matteshadow』ノードですが、マニュアル的には『useBackground』のすごい版といったところでしょうか。『useBackground』はshadowとReflectionを取得することができますが、『mip_matteshadow』はそれらに加えてAOとIndirectが取得(catch)でき、さらにより詳細な設定することができるノードと認識しています。ただ感覚としては[...]
read more
Houdniレシピ回。今回は、Copyノードを使ったポイントコンストレイントっぽいやつ。Copyノード使ったらくっつきました。こんな感じ↓手抜きじゃないよ!では、また次回。使用バージョン:Houdini13[...]
read more