Houly Daily Challenge Week3の感想戦。Day12 FUR2位をもらいました。が、そんなつもりはなく、多分みんなの調子がそんなに良くない日だったんだなと。Day13 SLIMEもう何度目かの「何も思いつかない病」を発症した日でした。それでも個人的には、まとめられたなと。Day14 SCALES恥ずかしながらSCALESが鱗って意味だと知りませんでした。Day15 DROOLこの日も「何も思いつかない病」でした。Day16 FEATUERS某RPGに出てくる、”一度[...]
read more
Houdini"こんなシェルフがあったのか回"。先日、シェルフに"Bake Constraint"なるシェルフを見つけて吃驚しました。シェルフの"Constraints"タブにありました。いつから、追加されたのだろう。名前の通り、CHOPsで作られたコンストレイントの動きをキーフレームにベイクしてくれる機能のようですね。例えば、こんな感じに球体の周囲を回る箱を作って、箱は常に球体の方を向くようにコンストレイントを設定したとします。Bake Constraintの使い方は簡単。ベイクしたいオブジェクトを選択して、シェルフボタンを押すだけ[...]
read more
toxikノード解説回です。今回は"Merge Streams"と"Extract Streams"の2つです。セットで使うことが多いと思うのであわせて解説です。Streamsとは、処理ラインとでもいいましょうか。複数の素材で、まとめて同じ処理をしたい場合、"Merge Streamsノード"を使うことで一旦ひとまとめにすることができます。処理後に再び素材をバラバラに分けるとき、"Extract Streamsノード"を使います。どんな時にこのノードを使うかと言うと、たとえば立体視の映像で右目用と左目用の画像をカラコレする際に、一旦"Merge Stream[...]
read more
ネットワークこんな。勉強になった点retentionPolyReduce(SOP)のパラメータ"Retain Density by Attribute"を活用することで、任意の箇所を任意の割合でポリゴン数を削減出来る。デフォルトでは、"retention"というアトリビュートで、削減度合いをコントロール出来る。このアトリビュートを、Paint(SOP)でぬりぬりしながら、後工程の結果を見るのが楽しい。PolyExtrude(SOP)PolyExtrude(SOP)をうまく使うと、ポリゴンラインに幅を持たせて抽出する様な用途もイケる。[...]
read more
こんなの作ってみましたYoutubeの動画説明欄にリンクを貼っていますが、これをBlenderで作っている人がいて、「なにおぅ、Houdiniだってこのくらい!」というノリで作ったものです。水は、皿の影になるところにエミッタを置いて、そこから発生。また一番上からだけ流すと、一番下の皿に溜まるまでシミュレーション時間がかかってしまうので、皿ごとにエミッタを置いて水が溜まるまでの時間を節約しています。別アングルから見たプレビューだと、その様子が分かります。また厚みの薄い水のシミュレーションは、メッシュ時に穴がぽこぽこ開くのですが、今回はある程度水かさが増えたとこ[...]
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
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編)最終目標はこういうヤツ↓簡単そうに見えて、意外と奥が深いのでは、と思いまして。作りたいのは、"進んだ分だけ正確に車輪が回るリグ"。”正確さ”が欲しいので、Expressionを使って計算させたいと思います。下絵のように、車輪の移動距離と円弧の部分が一致するような回転角を求めることができれば問題は解決するように思います。(下絵の赤い円周と青い距離の部分)では移動した[...]
read more
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
read more