Papervision3D + Xray Introspection = FINALLY
Man, after nearly 2 years of working with Papervision3D I FINALLY sat down and made it work with Papervision3D (and alot of other things). Turns out it wasn’t that hard, I just needed to flip a switch to let other objects besides pure Objects and Array’s pass through to the interface. It’s been digging through all of Papervision’s stuff all this time now, and I just needed to turn the key 😉 Well, there was a bit more with fixing a bug to support Dictionary’s now in Xray, but that’s all fixed now.
You can see in this picture that I’m looking at a DisplayObject3D which is actually a child object of the loaded DAE. You can change any of the properties you see there at runtime. This makes it an extremely useful tool for debugging, but also for learning someone else’s application as well as optimization. You can go through and change nearly any property at runtime to see who’s causin’ the problems.
The image below shows you the fix for Dictionarys. DisplayObject3D’s children object is a Dictionary, and so now you can see all of it’s children and continue to click your way through to the end. This is the group of panels in the QuadTree demo and you can see each one in the list of children.
I’ve committed the code and you can check out Xray here with your favorite svn client:
You can get the Xray interface here:
The version you see in the video is the new AIR version which runs really well and as soon as I have time to package it up properly, I’ll release that version.
To get it working, put this in your code:
// create public var:
public var xray:Xray = new Xray();
// then, after you’re sure the stage is there in the main application:
Then just fire up the Xray Interface and hit the “go” button to take a snapshot and get started