以前教えていただいたのに、毎回忘れて調べるのでここに書く。Orientをrotateに変換するVOPの場合orient(bind)を Rotate by Quaternionのquaternionに繋ぎ、qrotateのvecに何かしらのVectorデータを繋ぐ。qrotateにつなぐvectorは、上例の場合vec(0,1,0)としているが、例えば@Nにすれば結構、各ポイントでコントロール可。Wrangleの場合@N = qrotate(@orient, {0,1,0});2022/02/18追記これの活用例。サンプルファイ[...]
read more
Contour最後です。今回は作例を二つほど。まずはContour使ったMayaのシェーダー作例。 作例1『mentalrayVertexColors』ノードと『contour_shader_widthfromcolor』を組み合わせて、”不要なContourラインを塗って消せる”、そんなシェーディングネットワークを組んでみようと思います。レシピは、・『mentalrayVertexColors』(頂点カラー取得用)・『surfaceShader』(アサイン用マテリアル)・『contour_shader_widthfromcolor』(マテリアルの色でラインの太[...]
read more
Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
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回ですよ~。せっかくのHoudiniなのにずっと地味な記事ばっかり、だけど気にしません!今回はポイントばらまき系のレシピをいくつか。ビデオチュートリアルとか見てるとよく使われてるノードの組み合わせです。ジオメトリをベースにポイントをばらまきます。ばらまかれたポイントは、エミッターとして使ったり、ボロノイのポイントに使ったりと、いろいろ使えます。●"Scatter"ノードをつかった場合ジオメトリの表面にポイントが作られます。●"iso Offset"ノードと"Scatter"ノードを使った場合[...]
read more
壁の中から人が・・・みたいな感じで作ってみたのだけれど、どうかな?スターウォーズのハン・ソロがこんな感じでカーボンフリーズされなかったっけ?とか思いながら作ってた。 壁と顔が一体のジオメトリになってるんです。繋ぎ目なし。ちょっとサンプリング数上げ過ぎたかしら?も少し粗くすれば、逆に滑らかになったかも。実は壁薄くて、壁の下には首までありますw[...]
read more
Houdini勉強回。複数のVDBボリュームをひとつにまとめるノード「VDB Conmbine(SOP)」の使い方。こんな感じに、右側のコネクトに複数のVDBをコネクト出来る。最近、知りました。今まで、VDBの数だけノード用意してひとつずつコネクトしてたのですが、大量のVDBデータをマージしたい場合があり、さすがに大変で。ループ処理でもうまくいかないし、困ったなと思ってマニュアルみたら、書いてました!これを実現するためにはパラメータ"Collation"をに設定する。設定の意味は、”入力AのVDBに入力BのVDBを全て結合する”、でしょうか。(ボ[...]
read more
Houdiniを使っていて、NDCという座標系に触れる機会が増えました。なので、そのメモ。NDCは「Normal Device Cordinates」の略で日本語にすると、標準デバイス座標というらしい。もっと噛み砕いて言うと、カメラを基準にした座標系、だそうです。カメラからのdepthを作ったり、ベクターブラ―を作ったり、ともかくカメラ基準で何かしたいときに重宝してます。カメラの位置が原点で、x座標とy座標は、それぞれカメラに映る領域が0~1の範囲に収まるようになっています(正規化)。Z座標は、カメラから被写体方向にマイナス値で大きくなっていきます。遠ければその[...]
read more
今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
read more
Houdini回。Houdiniにはopから始まるエクスプレッションがたくさんあります。個人的に紛らわしいと思ってるのはopinput~とか、それに類するやつらです。opinputとかopinputpathとか。さらにはop:`opinputpath(".",0)`とか合わせ技っぽいのまで。似たような名前と機能で、モヤモヤしてたのでスッキリさせようと思って取り上げました。opinputpath指定したノードの入力に接続されたノードのフルパスを取得できる。opinputpath("参照ノードのパス", &[...]
read more