もきもき3D

アクセスカウンタ

zoom RSS メモ:Anchor とか フレーム無更新対策

<<   作成日時 : 2007/10/02 18:43   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

lightwave 9.3で追加されたAnchorをちょいと試したメモ。
 定型物への動作は特に問題なさげ。
 サブパッチ、ボーン、モーフ、ディスプレイス、MDDに対してどうなるかは未確認。

 Anchor適用アイテムに対するTargetItemでの追従は不可。
 ATTarget(AutomatonTools)では可。
 Point Affect/Constrainは不可。
 ParenterはPositionに対する影響は妥当ぽいけど、影響期間中はATTargetを無効化する。

 各種変形に追従してポリゴンに吸着出来るなら汗玉表現に使えるかも。

 9.2に入れてみたけど、パネル類迄はOK、でも対象UV指定ポップアップで不正落ちして使えない。
 パネル操作やUV取得方法って9.2と9.3で違ったっけ??(・з・)
----追記
 ってMasterPluginにもAnchorが付くね。 9.2で落ちるのはそっちの影響もあるのかも。
 で、MasterPluginのAnchorにもオプションがあった(・з・)マニュアルに書け。
 仕組み的にはMasterのAnchorが座標算出&データ排出。 MotionのAnchorがそのデータを参照して移動って感じかも。
 座標データが変わるような事がなければMasterのAnchorは停止(OFF)にしても平気。

 結論的には今回同時に試してたStickyに対してMasterPluginのAnchorが悪さをして適切な再計算が得られなくなってた、って感じぽい。
 MasterのAnchorをOFFにしたらStickyで動いてたアイテムの不正表示が解消された。
 HistoryからもRefreshNowが消えた。

 なので↓はAnchorとSticky固有の問題かもしれない。
 てか、Anchor使っててこの手の問題が出たら、Anchorを真っ先に疑え、と。
----追記
 Anchorが悪さしてるのは確かっぽいけど、波及する範囲の特定が出来ねぇ('A`)
 Master AnchorのON/OFF関係無しに自身の更新が出来ない事もある。
 ↓で強制的にRefreshすれば平時のプレビュ更新やプレビュ作成でも解消出来るとはいえスマートじゃねぇ('A`)

 取り合えず、サブパッチ(Last)、モーフ、ボーンでの変形には追従出来るもよう。
 通常IKで動くボーンでの変形にも追従した。
----追記
 MasterPluginのAnchorオプション。
  Calc when Saving:
   シーン保存する際にRenderFirstとEndの区間を再計算してからシーン保存する。
  Calc when Rendering:
   レンダリング(CurFrame、Scene)前にRenderFirst〜Endを再計算する。
 お呪いなんだろうけど、普段は邪魔だからOFFにしておくか、MasterPlugin自体をOFFにするのがよさげ。
----追記
 AnchorってAnimUVと組み合わせたら・・・とか思ったけど、AnchorはモデルのUVを見るのであって、サーフェスのUV(インスタンス?)を見てるわけでは無いから出来ねぇ(・з・)
 潰しがきかねぇ(・з・)
----
 閉じてない形状だと回転取得が変かも。

----
んで、無更新。
 何かといえばフレーム(時間)が変化した時に再計算が適切に行われず画面上のプレビュー描画が不適切になる。
 Redraw/Now(再描画)じゃ更新されない。 Refresh/Now(再計算)だと更新される。
 モーションモディファイヤーや前述プラグイン特有の問題かも?

 Comm.Historyでは時間移動コマンド発行前にRefreshNowが掛かってる。

 マスタープラグイン層のLScriptでevent判別無しでマスタープラグインの周期毎にRefreshNowすれば妥当な計算/表示が得られる(処理が乱発されて非現実的)。
 でも、以下の様に時間変化毎にするとRefreshNowでは駄目で、Refreshでないと更新されない。
 (HistoryはRefreshNow→RefreshNow(Scr)→フレーム移動 = NG、RefreshNow→Refresh(Scr)→フレーム移動 = OK)
 Refreshだと後発の移動コマンド中は待機になり、移動後に再計算される(Nowでは即時処理ゆえに移動前の発行では無意味)。 とかなんかな?

----
 DPont印のnode ItemMotionで頂点に追従させた時も更新が同様に変だった。
 Motionモディファの問題かねぇ。

----
フレーム移動時に強制再計算させるスクリプト

@name "ForceRefresh"
@version 2.5
@warnings
@script master
flags
{ return(SCENE); }
process: event, command
{ if(event == TIME) Refresh(); }



LW初心者講習会なんかより、Newtek社員のケツにモップを突っ込む会を開催希望( ゚д゚ )

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
メモ:Anchor とか フレーム無更新対策 もきもき3D/BIGLOBEウェブリブログ
文字サイズ:       閉じる