最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。確認環境はMotionBuilder2013です。MotionBuilderでPythonを書き始める際のとっかかりになれば幸いです。名前からオブジェクトを取得for i in FBSystem().Scene.Components: oObj = FBFindModelByName("Cube") print oObj.Name選択をクリア[...]
read more
それでは前回に引き続き、『writeToColorBuffer』についてやっていきたいと思います。今回は、『writeToColorBuffer』のいろんなコネクション例をいくつか見ていきたいと思います。シーンは前回と一緒です。pass出力一つ目の例ではmia_material_x_passesからrawやらlevelやらいろいろ+αPass出してみます。mia_materialからこれだけのPassを書き出してみました。・AO_pass ・Dif_level ・Dif_raw ・Indirect_Pass ・Ref_level_Poas ・Ref_[...]
read more
Houdini回。フレームとフレームの間の値が欲しい時があります。上の絵でいうと、1.57613…の小数点以下の部分、0.57613…ですね。この値があると、今、フレームとフレームの間のどのあたりかを知ることができます。この例だと、0.57613…なので、フレーム間のちょうど半分よりすこし次のフレーム寄りだということが分かります。フレーム間を補間するときに便利だったりします。この値をVOPで求めます。ネットワークはfloor(VOP)を使ってこう。floor(VOP)は入力されたFloat値に対して、小数点以下を切り捨てて整数値を返してくれま[...]
read more
Houdini Python、ダイアログ系のサンプル。シェルフにでも張り付けてポチると出てくる・・・たぶんね。ポップアップメッセージhou.ui.displayMessage("hoge")テキストフィールド付きダイアログimport houDialog = hou.ui.readInput(message ="Text Field Dialog\n",title = "TextField Dialog",severity=hou.severityType.Warning,b[...]
read more
こんなノードがあったのか回。先日、Graph Color(SOP)なるノードを見つけて、「あぁ、また知らないノードが・・・」となったので、書いてみた次第です。Houdini17.0で追加されたノードのようです。Graph Color(SOP)を使うと、図のように、隣り合ったコンポーネント(ポリゴンやポイントなど)が同じ色にならないように塗り分けることができます。要は、隣り合った要素が異なる色になるよう設定してくれるノードです。実際は、色ではなく整数アトリビュートが割り振られます。ここでは、それを視認できるように色付けしています。注意点というか特徴としては、”隣り[...]
read more
Houdiniサンプルファイル勉強回。今回使うのは、下記のファイル。https://www.sidefx.com/docs/houdini/examples/nodes/sop/vellumsolver/CollisionDisable.html内容は、コリジョンの有効/無効についてとなっております。サンプルファイルの開き方はこちらの記事を参考。絵としては地味ですが、上図では、コリジョン用の球体が最初布にめり込んだ状態でシミュレーションが開始されている。通常であれば、めり込み部分はコリジョンオブジェクトに引っかかったような挙動になるが、ここではそれが回避されている。[...]
read more
Houdiniノード勉強回。Match Size(SOP)ノードを使うと、容易にオブジェクトを原点に配置できることを、最近知りました。使い方は簡単、Match Size(SOP)にジオメトリを繋ぐだけ。”原点に配置”したいって時、けっこうあるので、「ノードいっこで簡単にできたのか!」、と思った次第でした。Transform(SOP)のパラメータにある"Move Centroid to Origin"でも、ジオメトリを原点に配置できるのですが、それだとプロシージャルでないし(異なるジオメトリに適応できない)、かといってExpressionを書くのも面倒くさい。なので、[...]
read more
Houdini回。頭の体操のごとく、詰将棋を説くがごとく、もぞもぞ作る。そんな日曜日。せっかく作ったので公開!作ったのは以下の3点!以下、作業画面のキャプチャ。以上![...]
read more
夜な夜なこんなのを作ってました。この記事はこんなの作ったよ~、くらいの内容です。悪しからず。破片の置換の応用です。「形が似てるなら、ポリゴン以外も置換できるな」とふと思い、手始めに煙で作ってみた次第です。以下、ネットワーク抜粋です。手順は以下の通り。A:煙のSIM読み込みB:煙にリタイムをかけて、箱を満たした辺りでストップするC:煙にNameアトリビュート(point)を付与。このNameは、"D"工程のNameと一致させておく。D:箱を落とすシミュレーションする。(Packed)E:煙の位置を箱の位置と一致させる。F:箱と煙を置[...]
read more