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.

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

16 Responses to “Papervision3D + Xray Introspection = FINALLY”

  1. alexmilde1 Says:

    Just awesome! Thanks so much for this.

  2. C4RL05 Says:

    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.

  3. Using Xray with Papervision « The Algorithmist Says:

    [...] Read more about it here and take time to pass only some props to John! [...]

  4. Chris Says:

    Lovely, will check out :)

  5. markval Says:

    Rock on! We’ll see it all now!

  6. Marc Pelland Says:

    awesome ! needed something like this !

  7. xero / fontvir.us Says:

    super slick john! cant wait to give it a whirl!

  8. XRAY Application | Says:

    [...] 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 / [...]

  9. Joan Garnet Says:

    Wow, you rock!
    I’ve been missing this great tool so much…
    thank you!

  10. hydrotik | flash development | actionscript | creative » Blog Archive » 11 Must Have Flash Resources and 11 Must Have Utilities For 2009 Says:

    [...] 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 [...]

  11. Bookmark::090219 « Kuu2’s Blog Says:

    [...] Papervision3D + Xray Introspection = FINALLY [...]


Leave a Reply