Houdini勉強回。前回、MatchSize(SOP)について取り上げましたが、そこで紹介しなかった機能があります。それが、Restore/Stash Transformのパラメータです。これらを使うことで、MatchSize(ROP)による原点への移動値をアトリビュートとして保持したり、逆にアトリビュートをもとに移動することができます。以下のようなネットワークで、ジオメトリ(任意座標)を原点に移動、Twistをかけて、元の位置に戻す、というものです。(1):MatchSize(SOP)で原点に移動。パラメータ"Stash Transform"を有効に[...]
read more
Houdini勉強中につき私的メモからの抜粋システム単位とグリッドについてのメモ。システム単位についてマニュアル曰く、「Houdiniダイナミックスはキログラム、メートル、秒の単位を使う」とのこと。システム単位を確認&変更する場合は、Unit Lenght(m)=1Unit Mass(kg) =1Houdini先生が、"長さ1"って言ったらそれは1メートルのことで、"重さ1"って言ったら1kgのこと。例えばデフォルトでSphereを作成すると、radius=1の球ができる、これは半径1mの球。boxを作成すると、siz[...]
read more
車輪リグ考察。前回、フレーム単位で移動距離から回転角を求める方法を試しました。大旨よさげだったのですが、しかし、どうもうまくいかない場合がありました。車輪がスライドした場合です。進行方向ではない向きの移動も回転計算に含んでいるのが原因です。移動ベクトルから、進行方向のベクトルのみ抽出できれば良いのですが・・・。 要約すると。はて、どうしたものか。でいろいろ調べた結果、”内積”使うと良いのでは、と。内積についてはこちらのサイトを参考にしました。難しい話はそちらに任せるとして、前回の考え方に、この内積を組み込んだものをMayaで実装しました。[...]
read more
Houdini回。今回はこういうヤツ。パーティクルに板を貼り付けたもので、マテリアルとテクスチャ連番画像は共通。テクスチャのシーケンス番号に対する値をパーティクルごと個別に設定しています。簡単にできるとおもってたら思いの外手間取ってしまって。いくつか試して、最終的にinline Code(VOP)を使う方法に落ち着きました。inline Code(VEX)はVOP内でVEXが書けるノードです。このノードの詳しい解説はまたの機会に回すとして、やってる事はシェーダー側でのテクスチャパスの作成です。シェーダー側で使うテクスチャのフレーム番号は、事前にPri[...]
read more
Houdini回。Bound(SOP)にある"Oriented Bounding Box"というオプション、恥ずかしながら最近存在を知りまして。有効にするとBounding Boxが入力に合わせて傾く。※わかりやすくするため入力のジオメトリ(豚)を表示し、BoundingBoxを透明にしています。BoundingBoxは傾かないものという思い込みがあったので、この設定があることを知った時にビックリしたのです。よくよく考えてみれば別段驚くほどのことでもないのですが、そう思い込んでいたので、はい。単に、BoundingBoxを作るだけでなく、作成したBoun[...]
read more
Houdini Advent Calender2018 12月12日枠に参加!RBD Packed ObjectのAcitve制御と初速度の継承について、いくつかの方法をPick Upしてみました。試しにこんなのを作ります。以前、「徐々に壊れる破片」についての記事を書きましたが、これはその応用で、各破片がActiveになった瞬間に吹っ飛ぶシミュレーションです。吹っ飛ぶためには初速度が必要なのですが、それは元ジオメトリに速度vとしてあらかじめ設定したものを継承して使います。このようなシミュレーションを行う方法はいくつかあるので、それらをまとめて紹介するのがこの[...]
read more
最近、めっきりHoudiniな人の管理人、今日もHoudini回です。使用バージョン:Houdini13今回は、Houdiniの選択の拡張方法をいくつか。まず、ビューポート上で選択を拡張する方法は、管理人が知ってるだけで2種類。A : 頂点やエッジ等を選択しての、”Shift + G”!B : 頂点やエッジ等を選択しての、コンポーネント?(頂点とかエッジとか)切り替え。(例、キーボードの2と3を交互とか)次に、ネットワークでノード使って拡張する方法。上記Bをネットワークで組んであげるます。コンポーネント?のコンバートには、groupノードを使いま[...]
read more
今度は『miss_fast_skin_maya』です。長くなる気がして避けてきたのですが、そろそろ向き合わねばならぬ時がきたか、と。検証にあたって以下のようなシーンを用意しました。Mayaは2012の英語版。ライトはエリアライトでオーソドックスな3点照明。unit単位はcm。比較に置いてある煙草は実寸サイズです。マテリアルの設定で意外にも大事なのはシーンのスケールだったりします。モデルを実寸で作るのか、それとも1/10 or 1/100で作るのかによって調整しなければならないパラメータがあるからです。上のシーンのドラゴンをレンダリングするとこんな感じにな[...]
read more
Houdini python memo! ver 15.0.244.16 はじめにimport hou#/objに"geo1"という名前のgeoノードを作る。oGeo = hou.node('/obj').createNode('geo','geo1')#/obj/geo1を取得oNode = hou.node('/obj/geo1')#選択したノードを取得(配列で)oNodes = hou.selectedNodes()oNode = oNodes#使えるメソッド一覧dir(oNode)#メソッ[...]
read more
今回はちょっと変わったネタを。極座標変換についてです。半分、数学です。極座標系とは、ザックリ言うと"角度(θ)"と"距離(r)"で表される座標の事です。下に二次元の直交座標系と極座標系の図を載せてみました。図のように、同じ座標でも直交座標と極座標という二つの方法で表すことが出来きます。同じ一つの場所を異なる座標系で表すことが出来るというのは、時として非常にありがたいことだったりします。直交座標ではややこしい制御も、極座標ならすんなりなんてこともあるかもしれませんからwこの、直交座標系と極座標系を行き来するためには、変換式が必要になります。難しい話は、[...]
read more