Pre-Render Call back 出来ず

先日のfaceBBox.msをコールバックに登録し、フレームをレンダリングする度にオブジェクトを生成していくようにしたいのですが、コールバックの対象になるイベントはいったいどれなんでしょう?

PreRenderCallBack-malfunction
下のように#preRenderイベントに登録するとレンダリング開始時の一度っきりの実行になります。フレーム毎には実行されません。

callbacks.addscript #preRender fileName:"D:\\faceBBoxForAnim-Pre.ms" id:#BBox

#preRenderFrameはメッシュ評価後に呼び出されるのでそこに新たにオブジェクトを配置しても無視されてレンダリングされないようです。

#preRenderEvalも同じくビューポートには新規のオブジェクト配置をしてくれますがレンダラーには伝わらず、、、

registerTimeCallbackでタイムスライダを動かすたびにコールバックって手もありますが、重くなりますしそもそもスクリプトファイルを登録できないんですね。

分からん、、、
続きを読む “Pre-Render Call back 出来ず”


faceBBox.ms

アイデアのスケッチです。何に使うんだって感じですが、

faceBBox1
メッシュ面毎にバウンディングボックスを生成するとどんな感じになるかと思い、ざっくりスクリプトを組んで見ました。さらにLatticeモディファイヤを適用。

スキャッタ(でしたっけ?)とか、PFlow使っても似たようなことは出来ますね。ボックス自体は姿勢を保つのでアニメーションするオブジェクトに適用すればなんか面白くなるかな。

使い方はオブジェクトを一つ選択して「スクリプトを起動」です。多くても3,000ポリゴン(三角でカウント)くらいのオブジェクトへの適用にとどめておいた方がいいです。max9上でしか試してませんのでお気をつけて。
続きを読む “faceBBox.ms”


Bounding Box

オブジェクトのバウンディングボックスを取得したいと思い、ノード共通プロパティのmax/minで取得してみたのですがどうも結果がよろしくない。あ、ちなみに3dsmax9(まだ使ってます)の話。

target = selection[1]
BBoxMax = target.max
BBoxMin = target.min
myBox = box width:(BBoxMax.x - BBoxMin.x) \
		length:(BBoxMax.y - BBoxMin.y) \
		height:(BBoxMax.z - BBoxMin.z)
myBox.center = target.center

オブジェクトに回転が入っていない場合は正確なものが得られるのですが、回転が入っているとバウンディングボックスのバウンディングボックスを取得してしまっている模様。2Dであらわすと次の通り。

BBox Problem in maxscript

そんな値が欲しいと思いますか?とAutodeskに電話入れたい気分。
「in coordsys local」で取得するとさらにわけ分からん値が戻ってきました。

全ての頂点を精査してmax/min出せばなんとかなるんですが、頂点数の多いオブジェクトになるとすごく重くなりますねぇ。

以下のスレッドを探し当てましたが、僕が考えたのと同じく、全頂点の位置をソートしてみればってことでした。
Align min/max correctly with maxscript?[cgsociety.org]

あれ?ところで点線で描いたワールド座標じゃないバウンディングボックスはどうやって取得するんだろ?


Backburnerマネージャ壊れる

Backburnerのマネージャを入れてるPCが再起動を繰り返して暴走中、、、

ってなことで新しくセットアップ中です、自分の書いた記事見ながら。読みづらいぞ2年前の自分!

、、、そのうち書き直します。

ダッツ

作業中おなかがすいたので会社の冷凍庫に余ってたハーゲンダッツは僕がおいしくいただきましたとさ。

眠た~。ますます腹減った~。


2010

「2009」が届かずじまいなんですけど、どうしたんだろ。オートデスクからダウンロードできるっていってもサンプルファイルも含めると3GBオーバーですからねぇ。落とす気にもなりません。ってゆーか送ってこんかーい!

dsc00176

まーだmax9使ってますけど、そろそろ各プラグインの新バージョンが動作対象外になって来そう、、、

重いモデルを扱うので新しくついた「コンテナ」って機能に興味があります、でもいつも試用版を使ってみると新しい機能は「とってつけた感」があって信用できないんですよねぇ。