Houdini回。VEXです。今回は、評価ポイントからN番目に近いポイントを取得する方法です。評価ポイントから2番目に近いポイントや、5番目に近いポイントを取得するってことです。以前、Noiseについて調べた時の副産物だったりします。N番目の前に、もっとも近いポイントの探し方から。これはnearpoint(VEX)を使うことでわかる。もっとも近いポイントの番号を教えてくれます。下のは、それを使ってWorleyノイズを作ってるとこ。ではN番目に近いポイントを取得するにはどうすればよいのか。PointCloudOpen(VEX)とPoint Cl[...]
read moreHoudini回。六角形の作り方、いろいろ。Divide(SOP)のComute Dualを使う方法細かく見てみます。まずグリッド平面に対して、”Compute Dual”設定を有効にしたDivide(SOP)をコネクトすると、こうなります。六角形は出来たが、斜めっているので、Transform(SOP)のShearを使ってまっすぐにします。ちょっと縦に長い気がするので、Transform(SOP)でちょっと縦につぶします。最後に、四角い範囲だけ残せば完成。このサンプルファイルはこちら球体に対してDivid[...]
read more今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
read moreHoudini勉強回。前回、MatchSize(SOP)について取り上げましたが、そこで紹介しなかった機能があります。それが、Restore/Stash Transformのパラメータです。これらを使うことで、MatchSize(ROP)による原点への移動値をアトリビュートとして保持したり、逆にアトリビュートをもとに移動することができます。以下のようなネットワークで、ジオメトリ(任意座標)を原点に移動、Twistをかけて、元の位置に戻す、というものです。(1):MatchSize(SOP)で原点に移動。パラメータ"Stash Transform"を有効に[...]
read moreHoudini回ですぜ、旦那。今回は「Volume Slice」と「Volume Trail」を使って、Velocity(速度)フィールドを可視化する方法。※流体エフェクトの作り方ではありません。(ところで流体の動きって見てて飽きないよね)FLIPのキャッシュから、Velocityを確認したい時とかに使う・・・かな?確認用ってことで。ネットワークは下の感じ。以上!また来週!使用バージョン:Houdini13[...]
read moreブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
read more今回はMayaじゃないです。3dsMaxの破壊系プラグイン、RayFire 1.55 パラメータ意訳。和訳じゃなくて、意訳です。また、最新バージョンではないので、一部現在のバージョンとは異なる箇所、足りない部分があるのであしからず。以上、RayFire1.55の意訳でした。間違い等ありましたら、ご指摘いただけると助かります。当ブログはMayaメインですが、Maya以外もやりますよ、ということで今回はMaxの破壊系プラグインRayFireをとりあげてみました。こんな感じに今後も、Maya以外のToolやプラグインもやっていきたいと思ってます[...]
read moretoxikノード解説回です。今回は「Garbage Maskノード」です。これがtoxik上で作るマスクですね。項目が多いため全部解説は無理なので、大事なところに絞って解説していきます。↓がGarbage Maskの設定項目です。ザックリABCの三つの領域に分けました。左側が現在作成されているマスクの一覧が表示され、右側に現在選択されているマスクの詳細が表示されています。マスクの作成は真ん中あたりAの領域のアイコン群から作成できます。次にBの領域の、マスク一覧の見方から。①の領域から。S・・[...]
read more※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編)最終目標はこういうヤツ↓簡単そうに見えて、意外と奥が深いのでは、と思いまして。作りたいのは、"進んだ分だけ正確に車輪が回るリグ"。”正確さ”が欲しいので、Expressionを使って計算させたいと思います。下絵のように、車輪の移動距離と円弧の部分が一致するような回転角を求めることができれば問題は解決するように思います。(下絵の赤い円周と青い距離の部分)では移動した[...]
read moreHoudiniメモ。カメラクリップの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