Houdini Recipe:VDB Advect Points
Houdini Tips! Previously,I posted an aricle that advecting particles by using smoke. this is another Method of that. The […]
前回に引き続き、Houdiniによるスパイラルカーブの作り方。何の役に立つのかは・・・???その②これは、まっすぐなラインを引いて、pointノードでらせん状にしてますね。前回書いた方法と似てます。直線をぐるぐる巻くか、ぐるぐる巻いた円を伸ばすかの違いですね。sinとcos使ってグルグルまわしてます。実はオーソドックスな方法だったりして。Mayaとかでもsinとcos使って螺旋が作れますしね。その③三つ目は、ちょっと違った方法にしてみた。概要を書くと、①箱を用意して、②縦のエッジにあるポイントを[...]
read more
前回に続き、Houdini VEX勉強回。今回は「近接ポイントの情報を取得する」VEX系の関数についてです。近接ポイントとはこの場合、単純に距離の近いポイントのことを指します。近接ポイントを取得するVEX関数は幾つかあります。ここではnearpoint()とnearpoints()を取り上げようとおもいます。表記の違いは名前に"s"があるかないか。まぎらわしい。nearpoint()一番近いポイント番号を取得する。”一番近い”だから、取得するポイントは1コ。最大どこまでの距離を探すか指定する。ポイントが見つからなければ-1。int nearp[...]
read more
BackBurner使ってて、こんな↓表示になった場合に治るかもしれない対処法。INF @ # $ message missing: 1047 $ # @INF @ # $ message missing: 1050 $ # @INF @ # $ message missing: 1205 $ # @INF @ # $ message missing: 1135 $ # @上位バージョンをインストールし、その後下位バージョンをインストールし直した場合、このようなエラーが出るように思います。対処として、以下のパスにある"backburner"フォル[...]
read more
Houdini回。Houdiniにはopから始まるエクスプレッションがたくさんあります。個人的に紛らわしいと思ってるのはopinput~とか、それに類するやつらです。opinputとかopinputpathとか。さらにはop:`opinputpath(".",0)`とか合わせ技っぽいのまで。似たような名前と機能で、モヤモヤしてたのでスッキリさせようと思って取り上げました。opinputpath指定したノードの入力に接続されたノードのフルパスを取得できる。opinputpath("参照ノードのパス", &[...]
read more
Houdini回。個人的に「おっ!?」となったネタ。Polygon→VDB→Polygonでメッシュ化したトポロジ違いのジオメトリになんとなくオリジナルのUVを転送する方法。破壊で重宝しそうと思って。オリジナルこれのUVをトポロジ違いのジオメトリに転送していく。ふつうにAttribute Transfer(SOP)で転送これをVDB from PolygonとConvert VDB使ってトポロジを変更し、Attribute TransferでUVを転送すると、UVがつながったままでぐじゃっとなる。(Convert VDBのTransfer Surface A[...]
read more
Houdini回。今回はこれ。Geometry(OBJ)ノードの真ん中あたりにあるパラメータ↓について。上記のパラメータを"Clean Transform"にすると、状態を維持したまま、数値を強制的に0にすることができる。言い換えると、原点以外の場所を0とみなすことが出来る、ってこと。(Mayaのフリーズって、こんな感じの機能じゃなかったっけかな)このパラメータ、選べる項目が沢山あるので、それぞれ確認してみようと思います。Clean Transform・・・Translate,Rotate,Scaleの3項目すべて、現在の値を0とみなす。[...]
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回ですぜ。カメラに映る範囲を確認する方法はないものか!?と思って管理人、頑張って探したこの方法!しかも簡単!青枠がカメラに写ってる範囲ね。ここでは、VDBノード使って可視化してます。From CameraタブのCameraの項目で可視化したいカメラを選んで、Z NearとZ Farにそれぞれカメラのニア/ファー値をリンクさせます。カメラに映る領域がVDB化されたのだと思いますが、これが作業View上に表示されてます。これを応用すると、カメラに映らないボリュームデータをVDB介して消したりできます、はい。その方法は、また[...]
read more
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。確認環境はMotionBuilder2013です。MotionBuilderでPythonを書き始める際のとっかかりになれば幸いです。名前からオブジェクトを取得for i in FBSystem().Scene.Components: oObj = FBFindModelByName("Cube") print oObj.Name選択をクリア[...]
read more
備忘録をかねて。pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。でも、すぐ忘れます。使い方はシンプルi=123print "Hellow World %d" % i#結果#Hellow World 123上の例では、%dの部分が123で置き換えられています。ここで使っている%dは「整数値と入れ替えますよ」の意味。複数を置換する場合は、下のように書きます。[...]
read moreHoudini Tips! Previously,I posted an aricle that advecting particles by using smoke. this is another Method of that. The […]
