ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
read more
FUmeFXのリファレンスメモ、4回目です。前回の続きで、Fuelロールアウトの項目からです。バージョンは3.5です。今回は画像一枚で終わりッス。パラメータ比較Movieは作ってません。間違い等ありましたら、ぜひご指摘願います。その1 ,その2 ,その3 ,その4 ,その5, その6, その7, その8, その9[...]
read more
今回から数回に分けて『user_ibl_env』 と『user_ibl_rect』の二つのノードにスポットを当ててみようと思います。どちらもMaya2013で新たに追加されたノードです。これら「user_ibl」ノードはひとことで言うと、「FinalGatherを使わずに環境光をエミュレートするノード」でしょうか。『user_ibl』のiblはImage Based Lightingの略だそうです。『user_ibl_env』ノード、機能としては以前とりあげた、『mib_bent_normal_env』ノードに似てるかなと。1回目の今回は『user_ibl_en[...]
read more
Houdiniサンプルファイル勉強回。今回使うのは、下記のファイル。https://www.sidefx.com/docs/houdini/examples/nodes/sop/vellumsolver/CollisionDisable.html内容は、コリジョンの有効/無効についてとなっております。サンプルファイルの開き方はこちらの記事を参考。絵としては地味ですが、上図では、コリジョン用の球体が最初布にめり込んだ状態でシミュレーションが開始されている。通常であれば、めり込み部分はコリジョンオブジェクトに引っかかったような挙動になるが、ここではそれが回避されている。[...]
read more
BackBurner使ってて、こんな↓表示になった場合に治るかもしれない対処法。INF @ # $ message missing: 1047 $ # @INF @ # $ message missing: 1050 $ # @INF @ # $ message missing: 1205 $ # @INF @ # $ message missing: 1135 $ # @上位バージョンをインストールし、その後下位バージョンをインストールし直した場合、このようなエラーが出るように思います。対処として、以下のパスにある"backburner"フォル[...]
read more
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
read more
Houdini回ですぜい。今回は影だけレンダリングする方法。使用バージョン:Houdini13新しくソフトを覚え始めると、こういうのでも困ったりする私です。VEXノード使えばできそうだったので、やってみた。この”ShadowMatteノード”で影だけ取得できるっぽい。この例では、影の色を赤くするために、Constantノードで設定した赤にShadowmatteノードのalphaを乗算してます。・・・だが、しかし!実は、Shadow Matteという、それ用のマテリアルがちゃんと用意されてました。マテリアルのUtilityにShadow Mat[...]
read more
今回は相対パスについて書いてみようと思います。Mayaで相対パスを設定する前に、プロジェクトフォルダを確認しましょう。プロジェクトフォルダというのは、メニューの File->ProjectWindow もしくは File->Set Project から決めるフォルダですね。相対パスはこのプロジェクトフォルダから見たパスになります。逆に言えば相対パスを利用する場合は、必ずプロジェクトフォルダを指定する必要があるということです。ちなみに、新しくProjectを作るときはFile->ProjectWindow、すでにあるプロジェクトを指定する場合[...]
read more
またHoudiniのターン。Group(SOP)とAdd(SOP)のコンボで任意の順番にポイントを繋ぐ方法です。まったくプロシージャルじゃないけど。以下手順。1:シーンビューでポイントをちくちくと選択する。2:Group SOPでグループ化する3:Group SOPのパラメータ"Create Orderded"をONにする。これでポイントを入力順にソートできる。4:Add SOPの設定は"By Group"でGroupに先ほど作ったグループを指定。これで選択した順にラインが作られる。Group SOPのCreate Orderedって、視界には入って[...]
read more
Houdini勉強回。Nameアトリビュートをもとにグループを作る方法と、グループをもとにNameアトリビュートを作る方法。いろいろ方法はあると思いますが、簡単な方法をPick Upしました。Name Attribute -> Groupまずは、NameアトリビュートからGroupを作る方法。Partition(SOP)を使うことでそれができます。Partition(SOP)は、ユーザーの定義したルールでグループを作るノードです。パラメータの"Rule"に下図のように、`@name`と記述します。これで、Nameアトリビュート名[...]
read more