モジュロ演算子でフォーマット変換 for python
備忘録をかねて。 pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。 型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。 でも、すぐ忘れます。 […]
Houdiniカスタマイズ回。FBresというファイルを変更すると、Mantraノードや、カメラのResolusionプリセットを変えることができる。Houdini起動時に、環境変数HOUDINI_PATHで指定されたパスのFBresファイルを参照します(たぶん)HOUDINI_PATHが設定されてない場合は、$HOME/houdinixx.xを参照します(たぶん)(デフォルトだとHOUDINI_PATHは設定されてなかった気がします)($HOMEはwindowsの場合は、"C:\Users\<username>\Documents\"かな)[...]
続きを読む
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
続きを読む
今回は3dsMaxです。3dsMaxの細胞マップとその周辺パラメータについて調べる機会があったので。備忘録もかねて。まず座標からソースマッピングの種類オブジェクトXYZ・・・オブジェクトのローカル座標。オブジェクトがアニメーションするけどデフォームしないならこれかなワールドXYZ・・・シーンのワールド座標でマッピング明示的マップチャネル・・・マップチャネルの有効。UVW座標を使うということかな。1~99の任意のチャネルを選択できるらしいが、つまり1~99までUVWマップが持てるということかな。頂点固有の[...]
続きを読む
Houdini回です。今回はカーブの接線(tangent)を取得方法を幾つか。調べて忘れて調べてを繰り返すので、備忘録も兼ねて。polyFrame(SOP)で接線を取得polyFrame(SOP)を使うと、「Normal(法線)」「Tangent(接線)」「Bitangent(従法線)」を取得することができます。下の青線がNormal(法線)、黄色線がTangent(接線)、赤いのがBitangent(従法線)。接線だけが欲しい場合はTangentだけ有効にしとけばOKStyleの設定で、平滑化[...]
続きを読む
本格的にHoudiniを覚え始めたので、いろいろメモです。●*OPまず、Hoduiniで「なんぞ?」と思ったのは、SOPとか、DOPとか、POPとか、そのあたり。初心者には謎すぎます。なので、調べた。SOP・・・モデリング (Surface OPerations)POP・・・パーティクル(Particle OPerations)DOP・・・ダイナミクス(Dynamics OPerations)CHOP・・・チャンネルアニメーション(Channel OPerations)VOP[...]
続きを読む
Houdini回です。タイトルどおり「煙でパーティクルを動かす」、回です。これを↓これで↓動かす↓(gifアニメ・・・重くなってしまったorz)Fumeと3dsMaxのPFlowでいうところの、"FumeFX Follow"的なのをやりたいのです。ここでは、"Pop Advect by Volumes"ノードを使ってパーティクルを流体の動きに沿わせます。手順としては、①:煙を作る②:パーティクルを作る③:煙の動きを使ってパーティクルを動かすとなります。では、ざっくりやってみます。①Pyroで煙を作りますSour[...]
続きを読む
Houdiniノード備忘録。Wedgeノード(ROP)同じROPノードを異なる設定で複数回実行できる。以下、使用手順。1:Output Driverで出力したいROPノードを指定指定先のノードの出力パスにWedge変数($WEDGE)もしくはWedgenum変数($WEDGENUM)を入れるのを忘れないように。これないと、出力が上書きされる。●Wedge変数($WEDGE)"Prefix"_"Wedge Parameter Name"_"Wedge Num"."Parameter"で構成される例:`$OS`_$WEDGE.$F4.[...]
続きを読む
ネタに困ったときのMayaトリビア Channels Box内の表示桁数を変更する↓の赤枠のところの数値の事です。デフォルトは小数点以下3桁まで表示されます。これは、4桁目で四捨五入された値で、数値としては小数点以下4桁よりも小さい値もちゃんと持ってます。それを見るには、Channel Boxのメニューから小数点以下何桁まで表示するか聞かれるので、桁数を入力。小数点以下15桁まで表示可能。数値上は同じ値なのにView上をよく見るとずれてる、なんて時にこの桁数を増やしてみると意外な誤差を発見する・・・なんてこともあったりして。[...]
続きを読む
Houdiniノード勉強回。Path Deform(SOP)。カーブに沿った変型をしてくれるノード。とっても便利。変型だけでなくカーブに沿った移動もしてくれる。複数のカーブにも対応しているのもうれしい点。またオフセットのタイミングもアトリビュートで個別に制御出来るし、当然のようにScaleとRotateにも対応している。優秀。これはもう、動かせるcopyノードと言ってもよいのでは。使い方はいたって簡単で、1番目の入力に変型させたいジオメトリ、2番目の入力にカーブを繋ぐだけ。パラメータの詳細はドキュメント参照。作例として次のよう[...]
続きを読む
なんとなく、以前作った水のヤツに水車を追加してみました。シンプルな構成なはずが、ちょいちょい色んなところに引っかかってしまったので、メモがてら書いてきます。作業画面はこんな感じ。レンダラはRedshiftを使っているので、View用のマテリアルとRender用のマテリアルとを切り替えて使ってます。DOPネットワーク内はこんな感じ。コリジョンと水車と水。Feedback ScaleDOPネットワーク内で、Flipが他のシミュレーションに影響を及ぼすためには、Flip Solver(DOP)のパラメータ"Feedback Scale"の数値を設定する必要がありま[...]
続きを読む備忘録をかねて。 pythonはモジュロ演算子(%)を使って文字列へのフォーマット操作ができます。 型変換だけならstr()等でキャストでもいいのですが、桁揃えとかもやってくれるので極力こっちを使うようにしています。 でも、すぐ忘れます。 […]
今回は『mip_matteshadow』について調べていこうと思います。 このノード、仕事であまり使ったことないんですよね。 そのためか、ちらほら分からない所があります。 さて『mip_matteshadow』ノードですが、マニュアル的には […]
再びオクルージョンネタと言うことで、今度は『mib_fg_occlusion』ノードについて調べてみました。 以前に書いた、『mib_amb_occlusion』同様、オクルージョン系のノードです。 Mentalrayはオクルージョンひとつ […]
今回は備忘録二本立てです。 一つめはmip_shaderを有効にするMelコマンド mentalrayCustomNodeClass.melを変更するのは面倒なので、こちら↑を使うことが多いです。 いろんなサイトで紹介されていますが、自分い […]
今回は「Z用マテリアルがどうしても必要。でも作るの面倒だ。」そんなときに役立つ方法です。 古いバージョンのMayaでは、レンダレイヤーから右クリックでオクルージョンとかZデプスとか、プリセットで選べたのだが、いつ頃からかそれがなくなってしま […]
今回はMayaでのmentalray proxyの方法について書いてみました。 自分これ何回やっても忘れてしまって・・・歳のせい? ①:プロキシ化したいオブジェクトを選んで、[File]→[Export Selction…] ② […]



