Houdini回。VEXです。今回は、評価ポイントからN番目に近いポイントを取得する方法です。評価ポイントから2番目に近いポイントや、5番目に近いポイントを取得するってことです。以前、Noiseについて調べた時の副産物だったりします。N番目の前に、もっとも近いポイントの探し方から。これはnearpoint(VEX)を使うことでわかる。もっとも近いポイントの番号を教えてくれます。下のは、それを使ってWorleyノイズを作ってるとこ。ではN番目に近いポイントを取得するにはどうすればよいのか。PointCloudOpen(VEX)とPoint Cl[...]
read more
mib_amb_occlusionとRampノードを使って、オクルージョンを任意のグラデーションで出力する方法でっす。RampノードとSamplerInfoノードを使ってフレネルっぽい効果を出す方法はよくあるので、今回はその変則ということで。レンダリング画像を先に出すとこんな感じ。パッとみ分かりづらいかもだけど、赤や黄色の部分がオクルージョンの効果が強い部分。青や紫はオクルージョンの効果があまりない部分。mib_amb_occlusionのみだと、通常白黒のグラデーションですが、Rampノードを間に挟むことで任意のグラデーションにすることができます。それを何に使[...]
read more
こんなの作ってみましたYoutubeの動画説明欄にリンクを貼っていますが、これをBlenderで作っている人がいて、「なにおぅ、Houdiniだってこのくらい!」というノリで作ったものです。水は、皿の影になるところにエミッタを置いて、そこから発生。また一番上からだけ流すと、一番下の皿に溜まるまでシミュレーション時間がかかってしまうので、皿ごとにエミッタを置いて水が溜まるまでの時間を節約しています。別アングルから見たプレビューだと、その様子が分かります。また厚みの薄い水のシミュレーションは、メッシュ時に穴がぽこぽこ開くのですが、今回はある程度水かさが増えたとこ[...]
read more
Houdiniノード勉強回。Copy to Point(SOP)を取り上げます。Houdini18でCopy to Point2.0として新しくなったノードのひとつです。これを使うことで、ポイントごとに異なるジオメトリを簡単に配置できるようになりました。Houdini18以前は、CopyStamp(SOP)やforeachを使って実現していた機能ですが、Copy to Point(SOP)でこれが簡単にできるようになったのはうれしい変更点ですね。私は比較していないですが、以前の手法と比較しても高速だとか。以下、参考用ネットワークです。ネットワーク左側[...]
read more
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read more
Houdini回。Cloth系です。忘れては調べてを繰り返すので備忘録も兼ねて。Clothの一部分をターゲットオブジェクトの動きに完全に拘束する。オブジェクトに"pintoanimation"というPointアトリビュートを持たせることで、そのポイントをターゲットポイントに完全拘束出来る。この"pintoanimation"という名前がなぜだか私は覚えられない!ここでは布に見立てたグリッドを用意。ポイントアトリビュートpintoanimationを作り、布のはじっこは値1、それ以外は0にしている。ここでは暫定的にpintoanimation=1に赤、0に[...]
read more
Houdini回ですぜ、旦那。今回は「Volume Slice」と「Volume Trail」を使って、Velocity(速度)フィールドを可視化する方法。※流体エフェクトの作り方ではありません。(ところで流体の動きって見てて飽きないよね)FLIPのキャッシュから、Velocityを確認したい時とかに使う・・・かな?確認用ってことで。ネットワークは下の感じ。以上!また来週!使用バージョン:Houdini13[...]
read more
はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
read more
SweepノードとSkinノードで作るこういうの↓です。では、早速。まず、ガイド&断面の元となるカーブを用意します。ここではガイドのカーブにスパイラルカーブを、断面に円を用意しました。Sweepノードを使うと、ガイドカーブに沿って断面の円を配置することができます↓さらに、skinノードを使うと、これに面を張れます。場所によって太くしたり細くしたりしたいので、vopsop使ってそれを実現してます。(VopSopの中身については後述)最後にCarveノードでにょ~んってやって出来上がり!全体のネットワークは次の通りです。V[...]
read more
Houdini Ver 15.0.244.16Blend Pose機能を覚えたのでメモや。この機能を使って、Mayaでいうところのドリブンキーをやってみたいと思います。こんな感じにSphereとBoxがある状態から始めてみました。Step1 : シェルフのModifyタブ -> Blend PoseシェルフのBlendPoseボタンを押した後、関連付けたいオブジェクトを選択します。最初にtargetオブジェクトを選択、次にdriverオブジェクトを選択。すると、Blen[...]
read more