Skip to content

kinectron/Three-Kinectron

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kinectron for Three.js

NOTE! This repo was created with Version 0, which is now unmaintained. It has not been tested with the current Version 1.0.0

A plugin for working with the Kinectron RGBD stream in Three.js

  1. Usage
  2. Contribute Kinectron

Usage

You can create geomtery from the Kinect's RGBD feed by simply:

const kinectGeo = THREE.KinectGeometry("mesh");

You can choose the rendering type by changing the first argument to "mesh" / "wire" / "points"

And then simply add it your Three.js scene:

scene.add(kinectGeo);

You would need to also bind the incoming Kinect image to the '''kinectGeo''' instance

function onNewKinectFrame(ktronImg) {
  kinectronGeo.kinectron.bind(ktronImg.src);
}

For further reference use the simple example

Class methods:

All class methods are available on the kinectron property of the THREE.KinectGeometry instance

const kinectGeo = THREE.KinectGeometry("mesh");
kinectGeo.kinectron.setDisplacement(30.0);
  • .setDisplacement(amount) - Increase or decrease the amount of displacement on the Z axis (Default value is 1.0).
  • .setBrightness(amount) - Increase or decrease the brightness of the texture (Default value is 0.0).
  • .setContrast(amount) - Increase or decrease the contrast of the texture (Default value is 1.0).
  • .setOpacity(opacity) - Increase or decrease the opacity of the texture (Default value is 1.0).
  • .setPointSize(opacity) - Increase or decrease the point size (Only when rendering points, "points").
  • .setLineWidth(width) - Increase or decrease the line width (Only when rendering wireframe, "wire").
  • .pause() - Pause the rendering of the Kinectron stream, keeps the last frame.
  • .play() - Resume the rendering of the Kinectron stream.
  • .bind(imageStream) - Bind a Kinectron image stream to the material, needs to be called everytime a new frame arrives.
  • .update() - Calling the update method in the render loop will update the time uniform in the shader.

Contribute

Fork/Clone the repository, make sure to use the --recursive flag when you clone to clone submodules too, and npm install all dependencies

Build system commands:

  • npm run start uses concurrently to run both an http-server and a watchify build opreation on every save to dist/kinectron.three.js.
  • npm run build builds a minified version of the plugin once and saves it to dist/kinectron.three.min.js

Written by juniorxsound based on DepthKit.js as a part XStory grant in ITP, NYU

About

A Three.js plugin for rendering Kinectron feeds

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •