※音出ます↓Houdini18.5のPyroをいろいろ試してた時に作った爆発。Twitterには上げたのですが、せっかくだから記事にもとおもいまして。これレンダリングはOpenGLでおこなったのですが、PyroBakeVolumeノードのおかげで、OpenGLでも結構いい感じになりますね。特に凝ったことはしてなくて、標準のをそのままです。[...]
read moreRecursiveGrowthです。思いのほか楽しくて形状違いで4つも作ってしまいました。ソリッドな見た目ですがほぼVDBで制御してます。ほんとHoudiniのVolumeは汎用性が高くて最強だと思う。ただシミュレーション制御ってのもあり、狙った形に持ってくのは至難の業。以下、作業画面。面白かった。以上!また次回ね![...]
read moreHoudini勉強回。最近知った関数。makebasis()以下、マニュアルのURLhttps://www.sidefx.com/docs/houdini/vex/functions/makebasis.htmlマニュアル曰く、"指定したzaxisベクトルから正規直交基底を作成して、xaxisとyaxisの基底ベクトルを構成"、するらしい。なんのこっちゃ。その機能を意訳すると、あるベクトルに直行するベクトルを2つ作ってくれる関数。例えば、{1,0,0}に対してmakebasis関数を使うと、{0,1,0}, {0,0,1}の2つのベクトル[...]
read moreその1へ その2へ その3へ その4へ その5へ 補足へ前回からの続きで、mia_material_x_passesのパラメータを調べていきます。自信のないところは自信なさげに書いていますwMayaは2012の英語版を使用しています。最新のバージョンとは異なる可能性がありますのであしからず。 Refraction(屈折)Index of Refraction(屈折率)しばしば、IORと略される。大気が1.0。水が1.33。主な屈折率は、IORの値の部分にマウスを乗せとくと出るヘルプで確認可。Color(カラー)屈折カラー。半[...]
read moreHoudiniネタ。Pyro Solver(SOP)などの、中にいっぱいノードが入ってる系のノードで、パラメータが内部のどのノード由来かを知りたい場合があります。それを簡単に調べる方法。パラメータの右クリックメニューで、すると次のようなウィンドウが開きます。左上のViewのところを、DependentsかReferenceに切り替えることで、外に出してるパラメータか内部で参照してるパラメータかを切り替えることができます。リストから飛びたいパスを選択し、右下の矢印ボタンを押すと、その階層までネットワークがジャンプします。逆からも辿れます。[...]
read moreHoudini回です。タイトルどおり「煙でパーティクルを動かす」、回です。これを↓これで↓動かす↓(gifアニメ・・・重くなってしまったorz)Fumeと3dsMaxのPFlowでいうところの、"FumeFX Follow"的なのをやりたいのです。ここでは、"Pop Advect by Volumes"ノードを使ってパーティクルを流体の動きに沿わせます。手順としては、①:煙を作る②:パーティクルを作る③:煙の動きを使ってパーティクルを動かすとなります。では、ざっくりやってみます。①Pyroで煙を作りますSour[...]
read moreHoudini回。作業してて、「へ~」となったので。マテリアルの割り当ては、Material(SOP)を使わずにAttribute Create(SOP)とか使っても出来のか!そもそもMaterial(SOP)を使って、マテリアルを割り当てるとプリミティブにshop_materialpathなるアトリビュートが作成され、それにマテリアルのパスが文字列として記述されます。マニュアルを見ると、shop_materialpathというプリミティブアトリビュートは、「レンダリング時のサーフェスのシェーディングに使用するマテリアルのパスで、プリミティブ上に存在する[...]
read moreHoudini Tips回。マニュアルを読んでいたら、DOPデータを参照する構文なるものがあることを知りました。ネットワークパス:名前(/データ名)例1 /obj/AutoDopNetwork:sphere_object1例2 /obj/dopnet1:pyro/densityこれつかうと、読み込み系のノードでDOPオブジェクトなりデータなりを読み込めるらしい。いろいろやってみた。Object Merge(SOP)でRBD Objectを読み込むObject Merge(SOP)でフィールドデータを読み込む[...]
read moreHoudini 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