はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
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
Houdiniノード備忘録。Wedgeノード(ROP)同じROPノードを異なる設定で複数回実行できる。以下、使用手順。1:Output Driverで出力したいROPノードを指定指定先のノードの出力パスにWedge変数($WEDGE)もしくはWedgenum変数($WEDGENUM)を入れるのを忘れないように。これないと、出力が上書きされる。●Wedge変数($WEDGE)"Prefix"_"Wedge Parameter Name"_"Wedge Num"."Parameter"で構成される例:`$OS`_$WEDGE.$F4.[...]
read more
今回は、簡単な破壊エフェクトについて手順も踏まえて書いてみようと思います。最終的にこういうのを作ります。出来るヒトは見なくてよろしwここでは事前にジオメトリを破片に分割して、それをシミュレーションするという手順で進めたいと思います。ざっくり書くと、1:ボロノイ分割での破片の作成2:RBD Fractureでシミュレーションです。 1:破片の作成まず、破壊したいオブジェクトを細かい破片に分割します。ここではboxを破片に分割しています。(Houdiniに限らず)破片の分割には、ボロノイという分割方法を使うのが一般[...]
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ネタばかりだったので、時にはMayaネタもと思いまして。久々、Mayaの小技回です。●Mayaで作ったテクスチャを書き出すMaya内部で作成したテクスチャは、ファイルとして出力することができます。例えば、NoiseだとかRampだとかをテクスチャファイルとして保存することが出きるのです。方法は、1:Hypershadeのメニューからオプションで出力イメージの解像度等の設定ができます。または・・・1:書き出したいテクスチャノードをHypershadeで選択2:右クリックメニューから”Render Texture R[...]
read more
Houdini17リリースされましたね。魅力的な機能がたくさんありましたが、その中で地味に新しく搭載されたRetime(SOP)ノードがちょっと衝撃で。Retime(SOP)は"フレーム間の補間"と、"スピードの可変"ができるノードのようです。これまで、TimeBlend(SOP)とTime Shift(SOP)で行ってた機能が、このノードにまとまった感じでしょうか。何がすごいって、"TimeBlend(SOP)とTime Shift(SOP)のコンボ"では難しかった、SOPでのVolumeスロー表現ができるようになってました。以下、17.0のRetime([...]
read more
Houdini回Cureve(SOP)で、あとからコントロールポイントを増やす方法が分からなかったので調べた。答えは、カーブを選択してEnter! & Shiftを押しながら、クリック!途中にポイントを挿入することも、端点からカーブを伸ばすことも出来ました。わざわざ調べたのですが、よくよく見るとView上に書いてた。ちゃんと見なきゃだめですね。以上、また次回![...]
read more
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。確認環境はMotionBuilder2013です。MotionBuilderでPythonを書き始める際のとっかかりになれば幸いです。名前からオブジェクトを取得for i in FBSystem().Scene.Components: oObj = FBFindModelByName("Cube") print oObj.Name選択をクリア[...]
read more