From original post:
egradman | November 23, 2010 |
I had so much fun demonstrating StandardGravity on Saturday, that I decided to build this piece on Sunday.
Remember that scene at the end of the matrix where glowing green symbols traced across an agent's body? Well, this is just like that, but in realtime. What you're looking at here is a particle system, where YOU are the source of the particles. Particles (seen on screen as dots) spring into being on the surface of your body. They then traverse the contours of your body until they reach an edge, at which point they're flung into space and disappear. All this is possible because the Kinect lets me reconstruct the 3d geometry of whatever it sees.
There are other forces at work on the particles in this universe. Upon being flung into space, particles are acted upon by a sort of shifting wind (actually a perlin noise field)
The coolest part of this demo though is that you can really see how the particle system is sensitive to the geometry of the objects within view. In my hand here, I'm holding a bowl . When I turn the inside of the bowl to either face towards or face away from the camera, you can see the tendency of the particles to stream down surfaces. That behavior is noticably different when you're looking at the convex or the concave side of the bowl.
Once again, I've written this system using the freencet python bindings. The graphics are done with Panda3D. The particle system is a python module written in C. I'm losing some framerate because I'm passing depth data via shared memory, but the new version of the libraries don't require these sorts of software gymnastics.
No comments:
Post a Comment