Maya:強制終了からのリカバリ
『突然、Mayaの野郎がエラーメッセージをはいて強制終了しやがった』 『この作業が終わったら保存しようと思っていたのに・・・』 わりとよくある事だったりします。 そんな時、もしかしたらファイルを復旧できるかもしれない方法っす! この場所を探 […]
ここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
続きを読む
アンビエントオクルージョン(以下AO)の効果を出すことができる、Mentalrayのテクスチャノード。使用頻度は高い。テクスチャノードなので、マテリアル等に繋いで使う。下の例は、シンプルにsurfaceShaderのoutColorにつないだものです。上記マテリアルをモデルにアサインしてレンダリングすると↓アトリビュートはすべてデフォルトです。アトリビュートを見ていきます Sample値が小さいとノイズっぽい。大きいとキレイだがレンダリング時間増Bright & Dark明部と暗部の[...]
続きを読む
Houdiniを使っていて、NDCという座標系に触れる機会が増えました。なので、そのメモ。NDCは「Normal Device Cordinates」の略で日本語にすると、標準デバイス座標というらしい。もっと噛み砕いて言うと、カメラを基準にした座標系、だそうです。カメラからのdepthを作ったり、ベクターブラ―を作ったり、ともかくカメラ基準で何かしたいときに重宝してます。カメラの位置が原点で、x座標とy座標は、それぞれカメラに映る領域が0~1の範囲に収まるようになっています(正規化)。Z座標は、カメラから被写体方向にマイナス値で大きくなっていきます。遠ければその[...]
続きを読む
こんなの作ってみましたYoutubeの動画説明欄にリンクを貼っていますが、これをBlenderで作っている人がいて、「なにおぅ、Houdiniだってこのくらい!」というノリで作ったものです。水は、皿の影になるところにエミッタを置いて、そこから発生。また一番上からだけ流すと、一番下の皿に溜まるまでシミュレーション時間がかかってしまうので、皿ごとにエミッタを置いて水が溜まるまでの時間を節約しています。別アングルから見たプレビューだと、その様子が分かります。また厚みの薄い水のシミュレーションは、メッシュ時に穴がぽこぽこ開くのですが、今回はある程度水かさが増えたとこ[...]
続きを読む
toxikノード解説回です。今回は「Garbage Maskノード」です。これがtoxik上で作るマスクですね。項目が多いため全部解説は無理なので、大事なところに絞って解説していきます。↓がGarbage Maskの設定項目です。ザックリABCの三つの領域に分けました。左側が現在作成されているマスクの一覧が表示され、右側に現在選択されているマスクの詳細が表示されています。マスクの作成は真ん中あたりAの領域のアイコン群から作成できます。次にBの領域の、マスク一覧の見方から。①の領域から。S・・[...]
続きを読む
Houdini回。キーフレームアニメーションの繰り返し方法。つまり、これを・・・こうするヤツ。Edit Channel Propertiesを使う1.キーフレームを作成したパラメータ上で右クリックメニューからを選択する。2.Edit Channel Propertiesが起動する。該当チャンネルのBefore、Afterの項目をCycleに変更し、Aceptボタンで適応する。これでキーフレームアニメーションが繰り返される。ここではCycle以外にも、いろいろ用意されている。・・・[...]
続きを読む
ブログでプログラムのコードを綺麗に表示する方法を覚えたので、今回はそっち系です。再帰関数を使用して、複雑な親子階層からオブジェクトのみ取得するMayaのスクリプトを書いてみました。親を選択してこのスクリプトを実行すると、親以下すべての階層を検索してMeshのリストを作成します。ちなみにpymelです。#再帰関数使ってMeshのみを取得import pymel.core as pm#再帰関数def getMeshList(Node, MeshList): #選択したノードの子供をリストで返す children = Node.ge[...]
続きを読む
Houdiniノード勉強回。今回は、Crease(SOP)とSubdivide(SOP)のコンボについて。Subdivide(SOP)は、こんな感じにメッシュを細かく分割し更になめらかにしてくれるノードです。使用頻度の高いノードではないかと思います。Crease(SOP)は、Subdivide(SOP)とセットで使用することが前提のノードです。Crease(SOP)はSubdivide(SOP)よりも前工程で適用しておく必要があります。Crease(SOP)を使うと、任意のエッジをSubdivide(SOP)適用後も、鋭角さを保つことが可能です。例えば以下の[...]
続きを読む
Houdini studyHoudini study roundI couldn't figure out how to add more control points in Cureve(SOP) later, so I looked into it.The answer is to select the curve, hold down Enter! & Shift, and click!I took the trouble to look it up, but when I looked closely, it was written on[...]
続きを読む
Houdini勉強回。Python SOPに実行ボタンをつける。例として、ボタンを押すと`hogehoge`とメッセージウィンドウを表示するPython SOPを作ります。1:Python SOPを作る & Python Codeを記述するPython(SOP)を作成します。ここでは、簡単なメッセージを表示するPython関数にしました。def message(): hou.ui.displayMessage("hogehoge")2:ボタンを作るボタンを作ります。Edit Parameter[...]
続きを読む『突然、Mayaの野郎がエラーメッセージをはいて強制終了しやがった』 『この作業が終わったら保存しようと思っていたのに・・・』 わりとよくある事だったりします。 そんな時、もしかしたらファイルを復旧できるかもしれない方法っす! この場所を探 […]
今回は『mib_twosided』ノードにしてみました。 この『mib_twosided』、珍しく見れば使い方が分かるノードではないでしょうか。 それでもあえて、取り上げてみます。 このノードは、”twosided” […]
なんてことだ。 記事を消してしまったようだ。 なので、もう一度書き直します。 Mayaのpymelでアトリビュートを調べる際はlistAttr()をつかい、 メソッドを調べる際は、dir()を使う。
