Houdini回。作業してて、「へ~」となったので。マテリアルの割り当ては、Material(SOP)を使わずにAttribute Create(SOP)とか使っても出来のか!そもそもMaterial(SOP)を使って、マテリアルを割り当てるとプリミティブにshop_materialpathなるアトリビュートが作成され、それにマテリアルのパスが文字列として記述されます。マニュアルを見ると、shop_materialpathというプリミティブアトリビュートは、「レンダリング時のサーフェスのシェーディングに使用するマテリアルのパスで、プリミティブ上に存在する[...]
read more
Houdini Tips回。マニュアルを読んでいたら、DOPデータを参照する構文なるものがあることを知りました。ネットワークパス:名前(/データ名)例1 /obj/AutoDopNetwork:sphere_object1例2 /obj/dopnet1:pyro/densityこれつかうと、読み込み系のノードでDOPオブジェクトなりデータなりを読み込めるらしい。いろいろやってみた。Object Merge(SOP)でRBD Objectを読み込むObject Merge(SOP)でフィールドデータを読み込む[...]
read more
Houdiniノード勉強回。Path Deform(SOP)。カーブに沿った変型をしてくれるノード。とっても便利。変型だけでなくカーブに沿った移動もしてくれる。複数のカーブにも対応しているのもうれしい点。またオフセットのタイミングもアトリビュートで個別に制御出来るし、当然のようにScaleとRotateにも対応している。優秀。これはもう、動かせるcopyノードと言ってもよいのでは。使い方はいたって簡単で、1番目の入力に変型させたいジオメトリ、2番目の入力にカーブを繋ぐだけ。パラメータの詳細はドキュメント参照。作例として次のよう[...]
read more
Houdini勉強回。最近知った関数。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
Houdini回ですぜ、旦那。今回は「Volume Slice」と「Volume Trail」を使って、Velocity(速度)フィールドを可視化する方法。※流体エフェクトの作り方ではありません。(ところで流体の動きって見てて飽きないよね)FLIPのキャッシュから、Velocityを確認したい時とかに使う・・・かな?確認用ってことで。ネットワークは下の感じ。以上!また来週!使用バージョン:Houdini13[...]
read more
Houdiniについてくるサンプルファイルが、勉強になったので復習がてら解説してみようとてするなり。使用するサンプルファイルは、SolidFractureWeldです。https://www.sidefx.com/docs/houdini/examples/nodes/sop/solidfracture/SolidFractureWeld.html(サンプルファイルの開き方はこちらの記事参考)以前、FEMを使って同様のものを作るチュートリアルをやったのですが、今だとVellumでできるのですね。 SolidConfim SOPでTorusを[...]
read more
Houdiniノード勉強回。COPで作ったテクスチャをSOPに張り付けた時にも、ちゃんとアニメーションが更新されるようにする方法。こんな感じ。一見普通に見えますが、普通にCOPのテクスチャを貼っただけだと、こんな感じ。タイムスライダをぐりぐりしてもSOP上のテクスチャは更新されません。これは、ビュー上のテクスチャ情報がキャッシュとして保持されており、それが更新されないため(たぶん)これを解決するために、script(SOP)を使っています。script(SOP)は名前の通り、scriptを実行するSOPノードです。ノードが[...]
read more
再びオクルージョンネタと言うことで、今度は『mib_fg_occlusion』ノードについて調べてみました。以前に書いた、『mib_amb_occlusion』同様、オクルージョン系のノードです。Mentalrayはオクルージョンひとつとってもいろんな方法があるので、混乱しどころだったりするのではないでしょうか。使う側からしたら、「これ使っとけばいいよ」みたいな最強のを一個だけ用意してくれればいいのにって思ったりもします。『mib_fg_occlusion』、名前に”fg”と付くとおり、FinalGatherを使ったOcclusionです。FinalGather[...]
read more
ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
read more
Houdiniノード勉強回。地図データから街を作るノードたちです。取り上げるのは、Labs OSM Imports、Labs OSM Buildings、Labs OSM Filterの3セット。Houly Daily Challenge2020で初めて使ってみたのですが、楽しかったので取り上げてみました。ちなみに、これらのノードはHoudini標準ノードではく、SideFX Labというノード群に含まれるもので追加インストールが必要です。SideFx Labのインストールについては公式ページを参照してください。https://www.sidefx.com/[...]
read more