Assignment 3: A World Controlled by Skeleton Physics

 

Your creativity is needed in this assignment (...or: I didn't have a convincing assignment idea :-) ). Develop a one week project around skeleton physics.

 

More detailed:

You have to create a visualization of the Kinect - Skeleton data, e.g. using cylinders connecting the joints. Then add physics to this skeleton, such that it can interact with objects in the JMonkey-space.

A typical example would be dodgeball.

 

Your task in steps:

(1) create a visualization of the Kinect - Skeleton data using cylinders: for each joint-connection, create one cylinder. Transform it such that it connects the two joints that it is supposed to connect.

You find the transformation function in the "Example 3" on the class website. The example creates a single cylinder, and transforms it to lie between 2 points. Exactly what you need! Please also try to understand it, it's the transformation example i presented in class, too. The joints indices can be found in the documentation for the KinectTCP program (google KinectTCP, look at the docu-PDF).

 

(2) Make the skeleton physical: I will teach about the JMonkey physics engine in class. In a nutshell: The physics engine adds physical (vs. visual) properties to objects that you select. You will see tomorrow that there are different modes/types of physical interaction. You will have to create your skeleton-cylinder objects as static (i.e. mass = 0) and kinematic (i.e. controlled by vision transformation, not by physics) objects. You will understand after/during the lab.

 

(3) now that the skeleton is physical, it can interact with other physical objects, e.g. spheres. The physics engine does everything by itself, no need for extra programming work. However, you will want to know when a collision of an object with your skeleton occured (e.g. in dodge-ball, when you were hit). In order to do so, you must implement the PhysicsCollisionListener interface (just one method!), and register it to the PhysicsEngine. The lab will show how.

 

(4) have an idea what to do. The idea has to be verbally presented in class on Monday. Have in mind that this is a one week project. So come up with something exciting and feasible!