Maya:車輪でリグ考察(了)
車輪リグ考察。 前回、フレーム単位で移動距離から回転角を求める方法を試しました。 大旨よさげだったのですが、しかし、どうもうまくいかない場合がありました。 車輪がスライドした場合です。 進行方向ではない向きの移動も回転計算に含んでいるのが原 […]
前回に引き続き、Houdiniによるスパイラルカーブの作り方。何の役に立つのかは・・・???その②これは、まっすぐなラインを引いて、pointノードでらせん状にしてますね。前回書いた方法と似てます。直線をぐるぐる巻くか、ぐるぐる巻いた円を伸ばすかの違いですね。sinとcos使ってグルグルまわしてます。実はオーソドックスな方法だったりして。Mayaとかでもsinとcos使って螺旋が作れますしね。その③三つ目は、ちょっと違った方法にしてみた。概要を書くと、①箱を用意して、②縦のエッジにあるポイントを[...]
続きを読む
では、前回に引き続きSamplerInfoノードのAttributeを見ていきたいと思います。今回はUv Coodから。Uv CoodUV座標を取得できます。ただし、座標は0,0から1,1の範囲。これも前回までと同じように色情報に置き換えて確認してみましょう。U座標を赤に、V座標を緑にコネクションしてレンダリングしてみました。こんな感じ。SamplerInfoノードでUvCoodを取得すること自体が私はあまりないので、実際どう使うのか良い例が出てきません。Nukuとかでコンポジットするようなら使うかも。Nuke上でテクスチャも張れるんでしたっけ?[...]
続きを読む
Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
続きを読む
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
続きを読む
Houdini Advect Calendar2018 20日目の記事に投稿します。ビンに水を貯めました。FLIPです。メッシュ化してません。テーマと問題点この作例のテーマは、「水を貯める」です。HoudiniのFLIPでは、水を貯めようとすると、なぜか水かさが減ります。こんな感じ。満タンまで、入れても半分くらいに減っちゃってます。減る割合は一様ではなく、パーティクル一粒のサイズ(Particle Separation)が小さいほど、また水の動きが大きいほど、よく減ります。原因は理解していませんが、このように器の中に水を貯めようとすると必ず減[...]
続きを読む
Houdini回。フレームとフレームの間の値が欲しい時があります。上の絵でいうと、1.57613…の小数点以下の部分、0.57613…ですね。この値があると、今、フレームとフレームの間のどのあたりかを知ることができます。この例だと、0.57613…なので、フレーム間のちょうど半分よりすこし次のフレーム寄りだということが分かります。フレーム間を補間するときに便利だったりします。この値をVOPで求めます。ネットワークはfloor(VOP)を使ってこう。floor(VOP)は入力されたFloat値に対して、小数点以下を切り捨てて整数値を返してくれま[...]
続きを読む
Houdiniノード備忘録。Wedgeノード(ROP)同じROPノードを異なる設定で複数回実行できる。以下、使用手順。1:Output Driverで出力したいROPノードを指定指定先のノードの出力パスにWedge変数($WEDGE)もしくはWedgenum変数($WEDGENUM)を入れるのを忘れないように。これないと、出力が上書きされる。●Wedge変数($WEDGE)"Prefix"_"Wedge Parameter Name"_"Wedge Num"."Parameter"で構成される例:`$OS`_$WEDGE.$F4.[...]
続きを読む
Houdiniを使っていて、NDCという座標系に触れる機会が増えました。なので、そのメモ。NDCは「Normal Device Cordinates」の略で日本語にすると、標準デバイス座標というらしい。もっと噛み砕いて言うと、カメラを基準にした座標系、だそうです。カメラからのdepthを作ったり、ベクターブラ―を作ったり、ともかくカメラ基準で何かしたいときに重宝してます。カメラの位置が原点で、x座標とy座標は、それぞれカメラに映る領域が0~1の範囲に収まるようになっています(正規化)。Z座標は、カメラから被写体方向にマイナス値で大きくなっていきます。遠ければその[...]
続きを読む
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
続きを読む
toxikノード解説回です。今回はBlurです。おなじみ、絵をぼかすノードです。このBlurノードで、ガウスブラーから放射状ブラー、ベクターブラー、被写界深度等、ブラーに関する処理のほとんどができます。このBlurノード、Detail Areaでは5つのタブで構成されています。Blurタブ・・・ガウスブラー/放射状ブラー/回転ブラーModulationタブ・・・マップ制御ブラー。Z Depthマップを使った疑似被写界深度とか。Vectorタブ・・・ベクターブラー。Outputタブ・・・[...]
続きを読む車輪リグ考察。 前回、フレーム単位で移動距離から回転角を求める方法を試しました。 大旨よさげだったのですが、しかし、どうもうまくいかない場合がありました。 車輪がスライドした場合です。 進行方向ではない向きの移動も回転計算に含んでいるのが原 […]
※ 注意 ※ この記事のリグは失敗例です。 記事のとおり作ると、記事の通り失敗します。 それでもよいという天の邪鬼な方に向けておくる、”Mayaで作る車輪リグ考察(失敗編3) そろそろ成功例だけ載せてくれ、とお叱りを頂きそうな今 […]
※ 注意 ※ この記事のリグは失敗例です。 記事のとおり作ると、記事の通り失敗します。 それでもよいという天の邪鬼な方に向けておくる、”Mayaで作る車輪リグ考察(失敗編2) まずは前回の失敗から。 一方向の移動にしか、車輪の回 […]
※ 注意 ※ この記事のリグは失敗例です。 記事のとおり作ると、記事の通り失敗します。 それでもよいという天の邪鬼な方に向けておくる、”Mayaで作る車輪リグ考察(失敗編) 最終目標はこういうヤツ↓ 簡単そうに見えて、意外と奥が […]



