BaywoodGallery – a little somethin’ for my parents

You know it’s pretty sad when your parents have to beg. But it’s shameful when they’re begging you for work you do on a daily, if not a nightly basis!

So, since they’re heading out to do a show in California in a week, I had to get something out there. I’d intended to just throw up another iTunes coverflow app, but I just couldn’t bring myself to do it. Then I thought that doing a triple carousel viewer would be cool, but thought it would be 3x’s as bad as all the other carousel 3D gallerys that keep hitting the web. Don’t get me wrong, it’s a fine way to present gallery’s, I just wanted to do something that was interesting and possibly different.

I’d had this idea to do an “outer gallery” for a while, so this was the perfect time to flush it out a bit. The concept is that instead of being an “inside gallery” that you walk through, this is an “outer gallery” that conforms to the way you might rotate it around for the best view. You’ll notice that the paintings have a particular rotation that would indicate the best viewing angle. As you rotate around, other paintings and pictures are revealed and are already in the rotation you’re currently at.

One thing that makes this work is that Z rotation never happens. You can invert the model for sure, but it never “rolls” on the Z axis, and that keeps the model at angles that make sense as you rotate around. It’s not a “new” way, it’s really very close to how 3D studio Max or Maya handle the free rotation – just without the ability to roll πŸ™‚

But because of limiting that Z roll, the model never gets to a rotation that’s completely out of control or upside down and controlling it with the mouse seems pretty intuitive to even the lowest end users I’ve tested with (you know, graphic artists, and lead singers). I’m just kidding, I love graphic artists.

It’s not perfect, and I would like to clean up a few things. I’d really like to flush out this concept further, but I’m pretty happy with how it turned out initially. All told, it’s 3340 polygons and runs pretty smoothly. The biggest hurdle was creating an intuitive structure for this and then dealing with planes sitting over the top of the center model and fixing sorting issues. What keeps this demo running smoothly is the fact that I don’t have to rely on some run-time tessellation. Because of that, I have much more head room in terms of # of poly’s in the scene.

  1. looks great! i didn’t know you made pens. they are lovely!

  2. HAHA I DON’T, but my dad does πŸ˜‰ His name is John also

  3. looks like talent runs in the family!!

  4. very nice! are the shadows pre-baked or runtime?

  5. @Felix: baked in shadows on the texture of the center model and the images of the art and pens are applied at runtime

    • Simon
    • August 11th, 2008

    For the love of God, a Papervision sample that uses the proper mouse control. This is a momentous day!

  6. @simon: LOL dood, you don’t know how true that really is!!! from day one I’ve always been turned off by “other” rotation controls πŸ˜‰ always drives me nuts when people just use “hover” code and you can’t control the rotation correctly

    So, thanks πŸ˜‰ I’m happy with it

    • Helios
    • August 11th, 2008

    Very cool. Do you hard-code the placement of the art/pen images?

  7. @Helios: I modeled it in 3D Studio Max, and yeah, I put the planes in position where i wanted them. However, I could just as easily replace them with new planes and copy their transforms if I wanted to change the dimensions at runtime to match the image’s. There are other ways that you could provide locators in the DAE so that you could add planes to those locations, but this was visually easier to do in 3DS

    • craigie
    • August 12th, 2008

    This is great, some inertia on the dragging movement might make it even smoother. Could you share the logic or code behind the rotation control? I’m trying to drag/rotate a sphere like and its doing my nut in. Cheers

  8. looks great John! I can see where you get your artistic passion from now. Hope all is well!

    • srockers11
    • August 20th, 2008

    John, it’s amazing what you do. Keep it up, you’re an inspiration to all of us novices.

    • Alex
    • August 29th, 2008

    Hi John, it looks great and runs really smoothly considering the polygon count, very impressive work πŸ™‚

    I was just wondering if you purposely only made the paintings single-sided? I notice they seem to disappear when facing away from the camera, was this done to increase performance or purely for aesthetic reasons?

  9. @Alex: it was both – but primarily, I wanted the focus on the images that were facing you. So depending on the angle, you’d presented with imagery that might be grouped intentionally

  10. Hej John, this looks just awesome! Is there any possibility youΒ΄d release it for private use, so that you can add your personal pictures from a folder into it? This would be great!

  11. @Billigflug: Hey thanks for asking! Normally, as you can guess, I love to release code and give stuff away. However, in this situation, It really is a site I want to continue developing and won’t be releasing the source for. It’s not really rocket science by any means, but I would like to keep it unique if possible πŸ˜‰

    • Joeyp
    • September 17th, 2008

    Please, John. Just the camera code. I’m begging you! πŸ™‚

  12. Hey John, I totally agree about the problems with the usual rotating of 3d objects when dragging with the mouse. Please could you give us a wee hint about the way you did it? I’m just trying to get to grips with the basics of pv3d. thanks a lot.

  13. Ok, I think I have it now, but for anyone interested I found this post really helpful:

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s