MotionBuilder:Pythonコマンド
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]
Let's start where we left off last time●BumpThe bump input accepts a shader that perturbs the normal for bump mapping.Use is possible at mia_material_x and mia_material_x_passes.Overall BumpThere is no influence of "No Diffuse Bump".Standard BumpThere is influence of "No Diffus[...]
続きを読む
Twitterで流れてたgifが面白かったので、Houdiniでマネして作ってみた。2つの形状をブレンドして、変形の際にJiggleを適応したもの。Jiggleについてはこっちの記事でサンプルファイルをアップしています。反省点としては、作り方とネットワークが力技だったなぁ、と。形状大きさ間隔速度に依存しないスマートな作り方ができたはずだ、と。いずれリベンジを、と。[...]
続きを読む
Houdiniメモ。カメラクリップのWrangleを書くのが面倒なので、コピーできるようにココに書いておく。vector _ndc = toNDC("/obj/cam1", @P);float _ox=ch("ox");float _oy=ch("oy");float _oz=ch("oz");if ((_ndc>1+_ox)) removepoint(geoself(), @ptnum); if ((_ndc>1+_oy)) removepoint(ge[...]
続きを読む
mib_amb_occlusionとRampノードを使って、オクルージョンを任意のグラデーションで出力する方法でっす。RampノードとSamplerInfoノードを使ってフレネルっぽい効果を出す方法はよくあるので、今回はその変則ということで。レンダリング画像を先に出すとこんな感じ。パッとみ分かりづらいかもだけど、赤や黄色の部分がオクルージョンの効果が強い部分。青や紫はオクルージョンの効果があまりない部分。mib_amb_occlusionのみだと、通常白黒のグラデーションですが、Rampノードを間に挟むことで任意のグラデーションにすることができます。それを何に使[...]
続きを読む
Houdiniノード勉強回。Labs UV Transfer(SOP)UVの転送。以前これについての記事を書いたが、それのすごい版!トポロジが異るジオメトリに対して、いい感じにUVを転送してくれる。ひとまずVDBを介して低解像度ポリゴンを生成して、UVを転送してみるとその制度が分かる。中身をざっと確認してみると、手法的には以前書いた記事の中の、XYZ Distanceを使う手法と基本は同じで、UVのアイランド毎にUV転送を行っています。あとプラスアルファとしてUVの境界部の処理が付いている感じでしょうか。いつのまにこんな便利ノードが、と思うくらい[...]
続きを読む
NukeのTips回。ノードの入れ替え、Swapの方法。ノードを選択して、Ctrl+Shift押しながら、入れ替えたいノードにドラッグ。実は最近知った、以上![...]
続きを読む
久々更新Houdini回。マニュアル読んでて、ちょっとおもしろいなと思ったので。なんでもビューポートに働きかけるDetailアトリビュートがあるそうな。まず、gl_wireframe。float型のアトリビュートで、0以外の値の場合、そのオブジェクトはシーンビューで常にワイヤーフレーム表示になるそうな。やってみた。単純な球体にwrangleでgl_wireframeというDetailアトリビュートを追加。すると、シーンビューがシェーディング表示になっていても、そのオブジェクトはワイヤーフレーム表示になる。へ~もうひ[...]
続きを読む
Houdiniノード備忘録。Wedgeノード(ROP)同じROPノードを異なる設定で複数回実行できる。以下、使用手順。1:Output Driverで出力したいROPノードを指定指定先のノードの出力パスにWedge変数($WEDGE)もしくはWedgenum変数($WEDGENUM)を入れるのを忘れないように。これないと、出力が上書きされる。●Wedge変数($WEDGE)"Prefix"_"Wedge Parameter Name"_"Wedge Num"."Parameter"で構成される例:`$OS`_$WEDGE.$F4.[...]
続きを読む
Houdiniノード勉強回。更新に困ったときの、こんなノードあったのか回。このノードは、任意の条件でエラーや警告を発生させられるノード。つまり自分ルールでErrorやWarningを追加できるってこと。エラーをねつ造もできそう。パラメータは少ない。"Number of Errors"発生させたいエラーや警告の数。"Error Message"表示させたいメッセージを記述。"Severity"重要度。Massage / Warning / Errorの3つから選ぶ。"Report This Error"値が0の時はデ[...]
続きを読む
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
続きを読む最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]