MotionBuilder:Pythonコマンド
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]
Houdini勉強中につき私的メモからの抜粋システム単位とグリッドについてのメモ。システム単位についてマニュアル曰く、「Houdiniダイナミックスはキログラム、メートル、秒の単位を使う」とのこと。システム単位を確認&変更する場合は、Unit Lenght(m)=1Unit Mass(kg) =1Houdini先生が、"長さ1"って言ったらそれは1メートルのことで、"重さ1"って言ったら1kgのこと。例えばデフォルトでSphereを作成すると、radius=1の球ができる、これは半径1mの球。boxを作成すると、siz[...]
続きを読むここのところノードの話ばかりだったので、今日はScriptの話にしてみました。次のようなスクリプトを作ってみました。以前、Twitterでちょこっとツイートしたのですが、下の絵のように、2Dドット絵から3Dのドット風絵に変換するスクリプトです。(あくまで、ドットをCubeに置き換えるだけで、凸凹させるのはできません。あしからず)試しにレンダリングすると・・・もっとつくってみた。調子に乗って、さらに作ってみた。ピクセルってたら彼かな、と。えーと、スクリプトね。画像を制御するモジュールとしてPIL(Python Imagein[...]
続きを読むHoudini回。CHOPのjiggleでぷるんぷるんさせてみた。ネットワーク全体はこんな感じ。割とシンプルなネットワークで、面白い効果が得られるものだなぁ、と。プルプルした動きを作っているのはノードchannel1が参照している、Chopnet1の中身で・・・、以下略!詳しくはファイル参照! 手抜きじゃないよ!!!Sample File : jiggle_v01_sample.hiplc[...]
続きを読む
今回はMayaTips回。Mayaで普通のパーティクルをループさせる方法です。ここではMaya標準のFireを使って試してみます。方法はシンプル。ループさせたい最後のフレームに移動、パーティクルを選択して、「選択したパーティクルの現在の状態を初期状態として使用する」ってのが、この操作の意味なのですが、これで1フレームからInitial Stateを実行したフレームまでのループが出来ます。あくまで、動きだけですが、上例の方法で簡単な炎や煙のループは作れるのでは?それにしても、Initial Stateを設定するだけでなぜループが[...]
続きを読む
Houdini回。今回はこういうヤツ。パーティクルに板を貼り付けたもので、マテリアルとテクスチャ連番画像は共通。テクスチャのシーケンス番号に対する値をパーティクルごと個別に設定しています。簡単にできるとおもってたら思いの外手間取ってしまって。いくつか試して、最終的にinline Code(VOP)を使う方法に落ち着きました。inline Code(VEX)はVOP内でVEXが書けるノードです。このノードの詳しい解説はまたの機会に回すとして、やってる事はシェーダー側でのテクスチャパスの作成です。シェーダー側で使うテクスチャのフレーム番号は、事前にPri[...]
続きを読む
ネタに困ったときのMayaトリビア Channels Box内の表示桁数を変更する↓の赤枠のところの数値の事です。デフォルトは小数点以下3桁まで表示されます。これは、4桁目で四捨五入された値で、数値としては小数点以下4桁よりも小さい値もちゃんと持ってます。それを見るには、Channel Boxのメニューから小数点以下何桁まで表示するか聞かれるので、桁数を入力。小数点以下15桁まで表示可能。数値上は同じ値なのにView上をよく見るとずれてる、なんて時にこの桁数を増やしてみると意外な誤差を発見する・・・なんてこともあったりして。[...]
続きを読む
Houdini回。COPで画像をデフォームさせる方法。サンプルファイルCOP_Deform.hiplcつまりこうじゃ。ネットワークはこうじゃ。COP Input(COP)ノードが紹介したいポイントじゃ。初めて使ったのじゃ。このノードを内包する、VOP(COP)ノードの入力情報(pixel情報)を引っ張てこれるヤツかなと思うじゃ。ここではノイズかけたXY値をUVに使うことで、画像を歪めていますじゃ。作例と余談丸いショックウェーブ的な絵を作ろうとして、調べていたのです。AfterEffectsが得意とする領域ですが、A[...]
続きを読む
Pythonには”リスト内包表記”なるものがあるそうな。初めて目にした時は、「なんじゃこのケッタイな書き方は!」と思ったものです。リスト内包表記をザックリ説明すると、『for分とかif分とか使って複数行必要だった処理が一行ですむよ。しかも処理が早いよ。でもちょっと読みづらいよ』っていう書き方でしょうか。ものの本によると、”リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです”、だそうです。ちょっとMayaのpyemlで普通の書き方と、それを内包表記で書いた例を作ってみました。選択したオブジェクトのうち、Meshのみをリストで返[...]
続きを読む
Houdiniで迷路生成。(Houdini:迷路ジェネレータ02へ)調べたところ、迷路生成の手法はいろいろあるらしいことが分かりました。ここではおおよそ次のような手順で作成しました。穴掘り方と言うらしいです。 図のようなグリッドで考える。まず、任意の点をマスをスタート地点とする。 上下左右のマスをランダムに選び、そこが通路でなければ通路にして、そのマスに移動する。 移動した先のマスで、「2」を繰り返す。 四方に通路を作成出来るマスがない場合、一つ前のマスに戻る。 戻った先でも、通路作成可能なマスが無ければさらにもう一つマスを戻る。通路作成可[...]
続きを読む最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]