パワーストーンナイフなるものを作成している方のサイトを見て、「いいなぁ。作ってみたいなぁ」、とおもってみたものの、何をどうやって作ればよいものかさっぱり。やり場のない欲求をCGではらしてやれと作りました。マテリアルは基本すべてmia_material。刃の部分だけ一部misss_fast_shader_x_passes使ってます。back_resultのパスだけ使いたかったのです。それにしてもナイフってリアルではどうやって作るのだろう?FF9のVivi作ってみた[...]
read more
ここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
read more
ノードあれこれ#選択中のノードをすべて取得(リスト取得)oNodeS = hou.selectedNodes()#最初の一つを取り出すoNode = oNodes#ノードのロックがかかっているか否か確認するoNode.isLocked()#ノードのバイパスのON/OFFを確認するoNode.isBypassed()#ノードの入力を取得する(タプル取得)oNode.inputs()#子供のノードを取得します(リスト取得)oNode.children()ノード検索(glob)obj = hou.node[...]
read more
Houdini Python、ダイアログ系のサンプル。シェルフにでも張り付けてポチると出てくる・・・たぶんね。ポップアップメッセージhou.ui.displayMessage("hoge")テキストフィールド付きダイアログimport houDialog = hou.ui.readInput(message ="Text Field Dialog\n",title = "TextField Dialog",severity=hou.severityType.Warning,b[...]
read more
Houdini勉強回。前回、MatchSize(SOP)について取り上げましたが、そこで紹介しなかった機能があります。それが、Restore/Stash Transformのパラメータです。これらを使うことで、MatchSize(ROP)による原点への移動値をアトリビュートとして保持したり、逆にアトリビュートをもとに移動することができます。以下のようなネットワークで、ジオメトリ(任意座標)を原点に移動、Twistをかけて、元の位置に戻す、というものです。(1):MatchSize(SOP)で原点に移動。パラメータ"Stash Transform"を有効に[...]
read more
Houdini17リリースされましたね。魅力的な機能がたくさんありましたが、その中で地味に新しく搭載されたRetime(SOP)ノードがちょっと衝撃で。Retime(SOP)は"フレーム間の補間"と、"スピードの可変"ができるノードのようです。これまで、TimeBlend(SOP)とTime Shift(SOP)で行ってた機能が、このノードにまとまった感じでしょうか。何がすごいって、"TimeBlend(SOP)とTime Shift(SOP)のコンボ"では難しかった、SOPでのVolumeスロー表現ができるようになってました。以下、17.0のRetime([...]
read more
「気晴らしに 作ってみました 無限ループその2」 いっぱい字余り。こんなの作ってる場合じゃないんだけど、気が付いたら手が勝手に作ってた。ぷるぷるは、Balloon設定のVellum。あとRedshiftでのSSSと、ジオメトリライトも確認もかねて使ってみました。緑色の”ぷるぷる”を、ほんのり光源にしてます。レンダリング早いは早いけど、そこそこ時間かかった。いや、Mantraよりずっと早かったんだけどね。GPUメモリが足りてない印象。横着せずにプロキシ化すれば早くなったかなぁ。そろそろ、雰囲気だけで設定するのが難しくなってきたので、マニュアルを読まねば[...]
read more
前回に続き、Houdini VEX勉強回。今回は「近接ポイントの情報を取得する」VEX系の関数についてです。近接ポイントとはこの場合、単純に距離の近いポイントのことを指します。近接ポイントを取得するVEX関数は幾つかあります。ここではnearpoint()とnearpoints()を取り上げようとおもいます。表記の違いは名前に"s"があるかないか。まぎらわしい。nearpoint()一番近いポイント番号を取得する。”一番近い”だから、取得するポイントは1コ。最大どこまでの距離を探すか指定する。ポイントが見つからなければ-1。int nearp[...]
read more
なんとなく、以前作った水のヤツに水車を追加してみました。シンプルな構成なはずが、ちょいちょい色んなところに引っかかってしまったので、メモがてら書いてきます。作業画面はこんな感じ。レンダラはRedshiftを使っているので、View用のマテリアルとRender用のマテリアルとを切り替えて使ってます。DOPネットワーク内はこんな感じ。コリジョンと水車と水。Feedback ScaleDOPネットワーク内で、Flipが他のシミュレーションに影響を及ぼすためには、Flip Solver(DOP)のパラメータ"Feedback Scale"の数値を設定する必要がありま[...]
read more