Houdini回。ノイズ系VEXの続き。(以前、調べたのはTurblent Noise)Worley Noiseいわゆるセルノイズ。各種セルノイズの基本になるっぽい。派生があるっぽいので、ちゃんと調べる。HoudiniのWorley(VEX)は出力がいっぱいある。dist1~dist4までそれぞれ結果が違う。このdistは一体何なのか?その前に、Worleyノイズとはどういうノイズなのか?調べた。むずかしそうなこと色々書いてあったが、要約すると以下のようなものと理解した。あちこちに評価ポイントをばらまいて、近い評価ポイントまで[...]
続きを読む
FUmeFXのリファレンスメモ、4回目です。前回の続きで、Fuelロールアウトの項目からです。バージョンは3.5です。今回は画像一枚で終わりッス。パラメータ比較Movieは作ってません。間違い等ありましたら、ぜひご指摘願います。その1 ,その2 ,その3 ,その4 ,その5, その6, その7, その8, その9[...]
続きを読む
はい、Houdini回。今回は地味に大事なPyroのContainerを回転させる方法です!ここで言う、Containerとは下図の四角い枠のことです。以下、手順です。(初めにShelfから標準的なPyroの煙を作成してあるとします)①:Positionノードを作成するPositionノードを作成し、Smoke Objectノード(Pyroと表記されたのード)の下に入れときます。このPositionノードは、オブジェクト(ここではSmoke Objectノード)が使用できる位置情報を作成することができます。[...]
続きを読む
Houdini回。フレームとフレームの間の値が欲しい時があります。上の絵でいうと、1.57613…の小数点以下の部分、0.57613…ですね。この値があると、今、フレームとフレームの間のどのあたりかを知ることができます。この例だと、0.57613…なので、フレーム間のちょうど半分よりすこし次のフレーム寄りだということが分かります。フレーム間を補間するときに便利だったりします。この値をVOPで求めます。ネットワークはfloor(VOP)を使ってこう。floor(VOP)は入力されたFloat値に対して、小数点以下を切り捨てて整数値を返してくれま[...]
続きを読む
『mi_car_paint_phen_x_passes』の続きから。 Flake ParametersFlakeは顔料の層にある金属片のこと。Flake ColorFlakeの色。デフォルトは白。(下のサンプルは"Weight"=5)。黒の場合はWeight=0と同義かな。Flake WeightFlakeの強さ。デフォルトは1.0。Flake ReflectFlakeの反射。デフォルトは0。通常0.1くらいで十分らしい。あまり高い値は使わないらしい。Flake Expフレークのスペキュラ指数。[...]
続きを読む
最終的にコインは2万5000枚くらい落ちてきてます。シミュレーション自体は軽くて、30分くらいで終わりました。発生源を3種類用意してコインを分類し、シミュレーションした後にColor情報用のUVを生成しています。[...]
続きを読む
Houdiniノード勉強回。Labs UV Transfer(SOP)UVの転送。以前これについての記事を書いたが、それのすごい版!トポロジが異るジオメトリに対して、いい感じにUVを転送してくれる。ひとまずVDBを介して低解像度ポリゴンを生成して、UVを転送してみるとその制度が分かる。中身をざっと確認してみると、手法的には以前書いた記事の中の、XYZ Distanceを使う手法と基本は同じで、UVのアイランド毎にUV転送を行っています。あとプラスアルファとしてUVの境界部の処理が付いている感じでしょうか。いつのまにこんな便利ノードが、と思うくらい[...]
続きを読む
今回は「Z用マテリアルがどうしても必要。でも作るの面倒だ。」そんなときに役立つ方法です。古いバージョンのMayaでは、レンダレイヤーから右クリックでオクルージョンとかZデプスとか、プリセットで選べたのだが、いつ頃からかそれがなくなってしまいました。オクルージョンはともかくZ用のマテリアルは楽に作れただけに残念だなぁ、なんて思ってたらありました。レンダーレイヤーのアトリビュートのプリセットに残ってました。ここのLuminance Depthを選ぶと↓のマテリアルが作られます。(レイヤー内のオブジェクトに自動で割り当てられてしまうので注意)作られたマテリアルに手を加える[...]
続きを読む
Houdini回ね。今回はAttribute Wrangle(SOP)を使ってPointを作ります。最終的にはPointを並べてこんな感じのを、と。sin()とcos()が出てくるのであしからず。では早速。まず、AttributeWrangle(SOP)のRun Overの項目を"Detail(only once)"に変更しておきます。Pointを作成するコマンドはaddpoint()を使います。addpoint(geoself(), {0, 1, 0});上のコードで点が1コ作られます。点を作るのはこれだけ。[...]
続きを読む
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
続きを読む