Houdini:Magma
こんなん作ってました。 ループするように作っているのですが、手法はVDB morph SDF(SOP)を使いました。ボリューム解像度が高いとパラメータのTimestepの値もガッツリ上げる必要があって計算コストも結構上がってしまった。 しか […]
今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
続きを読む
今回はちょっと変わったネタを。極座標変換についてです。半分、数学です。極座標系とは、ザックリ言うと"角度(θ)"と"距離(r)"で表される座標の事です。下に二次元の直交座標系と極座標系の図を載せてみました。図のように、同じ座標でも直交座標と極座標という二つの方法で表すことが出来きます。同じ一つの場所を異なる座標系で表すことが出来るというのは、時として非常にありがたいことだったりします。直交座標ではややこしい制御も、極座標ならすんなりなんてこともあるかもしれませんからwこの、直交座標系と極座標系を行き来するためには、変換式が必要になります。難しい話は、[...]
続きを読む
点Aと点Bをm:nに内分する点Pを表す位置ベクトルは、適当な基準点をOとして次の式で求められる。順に考えていく。これは納得できる。比は左右を同じ数で割っても、その比自体は変わらないのでと変形して使ってもOK。これは、ABの長さを1としたとき、APの長さが(m+n)/nとなる事を意味する。ベクトルAPとベクトルABは方向が等しいので定数倍であらわすことができる。この定数が、上記の比である。となる。このことから。この式をどんどん変形してゆく。長さの比が分か[...]
続きを読む
NukeのPythonメモGUI操作からPythonコマンドを調べる「Edit」->「Preferences」->Panels->"Script Editor"->echo python commands to output windowをON。次にclear input windows on successful script executionをOFF。次に、タブがあるところ適当に右クリックして、これで、GUI上の操作がScript Editorの上半分に表示される。Pythonを書くScript Editorの下半分[...]
続きを読む
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編)最終目標はこういうヤツ↓簡単そうに見えて、意外と奥が深いのでは、と思いまして。作りたいのは、"進んだ分だけ正確に車輪が回るリグ"。”正確さ”が欲しいので、Expressionを使って計算させたいと思います。下絵のように、車輪の移動距離と円弧の部分が一致するような回転角を求めることができれば問題は解決するように思います。(下絵の赤い円周と青い距離の部分)では移動した[...]
続きを読む
Contour最後です。今回は作例を二つほど。まずはContour使ったMayaのシェーダー作例。 作例1『mentalrayVertexColors』ノードと『contour_shader_widthfromcolor』を組み合わせて、”不要なContourラインを塗って消せる”、そんなシェーディングネットワークを組んでみようと思います。レシピは、・『mentalrayVertexColors』(頂点カラー取得用)・『surfaceShader』(アサイン用マテリアル)・『contour_shader_widthfromcolor』(マテリアルの色でラインの太[...]
続きを読む
壁の中から人が・・・みたいな感じで作ってみたのだけれど、どうかな?スターウォーズのハン・ソロがこんな感じでカーボンフリーズされなかったっけ?とか思いながら作ってた。 壁と顔が一体のジオメトリになってるんです。繋ぎ目なし。ちょっとサンプリング数上げ過ぎたかしら?も少し粗くすれば、逆に滑らかになったかも。実は壁薄くて、壁の下には首までありますw[...]
続きを読む
Houdini回。Wrangle(SOP)のVEX例文。メモより抜粋その3。脈絡はないです。あと、時々コードが文字化けしてます。すいません。ローカル変数のマッピングi@test = 0;addvariablename(geoself(), "test", "TEST");自分で作ったアトリビュートをローカル変数として定義する。ここで定義したローカル変数は、このaddvariablenameという関数をサポートしたノードで利用可能らしい。最近の仕様では、あまりローカル変数使わないようになってるんだっけ[...]
続きを読む
Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
続きを読む
ShadingSwitchノードについて。このShadingSwitchノード、ひとことで切って捨てると『ジオメトリごとに出力を切り替えるノード』です。出力のチャンネル数ごとに、Single、Double、Triple、Quadと4種類のSwitchノードが存在します。Singleなら1チャンネル。単純にスカラ値。アルファの切り替えなどに使えるのでしょうか。Doubleなら2チャンネル。2チャンネルの代表はUVかな。Tripleなら3チャンネル。XYZ、RGB、UVWとかは3チャンネルですね。Quadなら4チャンネル。RGBAくらいしか思いつきません。これら[...]
続きを読むこんなん作ってました。 ループするように作っているのですが、手法はVDB morph SDF(SOP)を使いました。ボリューム解像度が高いとパラメータのTimestepの値もガッツリ上げる必要があって計算コストも結構上がってしまった。 しか […]
