もきもき3D

アクセスカウンタ

zoom RSS Handlerの呼び出し規則が判らない('A`)

<<   作成日時 : 2008/09/23 15:36   >>

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

DisplaceHandlerのCreateでChannel作って、それにChannelHandler付けて、さらにchannelEventを付ける。

1)meshのDisplaceに適用する。
2)displace->flagsを9回とdisplace->evalが頂点数分呼ばれる。
3)channelEvent(valueフラグ)が1度呼ばれる。
4)それ以降(2)だけがループする。

過程でグラフエディタでchannelを表示すると(4)の代わりにchannel->evalがループする。
ChannelAccessのTimeが-0.3前後から1.8前後迄(frameなら-10〜5x)の何十回かで1ループ。

nullにdisplaceを充てるとflagsもevalも呼ばれないとか、displaceが頂点数分呼ばれるのは理解出来るけど、channelが過去と未来の約2秒分を1単位として呼ばれる理由がわからん('A`)

後、表示中のパネルに依存してるかの様な呼び出しとか('A`)

ムゥ('A`)

-----
 時間のおかしい一連の呼び出しはGraphEditorの表示用の評価っぽい(・з・)
 ちなみにLW8.5ではFPSに応じた単位時間でPreviewStart〜PreviewEndを走査する感じ。
 30FPS、start0〜end60ならtimeは0.0333xx毎で0.0〜2.0の範囲で呼び出される。
 でも9.0以降だとstartから-0.1した状態から0.0175xx毎にend+0.9した範囲で呼ばれる(・з・)
 でもまぁそこら辺は表示用だからと無視しても大丈夫な模様。

 他の気になる点として、LW8.5ではeventが発生しない、9.0以降では発生する。
 基本チャンネルにHandlerが着いてる場合はFrame移動時にHandlerが呼ばれるのに、拡張チャンネルではHandlerが呼ばれない('A`)ナゼ?
 一応、これで呼ばれるHandlerの->timeには現在frameに応じた正しい時間が入ってる。
 が、本来のtime以外(time==0.0)で2回は余計に呼ばれるから其処は注意点になるかも?

----
 あー考えてみれば拡張チャネルのevaluteが呼ばれないのは参照されてないから?
 だとしたら間抜けすぎ(w
 でも誰から参照すればいいんジャロ(・з・)
 Nullに付けたDisplaceはevalもflagも呼ばれないし、HVDeformはHiddenにしてる拡張チャンネルから参照してたりするんかなぁ。
 でも、そのチャンネル自体にevalが掛からないと参照行為が発動しないし・・・ムゥ

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

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

トラックバック(0件)

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

トラックバック用URL help


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

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Handlerの呼び出し規則が判らない('A`) もきもき3D/BIGLOBEウェブリブログ
文字サイズ:       閉じる