Houdini:テクスチャ連番を個別にオフセットする
Houdini回。今回はこういうヤツ。 パーティクルに板を貼り付けたもので、マテリアルとテクスチャ連番画像は共通。 テクスチャのシーケンス番号に対する値をパーティクルごと個別に設定しています。 簡単にできるとおもってたら思いの外手間取ってし […]
Houdini、こんなノードがあったのか回!Enumerate(SOP)というノード。このノード、ポイント、またはプリミティブに連続したアトリビュートを作成してくれるノードだそうです。例えば、パラメータのGroup Typeを"Points"に変更、Attributeに"id"と記述して、任意のジオメトリにコネクトする。結果、ジオメトリを構成する各ポイントにidアトリビュートが作成され、0から順番に数字が割り当てられる。・・・へ~パラメータにはグループ指定の項目があり、特定のグループのみにidを割り当てることも出来る。まとめると、これはID的なアトリビュ[...]
続きを読む
車輪リグ考察。前回、フレーム単位で移動距離から回転角を求める方法を試しました。大旨よさげだったのですが、しかし、どうもうまくいかない場合がありました。車輪がスライドした場合です。進行方向ではない向きの移動も回転計算に含んでいるのが原因です。移動ベクトルから、進行方向のベクトルのみ抽出できれば良いのですが・・・。 要約すると。はて、どうしたものか。でいろいろ調べた結果、”内積”使うと良いのでは、と。内積についてはこちらのサイトを参考にしました。難しい話はそちらに任せるとして、前回の考え方に、この内積を組み込んだものをMayaで実装しました。[...]
続きを読む
Houdiniノード勉強回。今回は、Crease(SOP)とSubdivide(SOP)のコンボについて。Subdivide(SOP)は、こんな感じにメッシュを細かく分割し更になめらかにしてくれるノードです。使用頻度の高いノードではないかと思います。Crease(SOP)は、Subdivide(SOP)とセットで使用することが前提のノードです。Crease(SOP)はSubdivide(SOP)よりも前工程で適用しておく必要があります。Crease(SOP)を使うと、任意のエッジをSubdivide(SOP)適用後も、鋭角さを保つことが可能です。例えば以下の[...]
続きを読む
pymelでは、オペレータを使ってもアトリビュートがコネクトできるらしい。忘れないうちに書いておこう。簡単な例として、CubeとSphereを作成し、それぞれのTranslateをコネクトするスクリプト。#モジュールの読み込みimport pymel.core as pm</pre>#新規でCubeとSphereを作成cb = pm.polyCube(name='testCube')sh = pm.polySphere(name='testSphere')# connect#CubeのTranslateをSphereのTransl[...]
続きを読む
Houdiniについてくるサンプルファイルの開き方。その11)メインメニューからHelp > Example Fileを選択。1)カテゴリごとにわかれているので、見たいサンプルをポチポチ選ぶ。3)読み込む。Loadは、起動中のHoudiniにサンプルを読み込む。Launchは、新しくHoudiniを起動してサンプルを読み込む。その21)NetWork Viewでノードを選択。2)パラメータエディタ右上の?ボタンを押して、そのノードのHelpをウィンドウを起動。3)ウィンドウの下の方にそのノードに関連したEXAMPLESが[...]
続きを読む
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
続きを読む
Houdiniノード勉強回。Copy to Point(SOP)を取り上げます。Houdini18でCopy to Point2.0として新しくなったノードのひとつです。これを使うことで、ポイントごとに異なるジオメトリを簡単に配置できるようになりました。Houdini18以前は、CopyStamp(SOP)やforeachを使って実現していた機能ですが、Copy to Point(SOP)でこれが簡単にできるようになったのはうれしい変更点ですね。私は比較していないですが、以前の手法と比較しても高速だとか。以下、参考用ネットワークです。ネットワーク左側[...]
続きを読むここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
続きを読む
最近Houdiniネタばかりだったので、時にはMayaネタもと思いまして。久々、Mayaの小技回です。●Mayaで作ったテクスチャを書き出すMaya内部で作成したテクスチャは、ファイルとして出力することができます。例えば、NoiseだとかRampだとかをテクスチャファイルとして保存することが出きるのです。方法は、1:Hypershadeのメニューからオプションで出力イメージの解像度等の設定ができます。または・・・1:書き出したいテクスチャノードをHypershadeで選択2:右クリックメニューから”Render Texture R[...]
続きを読むHoudini回。今回はこういうヤツ。 パーティクルに板を貼り付けたもので、マテリアルとテクスチャ連番画像は共通。 テクスチャのシーケンス番号に対する値をパーティクルごと個別に設定しています。 簡単にできるとおもってたら思いの外手間取ってし […]
Houdini Tips回。 煙作成時「Gas Resize Fluid Dynamic(DOP)」を使用した際、シミュレーション開始時に計算領域と発生源が重なっていないと上手くシミュレーション出来ない場合があります。今回はその回避法です。 […]


