Densaugeo / Kimotion

Make visualizations for your Kinect! Kimotion is a web-based visualization framework for Kinects.

Home Page:http://kimotion.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Make a Kimotion!

A spiffy, new, ultra customizable visualization renderer for interactive art exhibits. A 🎥video series exists to demonstrate several Kimotion mods!

Kimotion sample

This very brief slide deck will give you a quick introduction and history of the project.

Installation

In order to start hacking on Kimotion, you'll need to install a few dependencies.

  • Node.js and npm: Fedora: yum install nodejs npm, Ubuntu: apt-get install nodejs npm

  • NumPy: Fedora: yum install numpy, Ubuntu: apt-get install python-numpy

You may optionally also install libfreenect (with python bindings), which you'll need in order to hook up a real Kinect via USB. If you plan to use Kimotion's replay capability, you won't need freenect (there are two recordings you can use in the server directory). On Fedora, yum install libfreenect libfreenect-python, on Ubuntu: apt-get install freenect python-freenect.

Once all that stuff is installed, clone this repo (or fork it and clone your fork), cd into it and...

npm install -g bower grunt-cli
npm install && bower install
grunt build:dev

Then unzip one of the recordings and launch the websocket server:

cd server
unzip handtracking.zip
python server.py -m -f handtracking.bin

If you chose to install libfreenect, and have a Kinect with a USB cable plugged in, you can simply launch the server with no arguments to get a live feed from your kinect.

cd server
python server.py

Then, in another terminal, launch the HTTP server that serves up the client...

grunt connect

Open http://localhost:9001 in your browser, and...

Voila!

DiMo 2014 Silhouettes photo

Creating your own mod

Each visualization is called a "mod". The easiest way to create your own mod is with this handy grunt command:

grunt newmod:your_name_here

For example, if you ran grunt newmod:coolmod, it would create src/mods/coolmod/coolmod.js, which you can then begin to edit.

2D mods and 3D mods

In the constructor of your mod, you may choose which mode to use, 2D or 3D.

2D mode uses the excellent p5js library. This mode is easier to get started with, so I recommend using it first.

To enable 2D mode, place this in your mod's constructor:

gfx.set(this, '2d');

3D mode uses the equally excellent threejs library. It's larger than p5, and has a steeper learning curve, but if you'd like to use some 3D effects, go for it! Some of the existing mods use threejs, so peek at them for some examples.

To enable 3D mode, place this in your mod's constructor:

gfx.set(this, '3d');

Last years' Exhibit

About

Make visualizations for your Kinect! Kimotion is a web-based visualization framework for Kinects.

http://kimotion.xyz

License:GNU General Public License v2.0


Languages

Language:HTML 49.2%Language:JavaScript 29.3%Language:Python 11.1%Language:CSS 6.0%Language:GLSL 4.2%Language:Shell 0.3%