Houdini:半分選択する
A+中クリックで一列選択したあと、Hキークリックで、選択範囲で分断された任意の側をまとめて選択できる。 知らなかった
Wrangle(SOP)のVEX例文。メモより抜粋。よう使うglobal変数//SOP@Cd //Point Color@P //Point位置@v //Point Velocity@ptnum //処理中のPoint番号@pscale //Particle Scale@numpt //Point総数@N //法線//時間@Frame; //Frame@Time; //TimeAttribute読み書きあれこれ//Type[...]
続きを読む
Houdini Tip回。今回はスパイラルカー(螺旋)をいろんな方法で作ってみました。なんの役に立つのと聞かれたら、それは・・・そのうち何かの役に立つさ、きっと。全二回の予定です例:その①作り方の概要:円を何周も作って縦に伸ばす!使うのは円を作るための"Circle"ノードと、その円のポイントを操作するための"point"ノード。個人的にはこれが一番簡単だったかなぁ、と。pointノードのpositionYにつかった"$PT"とは各ポイント番号のこと。↓図の青緑の点の番号。だいたい作った順に番号が付くのかな?[...]
続きを読む
ほい、Houdini回。今回は、便利なTipsを教えていただいたので、その紹介です。●Preview WindowPreview Windowを利用すると、任意のノードまでの結果を別Windowで確認することができます。下絵の真ん中にあるWindowがPreview Windowになります。Preview Windowを出す方法は、 「ノードを選択した状態で、右クリックメニューから"Preview Window"」です。これ結構いいなと。ノードの右クリメニューは頻繁に見るのに、今までPreview Windowの項目がまったく目に[...]
続きを読む
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編3)そろそろ成功例だけ載せてくれ、とお叱りを頂きそうな今日この頃。それでも載せます失敗例。前回、オブジェクトスペースを使った作戦は、方向転換時の挙動に難あり。あえなく廃棄。今回は考え方を変えて、1フレームあたりの移動距離から回転角を求める方法をとることにしました。毎フレームごと、移動距離から角度を計算し、足してゆきます。イメージはこんな感じ。 またこれだけでは[...]
続きを読む
Houdini回!Geometry Wrangle(DOP)で強制的に、アトリビュートvとwを減衰させる方法です。「RBD PackedでPOP Drag Spin(DOP)使うとおかしなことになる」、というので、代わりになるものはないかと調べたらodforceに減衰についてのスレッドが立ってました。ありがたや。何もしないのとの比較動画を作ってみました。上が通常、下がWrangleでのDamping有効。DOPネットワークは標準的なRBDの組み方。赤く色付けたノードGeometryWrangle(DOP)に以下のようなVEXコードを書いて、減衰させているそう[...]
続きを読む
MayaのMentalRay使ったバッチレンダリングでCPUを100%使ってくれない時の対処法。「ニーズあるんじゃないって」、言われたから書きます。※ただし、記事を書くにあたって一切の確認検証をしておりません。記憶を頼りに書きました。間違ってたら指摘して下さい。 方法その1mentalRayのBatch Render Optionを開きます。->□"Parallelism"のRender Threadsがいくつに設定されているか確認します。(上絵の赤枠部分)Auto Render Threadsにチェックが入っているからといって[...]
続きを読む
前回に続き、Houdini VEX勉強回。今回は「近接ポイントの情報を取得する」VEX系の関数についてです。近接ポイントとはこの場合、単純に距離の近いポイントのことを指します。近接ポイントを取得するVEX関数は幾つかあります。ここではnearpoint()とnearpoints()を取り上げようとおもいます。表記の違いは名前に"s"があるかないか。まぎらわしい。nearpoint()一番近いポイント番号を取得する。”一番近い”だから、取得するポイントは1コ。最大どこまでの距離を探すか指定する。ポイントが見つからなければ-1。int nearp[...]
続きを読む
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
続きを読む