Hairy Kinect Pictures

// February 2nd, 2012 // Experiments, Generative art, Source code & tutorials

You may remember the Furry Santa. That gave me the idea to use the Kinect 3D data to add hair to everything!

Yes, I know, pretty useless :D . But I like the results :

How Does it work?

In short, make an isosurface of the depth output from the Kinect and calculate the normals.

Then calculate points on the triangles where a hair starts. Now, start growing the hair in the direction of the normal in that point. Add some random and gravity to the growing direction of the hair. And to finish it of, calculate the lightning on every hair segment for a more realistic effect.

Of course, you can also use the pixel data of the Kinect webcam to make hairs in the original object colours. But I liked the black images more.

It’s uses openFrameworks + it needs the ofxKinect addon.

[update] I now got it now running real-time with a geometry shader:

Source code is a real mess, so at your own risk : Kinect Hair.

12 Responses to “Hairy Kinect Pictures”

  1. dknox says:

    Looks awesome! The “Rock’n Roll” still is the best.

  2. felix says:

    brilliant! Needs video.

  3. rackdoll says:

    Lekker bezig kris!
    Ziet er goed uit man!
    Keep up the greatness!!!

    Will you be going to FOTB Amsterdam ?
    Hope to see you there..

  4. Kris says:

    Thanks for the comments!

    I guess you mean FITC? but no, probably not :(

  5. sakri says:

    I respect a man who shows the world his hairy palms :D

  6. Kris says:

    @sakri : Thanks, I guess… . Definitely a bad case :D

  7. kamen says:

    Great! Thanks for sharing the code!

  8. premini says:

    Hi, very nice job.
    Do you see any limitation to turn this program to make video instead of pics?

  9. Kris says:

    there are some limitations, but I’m trying to get it working realtime right now :)

  10. ben says:

    Looks brilliant!

    You should try and get that running in realtime with flash and stage3d.

    Not sure how easy it is to get the kinect data streamed in (there must be apis out there) but once you have it, should be pretty straight forward to build the normal map from the depth data, then run multiple passes to generate the fur! Have done a fur shader before with stage3d and at 20 passes it was running at 60 fps… am pretty sure it could have been pushed a lot harder too!

    Either way it looks awesome and I love the result!
    Good work.

  11. [...] I wrote a hack for the Kinect Hacks book (about this). And I could chose a couple of o’reilly books as payment. I [...]