Iterations with Particle Tools

outpro's picture

Hi All, I am trying to make a kinect controlled particle system, I am getting track blobs via TuioKinect, make a structure from blobs and connect their x,y values to emitter object inside an iterator. But it doesn't create new emitters, it just resize emitting area when different blobs tracked. How can i make invidiual emitters from different blobs? Also i tried this idea with 1024 particle system, it works fine but i need to emit some custom images! please give a hand to me, i am sinkinggg! :)

PreviewAttachmentSize
KinemeParticleIteration.qtz9.02 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

gtoledo3's picture
Re: Iterations with Particle Tools

You need to make multiple particles and emitters and hook them to a scene. Hook each of the emitter x/y's to whatever they need to be hooked to.

outpro's picture
Re: Iterations with Particle Tools

Hi, thanks for reply! Actually i am trying to make an interactive floor installation, kinect will track from top of the people, so i need to use some kind of iteration system, (i think). is it really impossible to create an iterated particle system with kineme particle tool?

gtoledo3's picture
Re: Iterations with Particle Tools

No, the emitter can't be iterated, and when a scene is iterated w/ external time base, it doesn't add more emitters (I think). You can likely iterate most particle renders, and shift them around with a 3d transform though.

You don't have some kind of maximum count of people you're going to track? If you do, then you can just setup 12 or so emitters, divvy up your incoming structure with structure indices or keys, and let blobs drop out naturally. If there's some decay going on with the particle emission, you'll still look like you're covering more territory on screen.

Unless your raster is huge and final res is super-duper, if each blob is going to represented with say 10~40 ish particles, it won't take many blobs tracked and particles associated before your raster is filled up.

What do your particles need to do? Do they just need to move around or interact with each other or something?

I have to say, I think if I was going to do this, I'd make a custom patch that took in some kind of blob image mask, make each blob a different index or color, and make particles from that and use the blob index or blob color to set the texture of that group of particles.

outpro's picture
Re: Iterations with Particle Tools

Hi George, thanks again for your detailed explanation :) -yes, the maximum count of people will be changeable. -i don't want to interact particles with each other, just trying to spread out from blobs..

With 1024_ParticleWarfare plugin, it's possible to create new emitters for each blobs, but it's not modifiable!(need some image instances to emitted) So with same method, i thought it could be done with kineme particle tools but i am sad to hear this can't be done! :(

Is it possible for you to make a simple comp to show your particle creation method from blobs? I would appreciate for that :)

Meg Rabbit's picture
Re: Iterations with Particle Tools

Hey! I stumbled across this thread. I have a google alert that sends me messages any time someone uses the term 'interactive floor'. :)

Me and my friends made an interactive floor and wall application for normal web cameras and for Kinect. If you want a full version for free, feel free to email me through the site and tell me you met me on Kineme. Maybe it will help you with your project.

The website is www.po-motion.com

gtoledo3's picture
Re: Iterations with Particle Tools

I'll also mention that www.controlfreak.tv (disclaimer, I program/content design/etc @ cfs) has a motion tracking system that withstands bright lights/strobing that will make kinect and other devices that are sensitive to bright light or rely on luminosity input chop out signal, that is available for interactive floor and wall type applications, and other motion tracking scenarios. Not free though :D

At the original post though, it gets pretty close to stuff I've done for projects so I have to think about what I can post code snippet wise. Also, I'd likely whip it up in a custom plugin for deployment, and I don't know what your incoming blobs are (texture, structure?), so it would be kinda premature to whip up a detailed example (?). How are you obtaining the blobs/getting them into qc and/or id'ing them?

outpro's picture
Re: Iterations with Particle Tools

I tried some different ways to get blobs, i need to use multiple kinect, because the floor will be big for one kinect.. For that reason i am thinking to connect 4 kinect, take their input to billboards and grouped them render in image patch, then i will use 'Carasuelo OpenCV' blob tracking plugin, take blobs to a simple structure. While i am trying that with one kinect it works really nice, but i haven't test for multiple kinect setup yet. But in theory it will work with 4 kinect, too. I hope it will work! By the way, would you be interested to help me make it work for a fee if you have some time? maybe over skype?

gtoledo3's picture
Re: Iterations with Particle Tools

Here's an example file that shows how to iterate the standard particle system and wind up with a different texture per iterated particle system. I'm generating a mock structure on the fly, assuming the blob structure will be something like that.

You're probably going to need a tower w/ extra usb cards, because the kinects will need enough power.

I've tried to run 3+ kinects on machines with available USB ports and had it not work because there wasn't enough power ... I think the terminology is for each USB port to have a dedicated power bus, but I may be mis-phrasing that. If you have a tower and time ahead, you should investigate if there's some card that will do two separately powered USB ports per card. It's easy to find cards that will add one port though, but then you max out on slots on a tower fairly quickly. Not too hard to run two out of the front (that seems to work OK), and add two cards, winding up at 4.

(I haven't used the Carasuelo OpenCV blob plugin.)

My personal email is gtoledo3 "at" gmail.com . There are many variable in making something like this a success, and I don't necessarily want to be responsible for the outcome. Don't let me freak you out - it's not super hard, there's just a lot of places where inappropriate lighting can make things with a kinect not work, and sometimes you need to use really narrow thresholds to target "people" and get rid of ambient lighting reflection noise. Seaming the textures together and then adjusting that to whatever the final raster can be another place things could go awry, as well as plugin dependencies. I get really uneasy about involvements in anything depending on 3rd party anything that I haven't tested.

outpro's picture
Re: Iterations with Particle Tools

thanks for the composition :) i got the trick now, i will make a small test with multiple kinects next week, probably i am going to keep asking some questions, thanks again for being so helpful :) if you plan to come Istanbul or Turkey for holiday, let me know, i want to give you a drink! :)

aboiledtiger's picture
Re: Iterations with Particle Tools

Hi: I stumble upon this so I want to make the most of. maybe it was already answered before, maybe I also already ask it before but never found a solution to render individual particles using Kineme Particle. what I mean is that every particle has it's own apperance (color for instance). I already try feeding an interator with the output of a Particle Render Structure patch then render using GL Point. Issue is that FR drops almost to zero when trying to render ~2000 textured points. (it does not happend if using GL Point Structure) any though will be apreciated. ! kind regards. ! dx

gtoledo3's picture
Re: Iterations with Particle Tools

Multiple emitters, each with their own forces and characteristics can get hooked up to a particle scene. If you want to try using this patch, definitely boot qc in 32 bit mode and also compile your apps in 32 bit runtime.