For a long time, i dreamt of creating virtual humans - specifically, a realtime,
physical simulation of a human that could interact with its virtual environment.
In 1995-97, i tried to learn sufficient modeling, anatomy and physics for the
task. I gathered lots of notes, wrote some code and attended the virtual humans
conference twice. Eventually, i had to put it on the back burner.
I could describe in great detail why simulated humans haven't happened
yet, but that would be too negative, so instead i'll just leave you with my notes,
which for the most part haven't been updated since the late 90s.
They do still, however (unfortunately) probably cover
the subject more exhaustively than anywhere else on the Web.
- Non-realtime humans are already present in high-end movies and pop culture.
- Likewise, realtime humanoids with fairly well-scripted motion are
increasingly common in
games, which don't require as much variety of motion.
- I feel the real challenges and rewards are in going beyond scripting to realtime
- why virtual humans?
- people in this field
- books on this subject
- commercial companies and
- other organizations and
- sources of humanoid
- sources of biometric data
- physical properties
- need joint ranges and mass, dimensions, moments of inertia.
- need elastic response curve for each DOF
- Poser has default joint
limits, but they are a "rough guideline" well beyond normal ranges
- perhaps some information is buried in the biomechanics literature
- realtime simulation
- Elastic, gravity, and muscle forces
- Collision - simulation of collision forces - enables the humanoid to
stand on its own two feet, and prevent positions which have body parts passing through
each other (necessary for accurate grasping and other interaction with worlds objects).
- Friction - simulation of static and dynamic frictional forces - Nobody
has yet attempted this, not even for non-realtime humans! Apparently, one way to
approximate friction involves sticking objects together - e.g. feet to ground, hand to
tool. This seems like a really crude method. A vaguely accurate approximation should be
- Dynamic flesh distortion - flesh needs to sag in the direction of
gravity and momentum, and distort when collided with - i.e. is needs to be subject to the
force simulation engine.
- Higher-level behaviors
- Distributed environments
- Other Resources