Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
read more
Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
read more
Houdiniノード勉強回。今回は、Crease(SOP)とSubdivide(SOP)のコンボについて。Subdivide(SOP)は、こんな感じにメッシュを細かく分割し更になめらかにしてくれるノードです。使用頻度の高いノードではないかと思います。Crease(SOP)は、Subdivide(SOP)とセットで使用することが前提のノードです。Crease(SOP)はSubdivide(SOP)よりも前工程で適用しておく必要があります。Crease(SOP)を使うと、任意のエッジをSubdivide(SOP)適用後も、鋭角さを保つことが可能です。例えば以下の[...]
read more
Houdini回。個人的に「おっ!?」となったネタ。Polygon→VDB→Polygonでメッシュ化したトポロジ違いのジオメトリになんとなくオリジナルのUVを転送する方法。破壊で重宝しそうと思って。オリジナルこれのUVをトポロジ違いのジオメトリに転送していく。ふつうにAttribute Transfer(SOP)で転送これをVDB from PolygonとConvert VDB使ってトポロジを変更し、Attribute TransferでUVを転送すると、UVがつながったままでぐじゃっとなる。(Convert VDBのTransfer Surface A[...]
read more
再びオクルージョンネタと言うことで、今度は『mib_fg_occlusion』ノードについて調べてみました。以前に書いた、『mib_amb_occlusion』同様、オクルージョン系のノードです。Mentalrayはオクルージョンひとつとってもいろんな方法があるので、混乱しどころだったりするのではないでしょうか。使う側からしたら、「これ使っとけばいいよ」みたいな最強のを一個だけ用意してくれればいいのにって思ったりもします。『mib_fg_occlusion』、名前に”fg”と付くとおり、FinalGatherを使ったOcclusionです。FinalGather[...]
read more
Photoshopで点線を書く方法!でブラシウィンドウを開く。(ショートカットF5)間隔の項目をぐぃっと大きくすると、点線っぽくなる。真円率を小さくすることで、円がつぶれてさらに点線っぽくなる。四角ブラシを使うことで、パーフェクト点線になる。四角ブラシはブラシのオプションから追加する。以上![...]
read more
Houdini回。前回に引き続き、Fog Rayを作る方法、別解!普通にVolume使ってもFog Ray作れるのでは、と思ってやってみた。アルファめちゃ薄いけど、っぽいものは出来たかなと。以下、手順をStep by Stepで。1:スポットライトを作成する。Fog Rayの光源ですね。基本、この光に照らされた範囲がFog Rayになります。2:Volume(SOP)でFogを作成するFogRayを作りたい領域にFogを作成する。ここでは、安直にVolume(SOP)を使った。普通にBox型でも良いですが、ライ[...]
read more
Houdiniノード勉強回。今回はVOPのif block。"Block Begin If"と"Block End"ノードで構成される条件分岐のためのノード。「なんじゃこりゃ」、「どうやって使うんじゃ」と思って調べたやつ。・・・VimeoのMaster Class見ながら勉強したんですけどねw作り方はVOPネットワーク内でtabメニューから"if block"使い方。こんな感じ"Block Begin if"に条件の判定結果とFlaseの時の値、"Block End"に条件がTureの時の値を繋いで使う。"Block Be[...]
read more
今回はtoxik回です。toxikのGroup(グループ)についてまとめです。toxikのGroupはAfterEffectsでいうプリコンポーズのようなものです。Group化するにはGroup化したいノードを選択して、右クリック→Group。"Group"と"Group(Visual)"の違いは↓の通り。 Groupの中身が見えるのがGroup(Visual)です。Groupノードをダブルクリックすると、Group内に入ることができ、Group内の何もない所でダブルクリックすると上の階層に上がることが出来ます。また、Groupノード上で右クリックか[...]
read more
Houdiniノード勉強回。Match Size(SOP)ノードを使うと、容易にオブジェクトを原点に配置できることを、最近知りました。使い方は簡単、Match Size(SOP)にジオメトリを繋ぐだけ。”原点に配置”したいって時、けっこうあるので、「ノードいっこで簡単にできたのか!」、と思った次第でした。Transform(SOP)のパラメータにある"Move Centroid to Origin"でも、ジオメトリを原点に配置できるのですが、それだとプロシージャルでないし(異なるジオメトリに適応できない)、かといってExpressionを書くのも面倒くさい。なので、[...]
read more