Houdini回。コンストレイント系SOPノードの続き。RBD Constraints From Curves(SOP)。RBD Constraints From Curves(SOP)マニュアル曰く(意訳)、”ビューポート上でカーブを描いて、そのカーブから特定の範囲内にあるピースのジオメトリ上のポイントにコンストレイントを作成します。また4番目の入力にカーブを繋いで、それを使用することも出来る。カーブができたら、コンストレイントタイプを決めたり、セットアップをします。”基本は、RBD Constraints From Line(SOP)と同じで、ビューポートで[...]
read more
Houdini、こんなノードがあったのか回!Enumerate(SOP)というノード。このノード、ポイント、またはプリミティブに連続したアトリビュートを作成してくれるノードだそうです。例えば、パラメータのGroup Typeを"Points"に変更、Attributeに"id"と記述して、任意のジオメトリにコネクトする。結果、ジオメトリを構成する各ポイントにidアトリビュートが作成され、0から順番に数字が割り当てられる。・・・へ~パラメータにはグループ指定の項目があり、特定のグループのみにidを割り当てることも出来る。まとめると、これはID的なアトリビュ[...]
read more
以前教えていただいたのに、毎回忘れて調べるのでここに書く。Orientをrotateに変換するVOPの場合orient(bind)を Rotate by Quaternionのquaternionに繋ぎ、qrotateのvecに何かしらのVectorデータを繋ぐ。qrotateにつなぐvectorは、上例の場合vec(0,1,0)としているが、例えば@Nにすれば結構、各ポイントでコントロール可。Wrangleの場合@N = qrotate(@orient, {0,1,0});2022/02/18追記これの活用例。サンプルファイ[...]
read more
Houdiniで迷路生成。前回とはまた違った手法で作ってみました。これHoudini上でのプレビュー。前回は通路を掘り進んでゆくような手法でしたが、今回は壁を構築してゆく手法です。この手法もいろいろやり方があるようですが、ここでは一番簡単そうなのを選びました。 図のようなグリッドで考える。まずグリッドの外側のマスに壁(緑)を、内側に1マス間隔でスタート地点(赤)を配置する。 スタート地点(赤)からランダムなマスを選択する。 現在のマスで上下左右の方向をランダムに選び、その方向の2マス先までを壁にして移動。 3を繰り返す 既存の壁[...]
read more
備忘録をかねて。pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。でも、すぐ忘れます。使い方はシンプルi=123print "Hellow World %d" % i#結果#Hellow World 123上の例では、%dの部分が123で置き換えられています。ここで使っている%dは「整数値と入れ替えますよ」の意味。複数を置換する場合は、下のように書きます。[...]
read more
またtoxik回です。ニーズが多くないのは知ってるんですけどねぇ~。今回はPXLノード。"PXL"とはPixel eXpression Languageの略だそうです。(頭文字ってわけじゃないのね)ひとことで言うと、スクリプト書いたらピクセル単位で絵を操作できるよ”っていうノードです。なのでプログラム&算数の知識が要求されます。たとえば、AEでいうフラクタルノイズなんかはコレで作れます。実は、『Toxikでフラクタルノイズ作るにはどうしたらいいですかね』って質問したら、『これ使えばいいよ』って教えてもらったのです。しかしExpression書[...]
read more
Houdini Ver 15.0.244.16Blend Pose機能を覚えたのでメモや。この機能を使って、Mayaでいうところのドリブンキーをやってみたいと思います。こんな感じにSphereとBoxがある状態から始めてみました。Step1 : シェルフのModifyタブ -> Blend PoseシェルフのBlendPoseボタンを押した後、関連付けたいオブジェクトを選択します。最初にtargetオブジェクトを選択、次にdriverオブジェクトを選択。すると、Blen[...]
read more
Houdini回。VEXです。今回は、評価ポイントからN番目に近いポイントを取得する方法です。評価ポイントから2番目に近いポイントや、5番目に近いポイントを取得するってことです。以前、Noiseについて調べた時の副産物だったりします。N番目の前に、もっとも近いポイントの探し方から。これはnearpoint(VEX)を使うことでわかる。もっとも近いポイントの番号を教えてくれます。下のは、それを使ってWorleyノイズを作ってるとこ。ではN番目に近いポイントを取得するにはどうすればよいのか。PointCloudOpen(VEX)とPoint Cl[...]
read more
Houdiniカスタマイズ回。FBresというファイルを変更すると、Mantraノードや、カメラのResolusionプリセットを変えることができる。Houdini起動時に、環境変数HOUDINI_PATHで指定されたパスのFBresファイルを参照します(たぶん)HOUDINI_PATHが設定されてない場合は、$HOME/houdinixx.xを参照します(たぶん)(デフォルトだとHOUDINI_PATHは設定されてなかった気がします)($HOMEはwindowsの場合は、"C:\Users\<username>\Documents\"かな)[...]
read more
Houdini勉強回。Python SOPに実行ボタンをつける。例として、ボタンを押すと`hogehoge`とメッセージウィンドウを表示するPython SOPを作ります。1:Python SOPを作る & Python Codeを記述するPython(SOP)を作成します。ここでは、簡単なメッセージを表示するPython関数にしました。def message(): hou.ui.displayMessage("hogehoge")2:ボタンを作るボタンを作ります。Edit Parameter[...]
read more