Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
read more
toxikノード解説回です。今回は"Merge Streams"と"Extract Streams"の2つです。セットで使うことが多いと思うのであわせて解説です。Streamsとは、処理ラインとでもいいましょうか。複数の素材で、まとめて同じ処理をしたい場合、"Merge Streamsノード"を使うことで一旦ひとまとめにすることができます。処理後に再び素材をバラバラに分けるとき、"Extract Streamsノード"を使います。どんな時にこのノードを使うかと言うと、たとえば立体視の映像で右目用と左目用の画像をカラコレする際に、一旦"Merge Stream[...]
read more
Houdini回!Houdini16で新しく付いたノード、Boolean(SOP)とCompile(SOP)を使ってみました。円柱を縦にスライスして、波打つ箱で削り取ったもの。ネットワークこんな。黄色いエリアがCompile Block。便利、だけど対応してないノードとかローカル変数使えないとかまだ制約が多くて、組むのに頭使う。今回これだけ、以上!サンプルファイルはこちら→BooleanCompile.hip[...]
read more
ネタに困ったときの、Houdini小ネタ回!カメラのハンドルツールでフォーカス操作カメラ選択して、ハンドルツール選択。次に、右クリックメニューから"Focus Handle"、もしくはビュー上でZキーでフォーカスを操作可能。赤い四角のハンドルが焦点距離(Focus Point)。その両側にある三角のアイコンの範囲がF-Stopの範囲。視覚的に操作できるので、DOF設定が楽。同様に、右クリックメニューからFrustum HandleでFocal Lenght操作可能。だけど、こっちは使ったことないかなぁ。ワイヤの色が変わるD[...]
read more
Houdiniノード勉強回。今回は、"POP Proximity DOP"ノード。見たことあるけど使ったことないノード。Proximityとは日本語で「近接」を意味する言葉です。つまりPOP Proximity DOPはパーティクルの近接ポイントに関する情報を生成してくれるノードです。ほとんど使ったことないノードだったのですが実際に使ってみると、意外と有用なノードかもという印象。食わず嫌いはよくないなと。反省。こんな感じに、POPネットワークに組み込むと、nearest, nearestdist, numproximityといったアト[...]
read more
なんてことだ。記事を消してしまったようだ。なので、もう一度書き直します。Mayaのpymelでアトリビュートを調べる際はlistAttr()をつかい、メソッドを調べる際は、dir()を使う。import pymel.core as pmoObj = pm.polyCylinder(n="Cylinder", r=5, h=1,sz=1)print "アトリビュートのリスト↓"print pm.listAttr(oObj)print "使えるメソッド↓"print [...]
read more
Houdini回です。今回はカーブの接線(tangent)を取得方法を幾つか。調べて忘れて調べてを繰り返すので、備忘録も兼ねて。polyFrame(SOP)で接線を取得polyFrame(SOP)を使うと、「Normal(法線)」「Tangent(接線)」「Bitangent(従法線)」を取得することができます。下の青線がNormal(法線)、黄色線がTangent(接線)、赤いのがBitangent(従法線)。接線だけが欲しい場合はTangentだけ有効にしとけばOKStyleの設定で、平滑化[...]
read more
前回に続き、Houdini VEX勉強回。今回は「近接ポイントの情報を取得する」VEX系の関数についてです。近接ポイントとはこの場合、単純に距離の近いポイントのことを指します。近接ポイントを取得するVEX関数は幾つかあります。ここではnearpoint()とnearpoints()を取り上げようとおもいます。表記の違いは名前に"s"があるかないか。まぎらわしい。nearpoint()一番近いポイント番号を取得する。”一番近い”だから、取得するポイントは1コ。最大どこまでの距離を探すか指定する。ポイントが見つからなければ-1。int nearp[...]
read more
久々更新Houdini回。マニュアル読んでて、ちょっとおもしろいなと思ったので。なんでもビューポートに働きかけるDetailアトリビュートがあるそうな。まず、gl_wireframe。float型のアトリビュートで、0以外の値の場合、そのオブジェクトはシーンビューで常にワイヤーフレーム表示になるそうな。やってみた。単純な球体にwrangleでgl_wireframeというDetailアトリビュートを追加。すると、シーンビューがシェーディング表示になっていても、そのオブジェクトはワイヤーフレーム表示になる。へ~もうひ[...]
read more