|
|
Introduction
The Humanoid Animation Project is an OpenGL animation demo that demonstrates platform diving manouvers using a roughly constructed humanoid model using the MPEG-4 virutal human model standard. It was completed as an assignment for an OpenGL subject that I have attended. The demo includes a few basic diving animations, various background effects (e.g. lighting/shading, textures, fog etc.), plus the ability for the user to manipulate the various parts of the humanoid model to make different poses.
Hardware Requirements
The minimum requirement of this program is a 3D video card that has at least 16Mb of memory. Ideally you'll need to have at least 32Mb in your graphics card to get any decent performance (e.g. TNT2, GeForce2 etc). I've managed to get it to work on some 8Mb video cards, but only by resizing the window and disabling certain rendering options (Hint: If the demo is running slowly, try disable some of the rendering options).
Controls
When the program is run, you may use a range of keyboard commands (Press F1 to see the full list of commands) to control the environment while right-clicking with your mouse button on the screen will bring up a list of actions and camera viewing options.
Keyboard commands:
- F2: Switch between flat and smooth shading.
- F3: Switch between solid and wireframe rendering mode.
- F4: Turn lighting on/off.
- F5: Cycle through the humanoids' textures - There are four modes, including no textures,
low quality scaled texture, linear scaled textures, and mipmapped textures.
- F6: Change pool textures - Same as above.
- F7: Change background textures - Applies to the 'walls' and the ground.
- F8: Turns fog on/off.
- F9: Hides the help text display.
- 'a'/'A', 's'/'S', 'd'/'D': Changes the x, y, z positions of the viewing camera (panning).
- 'q'/'Q', 'w'/'W', 'e'/'E': Rotates the camera along the x, y and z axis.
- 'u'/'U', 'i'/'I', 'o'/'O': Changes the x, y, z location of the light source.
- 'j'/'J': Changes the intensity of the fog (if enabled).
- 'z'/'Z', 'x'/'X', 'c'/'C': Rotates any selected major joints (from the 'joint control' menu) along the x, y, z axis.
- 'r'/'R', 't'/'T', 'y'/'Y': Changes the position of the diver humanoid.
Action menu options
- "Bow": The humanoid will give a bowing gesture.
- "Single somersault": The humanoid will jump into the pool, performing a somersault in the process.
- "Single jump": Perform a simple jump into the pool.
- "Waist twist": Perform a little stretching.
- "Oooops...": Click here to see a little sporting accident :-)
- "Man, you suck!": ?
- "Joint Control": One of the features of this program is the
ability to control individual joints of the humanoid model. From
this option the user can select certain major joints which can be
controlled using the keys "Z", "X" and "C" (controls the x, y and z
positions).
Camera view options
- "Spectator view": The default camera view. Gives a broad overview of the pool and the humanoids.
- "3rd person view": Allows you to view from behind the diver humanoid.
- "Top view": A bird-eyes view of the entire scene.
How it works and screenshots
For an in-depth explanation of how it all works, click here.
Click here to see screenshots of the demo in action.
|
|