今回はちょっと変わったネタを。極座標変換についてです。半分、数学です。極座標系とは、ザックリ言うと"角度(θ)"と"距離(r)"で表される座標の事です。下に二次元の直交座標系と極座標系の図を載せてみました。図のように、同じ座標でも直交座標と極座標という二つの方法で表すことが出来きます。同じ一つの場所を異なる座標系で表すことが出来るというのは、時として非常にありがたいことだったりします。直交座標ではややこしい制御も、極座標ならすんなりなんてこともあるかもしれませんからwこの、直交座標系と極座標系を行き来するためには、変換式が必要になります。難しい話は、[...]
read moreHoudini回。Wrangle(SOP)のVEX例文。メモより抜粋、その2。その1はこちら!入力を取得@OpInput1 //1番目の入力@OpInput2 //2番目の入力@OpInput3 //3番目の入力@OpInput4 //4番目の入力アトリビュートを取得とか#1番目の入力のdensityを取得density = findattribval( @OpInput1, "primitive", "name", "density");[...]
read more今日も、Houdiniじゃ!今回は「VOPを用いたポイントの回転方法」を思いつく限り列挙したいと思います。たかが回転!されど回転!ここでは、例として下のようなジオメトリをAttribute VOP(SOP)で回転させてみました。サンプルファイル参照→Rotate_VOP_sample使用したのはAttribute VOP(SOP)、Houdiniのバージョンは14です。Attribute VOPはH13以前はVOP SOPと呼ばれていたノードです。tabメニューから作成する場合は、point vop。その1:Rotateノード[...]
read moreHoudiniノード勉強回。今回取り上げるのは、RBD Constraints From Lines(SOP)。個人的に、いつも使い方を忘れてしまうノードの一つだったりします。ノードで名前の通りRBDシミュレーション用のコンストレイントを作成するノード。RBD Constraints From Line(SOP)マニュアル曰く(意訳)、ビューポート上でラインを引くことで、破片に対してコンストレイントを作成することができるノード。以下、使い方の例。上例では、簡単に板を2枚縦に並べたものを、RBD Material Fracture([...]
read moreHoudini Ver 15.0.244.16Blend Pose機能を覚えたのでメモや。この機能を使って、Mayaでいうところのドリブンキーをやってみたいと思います。こんな感じにSphereとBoxがある状態から始めてみました。Step1 : シェルフのModifyタブ -> Blend PoseシェルフのBlendPoseボタンを押した後、関連付けたいオブジェクトを選択します。最初にtargetオブジェクトを選択、次にdriverオブジェクトを選択。すると、Blen[...]
read moreVimeo行くと大きいのが見れます。MayaのView上ではこんな感じ。機械兵の欠けや、木の凸凹は大部分がディスプレイスメントマップ。ツタは、『Ivy Generator』というソフトを使って。コケっぽいのが欲しかったので、Furで木と地面を覆いました。数種類混ぜようかとも思ったのですが、今回は一種類のみにしました。Furは普通にレンダリングすると時間がかかったので、RenderSettings のPrimary Renderを "Rasterizer(Rapid Motion)"に変更してレンダリングしてます。出力Pas[...]
read moreノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
read moreはい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
read moreまた、Houdini回ですぜ。カメラに映る範囲を確認する方法はないものか!?と思って管理人、頑張って探したこの方法!しかも簡単!青枠がカメラに写ってる範囲ね。ここでは、VDBノード使って可視化してます。From CameraタブのCameraの項目で可視化したいカメラを選んで、Z NearとZ Farにそれぞれカメラのニア/ファー値をリンクさせます。カメラに映る領域がVDB化されたのだと思いますが、これが作業View上に表示されてます。これを応用すると、カメラに映らないボリュームデータをVDB介して消したりできます、はい。その方法は、また[...]
read moremib_amb_occlusionとRampノードを使って、オクルージョンを任意のグラデーションで出力する方法でっす。RampノードとSamplerInfoノードを使ってフレネルっぽい効果を出す方法はよくあるので、今回はその変則ということで。レンダリング画像を先に出すとこんな感じ。パッとみ分かりづらいかもだけど、赤や黄色の部分がオクルージョンの効果が強い部分。青や紫はオクルージョンの効果があまりない部分。mib_amb_occlusionのみだと、通常白黒のグラデーションですが、Rampノードを間に挟むことで任意のグラデーションにすることができます。それを何に使[...]
read more