Houdini Tip回。今回はスパイラルカー(螺旋)をいろんな方法で作ってみました。なんの役に立つのと聞かれたら、それは・・・そのうち何かの役に立つさ、きっと。全二回の予定です例:その①作り方の概要:円を何周も作って縦に伸ばす!使うのは円を作るための"Circle"ノードと、その円のポイントを操作するための"point"ノード。個人的にはこれが一番簡単だったかなぁ、と。pointノードのpositionYにつかった"$PT"とは各ポイント番号のこと。↓図の青緑の点の番号。だいたい作った順に番号が付くのかな?[...]
read more
今回は、MayaのWrapデフォーマノードについて調べてみました。たまには基本に立ち返るのも大事かと。ここではマニュアルに従って、制御する側のオブジェクトをラップインフルエンス(オブジェクト)と呼ぶことにします。Wrapデフォーマ適応方法1:変形したいオブジェクトを選択 2:ラップインフルエンス(制御に使いたいオブジェクト)を選択 3:Animationメニューから、□作成時のオプションは、Wrapノードのアトリビュートと同じなのでそちらを参照。Falloff ModeVolumeとSurfaceの二択。Soft SelectionのVolume[...]
read more
今回から数回に分けて『user_ibl_env』 と『user_ibl_rect』の二つのノードにスポットを当ててみようと思います。どちらもMaya2013で新たに追加されたノードです。これら「user_ibl」ノードはひとことで言うと、「FinalGatherを使わずに環境光をエミュレートするノード」でしょうか。『user_ibl』のiblはImage Based Lightingの略だそうです。『user_ibl_env』ノード、機能としては以前とりあげた、『mib_bent_normal_env』ノードに似てるかなと。1回目の今回は『user_ibl_en[...]
read more
今回は、HoudiniでのLUTの作成と適応についてです。もっとも、管理人はLUT作ったことないんですけどね。なので、いずれ来るかもしれない時に備えての備忘録です。HoudiniでLUT作成はCOPで行います。COPでうにゃうにゃとノードを組んで、LUTを作ったら出力したい場所のノードを選んで、右クリック→"Save LUT..."出力先等を決めて、Save。作ったLUTは、同じくCOPのComposite Viewで適応できる。Composite Viewの右下[...]
read more
HoudiniのPythonメモ。書き方とかじゃないですよー!バージョンはHoudini15.0.244.16。Python shellの起動!「window」- >「Python Shell」 or 「Alt + Shift + P」コマンドラインっぽいヤツ。1行ずつ書く。Python Source Editor現行のHoudiniセッションからコール出来るクラス、関数、変数を定義出来る。hipファイル依存でpythonを書けるってことかな。[...]
read more
Houdini回じゃ!今回はOutput(SOP)ノード解説回にしてみました。これは「出力を定義できるノード」です。AssetやSOPの出力が定義出来ます。Object Merge SOP等で参照した場合例えば、「Object Merge SOP」で親のノードを参照した際、output SOPノードがあると自動でそこを参照します。(output SOPがない場合、Displayフラグが立っているノードが参照されます)とりあえずSOPの最後にはこのノードを付けとけば良いかと。Asset[...]
read more
Houdini Advect Calendar2018 20日目の記事に投稿します。ビンに水を貯めました。FLIPです。メッシュ化してません。テーマと問題点この作例のテーマは、「水を貯める」です。HoudiniのFLIPでは、水を貯めようとすると、なぜか水かさが減ります。こんな感じ。満タンまで、入れても半分くらいに減っちゃってます。減る割合は一様ではなく、パーティクル一粒のサイズ(Particle Separation)が小さいほど、また水の動きが大きいほど、よく減ります。原因は理解していませんが、このように器の中に水を貯めようとすると必ず減[...]
read more
Houdiniメモ。カメラクリップのWrangleを書くのが面倒なので、コピーできるようにココに書いておく。vector _ndc = toNDC("/obj/cam1", @P);float _ox=ch("ox");float _oy=ch("oy");float _oz=ch("oz");if ((_ndc>1+_ox)) removepoint(geoself(), @ptnum); if ((_ndc>1+_oy)) removepoint(ge[...]
read more
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
read more