the next thing in computer graphics?

December 8th, 2006

Alright so we have things now in graphics that some *raises hand* never thought would be realized. If you play the latest FIFA Soccer, you'll see some pretty accurate detail in the graphics. Players' bodies, facial characteristics, hairstyles, even their signature moves. In fact, if you just look at action shots from the game, you might think it's a pretty damn good reproduction of reality. But one thing that isn't quite right is how these characters move. That's because these models are just a bunch of dots in space, fitted with curves I guess and this makes up a very accurate model of their contours. Then the shapes are covered with mesh, that is bitmaps of some kind, which makes them look like 3D objects with surfaces, rather than just dots. Imagine fitting a towel tightly over a ball, covering it's surface completely. But they are hollow characters, their mass is completely unaccounted for. So when you render still images, they look striking, but when you try to animate these models, you're facing a whole new set of problems.

You couldn't build a real human being with just a shell, so in graphics you can take that shortcut. But when you move limbs around to simulate real human motion, it's not very clear exactly how to do this. What EA Games does is bring in some of these players they want to model, fit them with a large number of sensors all over their bodies, and tell them to move around just like they do when they're playing matches. So let's say you have a sensor at the knee and one at the shin. Now you can register the movement in all three dimensions of these two body parts relative to each other. And with enough points on the body, you get some kind of 4D model of human motion. What you can do now is plot these points where the sensors are on the human body to points on the computer model. You have to define joints to determine which parts move, but after that you can pretty much reproduce the same move that the human does with the computer model of the human. Pretty neat, huh?

If you think that's a big step forward, well there are still lots of problems to solve. A common problem in all kinds of games is collision handling. When two players run into each other, what happens? If you do nothing to handle this, they will just run through each other as if the other player was never there. Collision handling in football simulation games that I've played is still very primitive. Motion of the ball bouncing off the body is very unrealistic and hasn't improved much in years. Player collisions in the form of tackles are also very mechanical. The aspect of interacting bodies adds complexity to the problem, so let's go back to the single body in motion.

There is still a great deal missing in how just the one player moves. The moves don't look real. Even when they are modeled directly after human motion as described, their complexity is still too shallow to look real. I remember playing one of these FIFA Soccer games a few years ago and they chose Edgar Davids as one of their main profiles for that edition. Davids, of course, very characteristic for his dreads, which they modeled pretty damn well in the game. But guess what, even when his head moved, the hair didn't, it was as if he had overdosed on a whole can of industrial strength wax. The hair was completely fixed and moved along with the head, but it wasn't affected by gravity or anything like that. Hair is complex enough to illustrate this point very poignantly.

It comes back to what I said already, the human body is hollow, it has no mass. The surface is rigid, which means that when a player receives a ball on his thigh, the surface of his skin doesn't indent under the momentum of the ball, as it should. Mass responds to forces of nature - a hollow shell couldn't possibly. We are doing quite well with surfaces already, will the next step be to model mass? Just imagine what kind of human motion you could get if you modeled mass as well... hair flowing, muscles moving, ball motion that looks real as the foot connects with the ball and sends it away.. This is how I imagine it's going to work. You divide the mass into parts. Then you assign to each part a certain weight and typical characteristics of this portion of mass, that is how dense it is, how hard it is, and so on. Then you apply functions to these parts and determine their motion on say a grid of points. Much like the way you simulate synthetic materials with finite element analysis. The difference is that these are body parts, not distinct from each other, like the mechanical parts of a car. Then, for the purpose of a game, you have to combine the curvatures of the mass with the surface somehow, so that when muscles are contracted, the shape changes. For this to be accurate, you would probably plot much denser points at the surface of the mass than inside of it when simulating its motion.

What remains is still to define the direction of these forces. A mass modeled this way will respond as an inert body, but what is it that is exerting a force on it from a certain direction? This is the result of muscle motion, which again would have to be modeled somehow in order to get a self-contained solution. But if we leave that aside for a moment and go back to registering human motion with sensors like EA Games do, you would have a pretty complete model of human motion at this point. Just imagine what you could do with this, pretty neat things that haven't been possible so far. It's pretty hard to capture on film how a player shoots the ball, to capture the full complexity of the foot's motion when this occurs within fractions of a second. But if you could register this motion with sensors in a very detailed way, you could then recreate the motion, and add mass models to show how the mass would respond to this motion. In doing that you could make a video of how the foot moves just as it strikes the ball, zoom in on the foot very detailed and observe the actual muscles, the toes, everything. Now that would be some amazing detail.

Is this where we are headed?

:: random entries in this category ::

1 Responses to "the next thing in computer graphics?"

  1. erik says:

    Almost made me wanna check out the game. Almost :D