ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
read more
Houdiniメモ。カメラクリップの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
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の下半分[...]
read more
Nuke article.長い尺のカットで、3フレーム飛ばしとか、5フレーム飛ばしとかで再生したい場合があった。Readノードのframeパラメータに次のようなエクスプレッションで対応した。この場合は5フレーム飛ばし。ceil(frame/5)*5割り算して、小数点切り上げて、掛け算して、って感じ。ceilのかわりに、floorでもいいはず。もっと別な方法があったような気がするけど、分からなかったので、これで。もやもや。[...]
read more
Houly Daily Challenge Week2の感想戦。Day5 WAVE前日に発症した「何も思いつかない病」が尾を引いている感がありました。もっと抽象的なイメージにしたかったのですが、やってみると上手くまとまらず、こういった構図になりました。この日になるともう、若干いじけてDaily Winnerとか諦めてた気がします。Day6 SWINGニュートンのゆりかご。Daily Winnerで2位が取れたヤツです。ニュートンのゆりかご自体は、結構簡単に作れたのですが、イマイチ華がなかったので、球体の中にGrainを入れたのです。D[...]
read more
Houdiniノード勉強回。今回取り上げるのは、RBD Constraints From Lines(SOP)。個人的に、いつも使い方を忘れてしまうノードの一つだったりします。ノードで名前の通りRBDシミュレーション用のコンストレイントを作成するノード。RBD Constraints From Line(SOP)マニュアル曰く(意訳)、ビューポート上でラインを引くことで、破片に対してコンストレイントを作成することができるノード。以下、使い方の例。上例では、簡単に板を2枚縦に並べたものを、RBD Material Fracture([...]
read more
Houdini Advent Calendar2016 I paticipated on the16th day.It is an example fo Houdini's L-System in the last continuation.Sample011PermiseF-F-F-F-F-F-F-FRule 1F=F--F+F+F+F+F+F+F--FAngle45Generations1Sample012 - Koch_Curve 01Koch curve[...]
read more
Houdini回。今回はこれ。Geometry(OBJ)ノードの真ん中あたりにあるパラメータ↓について。上記のパラメータを"Clean Transform"にすると、状態を維持したまま、数値を強制的に0にすることができる。言い換えると、原点以外の場所を0とみなすことが出来る、ってこと。(Mayaのフリーズって、こんな感じの機能じゃなかったっけかな)このパラメータ、選べる項目が沢山あるので、それぞれ確認してみようと思います。Clean Transform・・・Translate,Rotate,Scaleの3項目すべて、現在の値を0とみなす。[...]
read more
はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
read more
※ 注意 ※この記事のリグは失敗例です。記事のとおり作ると、記事の通り失敗します。それでもよいという天の邪鬼な方に向けておくる、"Mayaで作る車輪リグ考察(失敗編2)まずは前回の失敗から。一方向の移動にしか、車輪の回転が実行されませんでした。原因は計算に使ったのがX軸方向の移動距離だけだったからです。他の軸も考慮に入れなければ・・・。そこで管理人、思った。「これは、大変そうだなぁ~」できれば「前回のExpressionをちょっと書き直したらできちゃった」が望ましい。そこで管理人、まじめに思った。「オブジェクトスペースで座[...]
read more