MotionBuilder:Pythonコマンド
最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]
toxikノード解説回です。ネタに困ったらtoxik解説しとけ、とか思ってたり思ってなかったり。今回は楽なImage Generage系のノードを5つ。Image Generate系のノードでは以前、"Color Source"を取り上げましたが、これらImage Generateに属するノードはすべて、何某かのImageを生成するノードです。ノードによって、生成するImageが違います。ではそれぞれ見てきます。Bilinear Ramp四隅四色のグラデーションイメージを生成します。AfterEffectsの4色グラデーションのようなものです。[...]
続きを読む
今回はMayaTips回。Mayaで普通のパーティクルをループさせる方法です。ここではMaya標準のFireを使って試してみます。方法はシンプル。ループさせたい最後のフレームに移動、パーティクルを選択して、「選択したパーティクルの現在の状態を初期状態として使用する」ってのが、この操作の意味なのですが、これで1フレームからInitial Stateを実行したフレームまでのループが出来ます。あくまで、動きだけですが、上例の方法で簡単な炎や煙のループは作れるのでは?それにしても、Initial Stateを設定するだけでなぜループが[...]
続きを読む
ネタに困ったときのMayaトリビア Channels Box内の表示桁数を変更する↓の赤枠のところの数値の事です。デフォルトは小数点以下3桁まで表示されます。これは、4桁目で四捨五入された値で、数値としては小数点以下4桁よりも小さい値もちゃんと持ってます。それを見るには、Channel Boxのメニューから小数点以下何桁まで表示するか聞かれるので、桁数を入力。小数点以下15桁まで表示可能。数値上は同じ値なのにView上をよく見るとずれてる、なんて時にこの桁数を増やしてみると意外な誤差を発見する・・・なんてこともあったりして。[...]
続きを読む
今回はプログラム系、特にユーザーインターフェース周りのお話です。 ここでは、Python & QtDesigner & Pysideを使った作例をば。最近の3DCG系ソフトはだいたいPythonをサポートしているので、多少の違いはあれど、どのソフトでも応用がきくのではなかろうかと思いまして書きました。ただしあくまでCG屋が書くプログラムなので、そこのところあしからず。いくつかある作例の中の一つとして捉えていただければ。流れは下のようになります。①:Qt DesignerでUI作成↓②:PySideに変換↓③:コードを好きにいじる[...]
続きを読む
Houdini回。以前、Wedge(TOP)についての記事を書きましたが、その続き・・・かな。前回、紹介しなかった方のWedgeの設定の仕方と、そのあとffmpegで動画作成までのフローを書いてく予定です。上のようなのを試しに作ってます。TOPネットワークはこんな。以下、ネットワークの上から順に。1:対象パラメータを指定し、Wedge(TOP)を設定2:キャッシュ出力3:レンダリング4:ワークアイテムをまとめる5:ffmpegでムービー化Step1:対象パラメータを指定し、Wedge(TOP)を設定TOP Ne[...]
続きを読む
Houdiniノード勉強回。SideFx Labsのツールセットから"Lab Align and Distribute(Beta)"SOP。最近このノードを知りました。機能は、複数のジオメトリを一列に並べてくれるノード。破片やなんかは、Exploded View(SOP)で確認することが多いのですが、場合によってはこちらの方が見やすいのかも。Packedか否かも関係なく並べてくれるのも、楽でいいですね。Labsツールは、更新頻度も高く変更も多いので、ここの情報は下記のバージョンでの話である。----------------------[...]
続きを読む
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[...]
続きを読む
Houdiniで迷路生成。前回とはまた違った手法で作ってみました。これHoudini上でのプレビュー。前回は通路を掘り進んでゆくような手法でしたが、今回は壁を構築してゆく手法です。この手法もいろいろやり方があるようですが、ここでは一番簡単そうなのを選びました。 図のようなグリッドで考える。まずグリッドの外側のマスに壁(緑)を、内側に1マス間隔でスタート地点(赤)を配置する。 スタート地点(赤)からランダムなマスを選択する。 現在のマスで上下左右の方向をランダムに選び、その方向の2マス先までを壁にして移動。 3を繰り返す 既存の壁[...]
続きを読む
前回に引き続き、「内積」についてです。内積を上手に使うと、角度を知ることができます。今回は、その辺りに焦点を絞って書いてみたいと思います。また、3DCGでは、角度を知るために内積が沢山使われています。後半でその辺りの簡単な活用例をいくつか取り上げたいと思います。が、その前に!ここで内積についての情報を少々。内積のことをスカラー積とも呼びます。これは内積の計算結果がスカラー値になるからだと思われます。スカラー値ってのは普通の数のことです。ベクトルが複数の値で構成され、向きや速度、大きさといったものを同時に表すのにたいして、単に大きさや量[...]
続きを読む最近MotionBuilderのスクリプトを書くのですが、日本語の資料も少なく調べるのに手間取ったので、備忘録もかねてメモの一部公開します。 確認環境はMotionBuilder2013です。 MotionBuilderでPythonを書き […]
