Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read more
なんてことだ。記事を消してしまったようだ。なので、もう一度書き直します。Mayaのpymelでアトリビュートを調べる際はlistAttr()をつかい、メソッドを調べる際は、dir()を使う。import pymel.core as pmoObj = pm.polyCylinder(n="Cylinder", r=5, h=1,sz=1)print "アトリビュートのリスト↓"print pm.listAttr(oObj)print "使えるメソッド↓"print [...]
read more
FBrenderというファイルを変更すると、レンダリング時の出力先のプリセットを追加変更することができる。以前書いたFBresと同様、Houdini起動時に環境変数HOUDINI_PATHで指定されたパスにあるOPmenuファイルを参照します(たぶん)HOUDINI_PATHが設定されていなければ、$HOME/houdinixx.xを参照します(たぶん)参照先のパスに、OPmenuファイルがない場合は、"Opmenu"ファイルを作成して中身書きます(拡張子なし)$HHにファイルフォーマットの参考があります。ためしに、$HHにあるFBrenderを開いてみ[...]
read more
Houdini勉強回。Nameアトリビュートをもとにグループを作る方法と、グループをもとにNameアトリビュートを作る方法。いろいろ方法はあると思いますが、簡単な方法をPick Upしました。Name Attribute -> Groupまずは、NameアトリビュートからGroupを作る方法。Partition(SOP)を使うことでそれができます。Partition(SOP)は、ユーザーの定義したルールでグループを作るノードです。パラメータの"Rule"に下図のように、`@name`と記述します。これで、Nameアトリビュート名[...]
read more
FUmeFXのリファレンスメモ、二回目です。今回はSimタブのSimulationロールアウトの項目です。バージョンは3.5です。※1:Doundless直訳すると無限の。Gridからはみ出したとき、はみ出したぶんも計算するかどうか。軸ごとに設定。とてもお世話になる。(左:Boundless・・・すべてNone。 右:Boundless・・・Both)※2 - Out of Range Types -(シミュレーションキャッシュフレーム外の挙動)Before Start Frame・・・キャッシュ開始フレームより前の挙動[...]
read more
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
read more
Houdini Advect Calendar2018 20日目の記事に投稿します。ビンに水を貯めました。FLIPです。メッシュ化してません。テーマと問題点この作例のテーマは、「水を貯める」です。HoudiniのFLIPでは、水を貯めようとすると、なぜか水かさが減ります。こんな感じ。満タンまで、入れても半分くらいに減っちゃってます。減る割合は一様ではなく、パーティクル一粒のサイズ(Particle Separation)が小さいほど、また水の動きが大きいほど、よく減ります。原因は理解していませんが、このように器の中に水を貯めようとすると必ず減[...]
read more
Houdini回ですよ~。今回もコンストレイント系というかそういうのです。オブジェクトレベルで、ペアレントコンストレイントできないものかと思って調べたのです。Fetchノード使ったらできるとわかったので、メモも兼ねて。Fetch Objectでオブジェクトのパスを指定して、"Use Parent Transform of Fetched Object"もONにしとけばOKかな。以上、簡単ですが今回はここまで。変なところがあったらご指摘を!使用バージョン:Houdini13[...]
read more
「あまり人が解説してないものを」ということでtoxikにしました。メインで使ってるプロダクションってあまりないですよねwときどき、Autodesk Composite(以下toxik)について、(主にToolまわりを)調べていこうと思います。まずtoxikについて基本をざっくりと解説。toxikはMayaとMaxの2010以降に統合されたノードベースのコンポジットソフトです。いつからか名前が"Composite"に変わりましたが、ここでは昔のまま"toxik"と呼ぶことにします。デフォルトのUIはこんな感じ↓①:Menuではファイルの保存や素材の読み込み、他[...]
read more
Houdiniネタ。Pyro Solver(SOP)などの、中にいっぱいノードが入ってる系のノードで、パラメータが内部のどのノード由来かを知りたい場合があります。それを簡単に調べる方法。パラメータの右クリックメニューで、すると次のようなウィンドウが開きます。左上のViewのところを、DependentsかReferenceに切り替えることで、外に出してるパラメータか内部で参照してるパラメータかを切り替えることができます。リストから飛びたいパスを選択し、右下の矢印ボタンを押すと、その階層までネットワークがジャンプします。逆からも辿れます。[...]
read more