Houidniノード:if block(VOP)
Houdiniノード勉強回。 今回はVOPのif block。 “Block Begin If”と”Block End”ノードで構成される条件分岐のためのノード。 「なんじゃこりゃ」、「どうや […]
ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
続きを読む
Houdini Tips回。煙作成時「Gas Resize Fluid Dynamic(DOP)」を使用した際、シミュレーション開始時に計算領域と発生源が重なっていないと上手くシミュレーション出来ない場合があります。今回はその回避法です。何を解決したいのか次のようなシミュレーションがあるとします。(gifアニメの枚数節約のため、ここではFPSを10で作ってます)シェルフで作った普通の煙ですが、発生源は原点より上の方(離れた場所)にあります。この発生源を、最初消しておいて何フレームか経ってから出現させるとこうなります。煙が一切発生し[...]
続きを読む
タイトル通りFF9ビビを作ってみました。せっかくブログも始めたことだし、何か作ろうと思いまして。TurnTable Movie別ポーズでもう一枚。メイキングっぽいのでもと思ったのですが、作業途中のキャプチャ画像でお茶を濁すことにしました。イメージフォーマットはOpenEXRの16bit(Half)で、PassはAOやらReflectionやら8種類くらい出しています。おまけでターンテーブルから4アングル。ちなみに参考にしたのはこちら↓ 今(2012/9/3現在)、売り切れらしいwこいつで、ぐりぐりとポーズ取らせながら、[...]
続きを読む
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つのベクトル[...]
続きを読む
Houdini17でしれっと追加されてた機能、勉強回。Trail(SOP)地味に、Trail(SOP)の機能が追加されてました。速度"v"を付与する際に、加速度"accel"が追加できるようになってました。方法は、パラメータ"Compute Acceleration"をONに。注意点として、パラメータ"Velocity Approximation"をCentral Differenceに設定しないと、ダメらしい。マニュアルがそう言ってた。他のだと、せっかく作ったaccelアトリビュートの値が0になっていました。パラ[...]
続きを読む
pymelでは、オペレータを使ってもアトリビュートがコネクトできるらしい。忘れないうちに書いておこう。簡単な例として、CubeとSphereを作成し、それぞれのTranslateをコネクトするスクリプト。#モジュールの読み込みimport pymel.core as pm</pre>#新規でCubeとSphereを作成cb = pm.polyCube(name='testCube')sh = pm.polySphere(name='testSphere')# connect#CubeのTranslateをSphereのTransl[...]
続きを読む
今回は、シミュレーションを途中から再開する方法です。これを使えば、エラー等でシミュレーションが止まった場合でも、最初からやり直しせずにすみます。途中からシミュレーションをするには、”シミュレーションキャッシュ”というものが必要です。DOP Networkノードに設定項目があります。1:シミュレーションキャッシュを有効にするDOP Networkにある、"Cache Simulation"を有効にします。2:シミュレーションキャッシュを保存する。"Save Checkpoints"を有効にします。"Checkpoint File"でシミュレーション[...]
続きを読む
点Aと点Bをm:nに内分する点Pを表す位置ベクトルは、適当な基準点をOとして次の式で求められる。順に考えていく。これは納得できる。比は左右を同じ数で割っても、その比自体は変わらないのでと変形して使ってもOK。これは、ABの長さを1としたとき、APの長さが(m+n)/nとなる事を意味する。ベクトルAPとベクトルABは方向が等しいので定数倍であらわすことができる。この定数が、上記の比である。となる。このことから。この式をどんどん変形してゆく。長さの比が分か[...]
続きを読む
はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
続きを読むHoudiniノード勉強回。 今回はVOPのif block。 “Block Begin If”と”Block End”ノードで構成される条件分岐のためのノード。 「なんじゃこりゃ」、「どうや […]
Houdiniノード勉強回。 今回は、Houdini15から追加のBlock Begin(SOP) / Block End(SOP)ノードにしてみました。 「なんじゃこりゃ」、「どうやって使うのさ」、と思って調べたヤツです。 繰り返し処理の […]
Houdiniノード備忘録。Wedgeノード(ROP) 同じROPノードを異なる設定で複数回実行できる。 以下、使用手順。 1:Output Driverで出力したいROPノードを指定 指定先のノードの出力パスにWedge変数($WEDGE […]
Houdini回じゃ! 今回はOutput(SOP)ノード解説回にしてみました。 これは「出力を定義できるノード」です。 AssetやSOPの出力が定義出来ます。 Object Merge SOP等で参照した場合 […]



