Houdini:RecursiveGrowth
RecursiveGrowthです。 思いのほか楽しくて形状違いで4つも作ってしまいました。 ソリッドな見た目ですがほぼVDBで制御してます。ほんとHoudiniのVolumeは汎用性が高くて最強だと思う。ただシミュレーション制御ってのもあ […]
ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
続きを読む
今回はちょっと変わったネタを。極座標変換についてです。半分、数学です。極座標系とは、ザックリ言うと"角度(θ)"と"距離(r)"で表される座標の事です。下に二次元の直交座標系と極座標系の図を載せてみました。図のように、同じ座標でも直交座標と極座標という二つの方法で表すことが出来きます。同じ一つの場所を異なる座標系で表すことが出来るというのは、時として非常にありがたいことだったりします。直交座標ではややこしい制御も、極座標ならすんなりなんてこともあるかもしれませんからwこの、直交座標系と極座標系を行き来するためには、変換式が必要になります。難しい話は、[...]
続きを読む
Houdini勉強回。前回、MatchSize(SOP)について取り上げましたが、そこで紹介しなかった機能があります。それが、Restore/Stash Transformのパラメータです。これらを使うことで、MatchSize(ROP)による原点への移動値をアトリビュートとして保持したり、逆にアトリビュートをもとに移動することができます。以下のようなネットワークで、ジオメトリ(任意座標)を原点に移動、Twistをかけて、元の位置に戻す、というものです。(1):MatchSize(SOP)で原点に移動。パラメータ"Stash Transform"を有効に[...]
続きを読む
Houdini勉強回。Houdiniについてくるサンプルファイルが、とても勉強になったので復習がてら解説してみようとてするなり。使用するサンプルファイルは、VellumSmokeSheetです。サンプルファイルの開き方はこちらの記事参考。https://www.sidefx.com/docs/houdini/examples/nodes/dop/vellumsolver/VellumSmokeSheet.htmlこんな感じに、布の下に入り込んだ空気が押し出されてブワッとなる、みたいなシミュレーションです。上図赤枠部分が、SIM前の仕込み。上図緑枠部分が、[...]
続きを読む
堅めのネタが続いたので、休憩がてら絵のネタを。写真を見ながら、そっくり絵を描いてみよう回。なので元にした写真があり、これは当方のオリジナルではありません。描いてみた結果、こうなりました↓案外、写真っぽくなったかなと。以下、過程です。写真を見ながら、ザックリ。?なんとなく、大きなパーツの色と位置を合わせる陰影&ディテールを追加しながらバランス調整?細部も描き込む?さらに細部をつめ、全体のバランス&色を調整せっかくなので、GIFで繋げてみました。先日参加したCGWカンファレンスのコンセプトアートセッションで、「写真そっくり[...]
続きを読む
点Aと点Bをm:nに内分する点Pを表す位置ベクトルは、適当な基準点をOとして次の式で求められる。順に考えていく。これは納得できる。比は左右を同じ数で割っても、その比自体は変わらないのでと変形して使ってもOK。これは、ABの長さを1としたとき、APの長さが(m+n)/nとなる事を意味する。ベクトルAPとベクトルABは方向が等しいので定数倍であらわすことができる。この定数が、上記の比である。となる。このことから。この式をどんどん変形してゆく。長さの比が分か[...]
続きを読む
MayaのMentalRay使ったバッチレンダリングでCPUを100%使ってくれない時の対処法。「ニーズあるんじゃないって」、言われたから書きます。※ただし、記事を書くにあたって一切の確認検証をしておりません。記憶を頼りに書きました。間違ってたら指摘して下さい。 方法その1mentalRayのBatch Render Optionを開きます。->□"Parallelism"のRender Threadsがいくつに設定されているか確認します。(上絵の赤枠部分)Auto Render Threadsにチェックが入っているからといって[...]
続きを読む
Houdini回です。今回はカーブの接線(tangent)を取得方法を幾つか。調べて忘れて調べてを繰り返すので、備忘録も兼ねて。polyFrame(SOP)で接線を取得polyFrame(SOP)を使うと、「Normal(法線)」「Tangent(接線)」「Bitangent(従法線)」を取得することができます。下の青線がNormal(法線)、黄色線がTangent(接線)、赤いのがBitangent(従法線)。接線だけが欲しい場合はTangentだけ有効にしとけばOKStyleの設定で、平滑化[...]
続きを読む
今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
続きを読むRecursiveGrowthです。 思いのほか楽しくて形状違いで4つも作ってしまいました。 ソリッドな見た目ですがほぼVDBで制御してます。ほんとHoudiniのVolumeは汎用性が高くて最強だと思う。ただシミュレーション制御ってのもあ […]
