やぁ、どうもどうも、目をかきすぎて、
パンダみたいになってるkaminalyです。
今日のはまりポイントは、
Papervision3Dのマウスイベントです。
(※バージョン 2.0 Great Whiteでのお話)
Papervision3Dでマウスイベントを設定する方法はいくつかあります。
標準だと、Viewport3DとMaterialのinteractiveプロパティをtrueにすると、
InteractiveScene3DEventを設定できるようになっていますが、
何かにフィルタをかける時とかは、深度がおかしくなったりするから、
フィルタをかけるオブジェクト以外もViewportLayer化してしまって、
ViewportLayerの方にMouseEventを設定することが多かったりします。
で、ViewportLayerのMouseEventを使っている時に、
いくつもあるオブジェクトのうち、一部分だけでイベントが正常に動かない現象がおこりました。
具体的にいうと、深度の深いオブジェクトは正常に動き、
深度が一番浅いオブジェクトに異常が起こりました。
(オブジェクト群が動いて、一番手前にいるオブジェクトがおかしくなったので多分そう!)
色々試行錯誤したのち、
Viewport3Dのinteractiveをfalseにしたら、
正常に動くようになりました。
つまり、Papervision3Dのイベントとぶつかっていたようなのです。
ViewportLayerはSpriteサブクラスで、
ViewportLayerのMouseEventはPapervision3Dとは無関係っぽいので、
Viewport3Dのinteractiveをfalseにしてもマウスイベントは動作します。
ということで、解決解決、めでたしめでたし、目痒し目痒し(涙