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 morepymelでは、オペレータを使ってもアトリビュートがコネクトできるらしい。忘れないうちに書いておこう。簡単な例として、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[...]
read more前回に続き、Houdini VEX勉強回。今回は「近接ポイントの情報を取得する」VEX系の関数についてです。近接ポイントとはこの場合、単純に距離の近いポイントのことを指します。近接ポイントを取得するVEX関数は幾つかあります。ここではnearpoint()とnearpoints()を取り上げようとおもいます。表記の違いは名前に"s"があるかないか。まぎらわしい。nearpoint()一番近いポイント番号を取得する。”一番近い”だから、取得するポイントは1コ。最大どこまでの距離を探すか指定する。ポイントが見つからなければ-1。int nearp[...]
read more夜な夜なこんなのを作ってました。この記事はこんなの作ったよ~、くらいの内容です。悪しからず。破片の置換の応用です。「形が似てるなら、ポリゴン以外も置換できるな」とふと思い、手始めに煙で作ってみた次第です。以下、ネットワーク抜粋です。手順は以下の通り。A:煙のSIM読み込みB:煙にリタイムをかけて、箱を満たした辺りでストップするC:煙にNameアトリビュート(point)を付与。このNameは、"D"工程のNameと一致させておく。D:箱を落とすシミュレーションする。(Packed)E:煙の位置を箱の位置と一致させる。F:箱と煙を置[...]
read moreHoudini回。フレームとフレームの間の値が欲しい時があります。上の絵でいうと、1.57613…の小数点以下の部分、0.57613…ですね。この値があると、今、フレームとフレームの間のどのあたりかを知ることができます。この例だと、0.57613…なので、フレーム間のちょうど半分よりすこし次のフレーム寄りだということが分かります。フレーム間を補間するときに便利だったりします。この値をVOPで求めます。ネットワークはfloor(VOP)を使ってこう。floor(VOP)は入力されたFloat値に対して、小数点以下を切り捨てて整数値を返してくれま[...]
read moreHoudini勉強回。Python SOPに実行ボタンをつける。例として、ボタンを押すと`hogehoge`とメッセージウィンドウを表示するPython SOPを作ります。1:Python SOPを作る & Python Codeを記述するPython(SOP)を作成します。ここでは、簡単なメッセージを表示するPython関数にしました。def message(): hou.ui.displayMessage("hogehoge")2:ボタンを作るボタンを作ります。Edit Parameter[...]
read moreHoudini回。以前、Wedge(TOP)についての記事を書きましたが、その続き・・・かな。前回、紹介しなかった方のWedgeの設定の仕方と、そのあとffmpegで動画作成までのフローを書いてく予定です。上のようなのを試しに作ってます。TOPネットワークはこんな。以下、ネットワークの上から順に。1:対象パラメータを指定し、Wedge(TOP)を設定2:キャッシュ出力3:レンダリング4:ワークアイテムをまとめる5:ffmpegでムービー化Step1:対象パラメータを指定し、Wedge(TOP)を設定TOP Ne[...]
read more今回は相対パスについて書いてみようと思います。Mayaで相対パスを設定する前に、プロジェクトフォルダを確認しましょう。プロジェクトフォルダというのは、メニューの File->ProjectWindow もしくは File->Set Project から決めるフォルダですね。相対パスはこのプロジェクトフォルダから見たパスになります。逆に言えば相対パスを利用する場合は、必ずプロジェクトフォルダを指定する必要があるということです。ちなみに、新しくProjectを作るときはFile->ProjectWindow、すでにあるプロジェクトを指定する場合[...]
read moreShadingSwitchノードについて。このShadingSwitchノード、ひとことで切って捨てると『ジオメトリごとに出力を切り替えるノード』です。出力のチャンネル数ごとに、Single、Double、Triple、Quadと4種類のSwitchノードが存在します。Singleなら1チャンネル。単純にスカラ値。アルファの切り替えなどに使えるのでしょうか。Doubleなら2チャンネル。2チャンネルの代表はUVかな。Tripleなら3チャンネル。XYZ、RGB、UVWとかは3チャンネルですね。Quadなら4チャンネル。RGBAくらいしか思いつきません。これら[...]
read moreHoudini回。かなり前になりますがチャンネルのベイク方法について書いたのですが、CHOPのベイクがもっと簡単にできてたので備忘録も兼ねて。いつからだろ? もしかしてはじめからから? まぁ、よい。ベイク用に次のようなアニメーションを用意しました。箱がZ方向へ直進するアニメーションをキーフレームで作成して、それに対してCHOPでノイズを足したものです。キーフレームは最初と最後にのみ打ってます。この動きをベイクします。ベイクしたいチャンネルで右クリックメニューからを選択すると”Bake Keyframes on Selected[...]
read more