Houdini:ネットワークをシェルフに登録する
最近知ったTips。 シェルフにノードがまるっと登録出来る! Network Viewから、登録したいネットワークをまるっと選択して、シェルフにドラッグするだけ。 登録に際し、なんかウィンドウが出るけど取り敢えずAcceptでおk. シェル […]
Houdini"こんなシェルフがあったのか回"。先日、シェルフに"Bake Constraint"なるシェルフを見つけて吃驚しました。シェルフの"Constraints"タブにありました。いつから、追加されたのだろう。名前の通り、CHOPsで作られたコンストレイントの動きをキーフレームにベイクしてくれる機能のようですね。例えば、こんな感じに球体の周囲を回る箱を作って、箱は常に球体の方を向くようにコンストレイントを設定したとします。Bake Constraintの使い方は簡単。ベイクしたいオブジェクトを選択して、シェルフボタンを押すだけ[...]
続きを読む
Houdini回。今回はこういうヤツ。パーティクルに板を貼り付けたもので、マテリアルとテクスチャ連番画像は共通。テクスチャのシーケンス番号に対する値をパーティクルごと個別に設定しています。簡単にできるとおもってたら思いの外手間取ってしまって。いくつか試して、最終的にinline Code(VOP)を使う方法に落ち着きました。inline Code(VEX)はVOP内でVEXが書けるノードです。このノードの詳しい解説はまたの機会に回すとして、やってる事はシェーダー側でのテクスチャパスの作成です。シェーダー側で使うテクスチャのフレーム番号は、事前にPri[...]
続きを読む
今日も、Houdiniじゃ!今回は「VOPを用いたポイントの回転方法」を思いつく限り列挙したいと思います。たかが回転!されど回転!ここでは、例として下のようなジオメトリをAttribute VOP(SOP)で回転させてみました。サンプルファイル参照→Rotate_VOP_sample使用したのはAttribute VOP(SOP)、Houdiniのバージョンは14です。Attribute VOPはH13以前はVOP SOPと呼ばれていたノードです。tabメニューから作成する場合は、point vop。その1:Rotateノード[...]
続きを読む
Houdiniノード勉強回。今回は、Crease(SOP)とSubdivide(SOP)のコンボについて。Subdivide(SOP)は、こんな感じにメッシュを細かく分割し更になめらかにしてくれるノードです。使用頻度の高いノードではないかと思います。Crease(SOP)は、Subdivide(SOP)とセットで使用することが前提のノードです。Crease(SOP)はSubdivide(SOP)よりも前工程で適用しておく必要があります。Crease(SOP)を使うと、任意のエッジをSubdivide(SOP)適用後も、鋭角さを保つことが可能です。例えば以下の[...]
続きを読む
それでは前回に引き続き、『writeToColorBuffer』についてやっていきたいと思います。今回は、『writeToColorBuffer』のいろんなコネクション例をいくつか見ていきたいと思います。シーンは前回と一緒です。pass出力一つ目の例ではmia_material_x_passesからrawやらlevelやらいろいろ+αPass出してみます。mia_materialからこれだけのPassを書き出してみました。・AO_pass ・Dif_level ・Dif_raw ・Indirect_Pass ・Ref_level_Poas ・Ref_[...]
続きを読む
Houdini回。Wrangle(SOP)のVEX例文。メモより抜粋その3。脈絡はないです。あと、時々コードが文字化けしてます。すいません。ローカル変数のマッピングi@test = 0;addvariablename(geoself(), "test", "TEST");自分で作ったアトリビュートをローカル変数として定義する。ここで定義したローカル変数は、このaddvariablenameという関数をサポートしたノードで利用可能らしい。最近の仕様では、あまりローカル変数使わないようになってるんだっけ[...]
続きを読む
以前教えていただいたのに、毎回忘れて調べるのでここに書く。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追記これの活用例。サンプルファイ[...]
続きを読むここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
続きを読む
こんな感じの複数枚で構成されたテクスチャを、Nukeで一枚の大きなテクスチャにする方法を教えてもらいました。「ContactSheet」というノードを使えば、できるようです。似た名前のノードに"Layer ContactSheet"というノードがありますが、こちらはAOVを一覧で確認できるノードですね。私は何となく使っていたのでこの二つの区別が付いてなかったです。ContactSheetノードの使い方は、(1)つなげたい画像をContactSheetノードの入力にガジガジ繋いで、(2)パラメータで解像度と枚数&並びを設定。これでO[...]
続きを読む
では、前回に引き続きSamplerInfoノードのAttributeを見ていきたいと思います。今回はUv Coodから。Uv CoodUV座標を取得できます。ただし、座標は0,0から1,1の範囲。これも前回までと同じように色情報に置き換えて確認してみましょう。U座標を赤に、V座標を緑にコネクションしてレンダリングしてみました。こんな感じ。SamplerInfoノードでUvCoodを取得すること自体が私はあまりないので、実際どう使うのか良い例が出てきません。Nukuとかでコンポジットするようなら使うかも。Nuke上でテクスチャも張れるんでしたっけ?[...]
続きを読む最近知ったTips。 シェルフにノードがまるっと登録出来る! Network Viewから、登録したいネットワークをまるっと選択して、シェルフにドラッグするだけ。 登録に際し、なんかウィンドウが出るけど取り敢えずAcceptでおk. シェル […]
