MotionBuilder:Pythonコマンド
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]
Advent Calendarの17日目に参加です。ボリュームを捻じ曲げる方法です。H19で追加されたVolume Deformer(SOP)を使わない、VOPを使った方法です。そのうち書こうと思ってたらHoudiniの進化で過去の遺物になってしまったかもしれないネタ。Volumeを変形させる方法はいろいろありますが、ここでは私が良く使うVolume Sample(VOP)を用いた方法をシンプルな例を用いて紹介します。SampleFile・・・VolumeDeformSample.hiplc使用バージョンはHoudini19.0431VOPで煙を捻じる[...]
続きを読む
今度は『miss_fast_skin_maya』です。長くなる気がして避けてきたのですが、そろそろ向き合わねばならぬ時がきたか、と。検証にあたって以下のようなシーンを用意しました。Mayaは2012の英語版。ライトはエリアライトでオーソドックスな3点照明。unit単位はcm。比較に置いてある煙草は実寸サイズです。マテリアルの設定で意外にも大事なのはシーンのスケールだったりします。モデルを実寸で作るのか、それとも1/10 or 1/100で作るのかによって調整しなければならないパラメータがあるからです。上のシーンのドラゴンをレンダリングするとこんな感じにな[...]
続きを読む
今回は、HoudiniでのLUTの作成と適応についてです。もっとも、管理人はLUT作ったことないんですけどね。なので、いずれ来るかもしれない時に備えての備忘録です。HoudiniでLUT作成はCOPで行います。COPでうにゃうにゃとノードを組んで、LUTを作ったら出力したい場所のノードを選んで、右クリック→"Save LUT..."出力先等を決めて、Save。作ったLUTは、同じくCOPのComposite Viewで適応できる。Composite Viewの右下[...]
続きを読む
久々更新Houdini回。マニュアル読んでて、ちょっとおもしろいなと思ったので。なんでもビューポートに働きかけるDetailアトリビュートがあるそうな。まず、gl_wireframe。float型のアトリビュートで、0以外の値の場合、そのオブジェクトはシーンビューで常にワイヤーフレーム表示になるそうな。やってみた。単純な球体にwrangleでgl_wireframeというDetailアトリビュートを追加。すると、シーンビューがシェーディング表示になっていても、そのオブジェクトはワイヤーフレーム表示になる。へ~もうひ[...]
続きを読む
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[...]
続きを読む
Houdini勉強中につき私的メモからの抜粋システム単位とグリッドについてのメモ。システム単位についてマニュアル曰く、「Houdiniダイナミックスはキログラム、メートル、秒の単位を使う」とのこと。システム単位を確認&変更する場合は、Unit Lenght(m)=1Unit Mass(kg) =1Houdini先生が、"長さ1"って言ったらそれは1メートルのことで、"重さ1"って言ったら1kgのこと。例えばデフォルトでSphereを作成すると、radius=1の球ができる、これは半径1mの球。boxを作成すると、siz[...]
続きを読む
Houdini勉強回。最近知った関数。makebasis()以下、マニュアルのURLhttps://www.sidefx.com/docs/houdini/vex/functions/makebasis.htmlマニュアル曰く、"指定したzaxisベクトルから正規直交基底を作成して、xaxisとyaxisの基底ベクトルを構成"、するらしい。なんのこっちゃ。その機能を意訳すると、あるベクトルに直行するベクトルを2つ作ってくれる関数。例えば、{1,0,0}に対してmakebasis関数を使うと、{0,1,0}, {0,0,1}の2つのベクトル[...]
続きを読む
Houdiniでシミュレーションすると、すぐメモリが足りなくなります。そんな時の対処方法のひとつ。DOP Networkノードのパラメータ"Cache Simulation"をOFF!これでシミュレーション時にキャッシュデータを保持しなくなります。ここでいうキャッシュデータとは、タイムラインで青とか橙色であらわされるデータです。DOP Networkノードのパラメータ"Cache Simulation"をOFFにすると、このキャッシュデータが作られなくなるのでタイムライン上でマウスをぐりぐりしても、現在のフレーム以外シミュレーション結果を確認でき[...]
続きを読む
Houdini回!VOP内でGroup化の方法を覚えたのでメモ代わりに。簡単なGroup化はwrangleで行う事が多いのだけれど、時々VOPでGroupを作りたいって時があったのです。Set Attribute(VOP)を使うと、Groupへのセットも出来るっぽいです。Set Attribute(VOP)のAttribute Classってとこに"Point Group"と"Primitive Group"ってのがあって、それ使うとPoint or PrimitiveのGroup作ったり格納したりできるそうな。ためしに、ノイズを閾値にしてPointのグルー[...]
続きを読む
車輪リグ考察。前回、フレーム単位で移動距離から回転角を求める方法を試しました。大旨よさげだったのですが、しかし、どうもうまくいかない場合がありました。車輪がスライドした場合です。進行方向ではない向きの移動も回転計算に含んでいるのが原因です。移動ベクトルから、進行方向のベクトルのみ抽出できれば良いのですが・・・。 要約すると。はて、どうしたものか。でいろいろ調べた結果、”内積”使うと良いのでは、と。内積についてはこちらのサイトを参考にしました。難しい話はそちらに任せるとして、前回の考え方に、この内積を組み込んだものをMayaで実装しました。[...]
続きを読む最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]
