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.
video: http://www.rockonflash.com/video/XrayPapervision3D.mov

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:
http
/osflash-xray.googlecode.com/svn/trunk/
You can get the Xray interface here:
http://www.rockonflash.com/xray/flex/Xray.zip
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:
addChild(xray);
Then just fire up the Xray Interface and hit the “go” button to take a snapshot and get started


October 29, 2008 at 10:25 am
[...] more [...]
October 29, 2008 at 10:27 am
Just awesome! Thanks so much for this.
October 29, 2008 at 11:05 am
Awesome, been waiting for this for ages. It looks pretty useful to debug render layers. Also it would be great to see the scene tree somehow.
October 29, 2008 at 12:13 pm
[...] Read more about it here and take time to pass only some props to John! [...]
October 29, 2008 at 12:40 pm
Lovely, will check out
October 29, 2008 at 1:53 pm
Rock on! We’ll see it all now!
October 29, 2008 at 2:34 pm
w00t!
October 29, 2008 at 7:49 pm
awesome ! needed something like this !
October 29, 2008 at 8:13 pm
super slick john! cant wait to give it a whirl!
October 30, 2008 at 2:58 pm
Pretty sweet!
November 3, 2008 at 3:00 am
[...] http://rockonflash.wordpress.com/2008/10/28/papervision3d-xray-introspection-finally/ [...]
November 14, 2008 at 5:17 pm
[...] fica o link de uma optima referencia http://rockonflash.wordpress.com/2008/10/28/papervision3d-xray-introspection-finally/ By ace Posted in ActionScript, flash « MusicBoxLisboa / [...]
November 14, 2008 at 5:21 pm
Wow, you rock!
I’ve been missing this great tool so much…
thank you!
November 24, 2008 at 1:04 am
[...] debugging utility that makes tracking trace statements, errors, and resources much easier. John Grden was able to make some changes for the Flex crowd recently and I’m looking forward to seeing [...]
December 23, 2008 at 10:51 am
niiiiiiiiiiice.
February 19, 2009 at 3:32 am
[...] Papervision3D + Xray Introspection = FINALLY [...]