Program to demonstrate dance moves (classical, modern, tap - dance)

I’ve been asked to see if there is a program/game that can be used to show dance moves (for a group of dancers) using a simple language (script etc.). Do I need to look at 3-D game engines or is there some program where a number of dancers can perform the the dance in teaching the students a dance? The dance types range from ballet to tap to break dancing.

I’m proficient in Java if I need to satrt at the new program level.

Appreciate any help.

Thanks,
RON C

I would think it would be easier and less expensive to just video record people dancing and put it on a CD.

For the amount of work involved in doing a new program from scratch you could teach yourself video recording/editing.

No idea if a program already exists.

At present, they are videoing but that is after the dance has been taught. They’re asking for a tool that they (the teachers) can program/script to create the choreography.

Do any present day games allow scripting of the person’s movements?

I’m not a gamer in any form so I’m completely dumb on this.

Thanks,
RON C

In movies they use motion suits to map a persons movement to a 3D model, but that would require that at least the person in the suit knows the dance. I still don’t understand why the teachers can’t just film themselves?!

To be able to script movements easily enough for a dance teacher (non-programmer, non-animator, non-modeller) to do it is pretty much a holy grail. There are some very expensive technologies out there used by the film industry that do this to a degree though.

One of the best of this kind of intelligent animation is Endorphin (http://www.naturalmotion.com/pages/products.htm) - it retails for some where around $10K US.

Dances can be broken into their component parts si it seems to me that a library of moves could be made and then scripted. How do the video games make people walk, jump, leap etc.?

Thanks,
RON C

If you can predefine all the moves of the dances, then you can use a modeling tool and skeletal animation, along with code to load and run it, to do it. Do a search for “Inverse kinematics” or “Skeletal Animation” - that should point you in the direction of the coding, tools and techniques.

The video game folks spend a great deal of time modeling these behaviors! And there is a very limited set of motions, unlike dance! One of the more complicated parts would be blending the animations. For example, if the end of one move leaves you in a squatted position, and the next invloves raising up on the toes! In video games you can have an “idle” stance that all animations start from and end at so they blend together seamlessly. Not so in dance! I am not saying don’t try! Not by any means! I just want you to know what you’re in for! ;D I feel the same way about Arabic word processors, but hell, someone did it!

Most games just snap when they need to transition from one precanned anim to another (still! what year is this again?). Some will just do a fast lerp - enough to stop a hard snap, but fast enough that you don’t notice it’s inaccurate. If you want something more fancy theres been some good stuff shown at the last couple of GDCs.

However although you havn’t got a single idle pose to return to, certain animation fragments would only be possible from the end of certain other ones. Which is just crying out for some kind of finite state machine. ;D You’d still need to create all the animation data in the first place though.

My interpretation of your question: You want to read in some dance scripting file, that is simple enough for a non-computer-expert dance teacher to author, and visualise the resultant dance.

As to the script file, I distinctly remember an episode of Diagnosis Murder that involved a shorthand notation for ballet. Does such a thing exist for all dances? If so, that might provide a handy framework in which your dance experts can describe the movements that they want visualised. I’ll be terribly upset if Dick van Dyke has lied to me about this ballet notation… ;D

As to visualising the movements and blending the animations, I’m afraid this sounds like a, as computer scientists are wont to describe such things, “non-trivial” challenge. Meaning you’ll be forging your own pathway, rather than following some other clever guy’s. Significant effort will be involved to solve the probem.

Good luck!

You guys have been very helpful and I appreciate it.

I do have other questions:
If I had a skeleton and wireframe of a “dancer” and I wished to just move the figure by supplying either x, y, z or dx, dy, dz for each joint and ends (finger tips etc.) of the skeleton, is there a program that will take the xyz or dxdydz info in script form and give me a new dancer (skeleton/wireframe)? Let’s not talk about file format yet.

I believe that I can generate the dxdydz in a separate code that I’ll make.

Assuming that works, can I now do the raytracing etc. needed for the lighting?

Sorry for being such a pain.

RON C

You would need to set the bones up as a hierarchy and Instead of (X,Y,Z) you would need to feed in the amout of rotation of each bone relative to the parent bone. For ecample, if you wanted the model to raise it’s arm to be parrallel to the floor, then you would tell it to rotate the “forearm” bone 90 degrees around the X axis. This would effect the hand and all of the fingers because those are the children of the forearm, but not the upperarm because it is the parent.

I’m pretty sure that’s how it would work, but I’ve never tried, can anyone correct me?

CBorders,

Thanks. I wasn’t aware of the hierarchial nature of the model but it seems natural. If thats the case, I can take the xyz or dxdydz and compute the rotation angles.

Hope someone helps us verify this.

RON C