Plausible Motion Simulation for Computer Graphics Animation
Total Page:16
File Type:pdf, Size:1020Kb
published in: Computer Animation and Simulation '96(Proc. Eurographics Workshop), R. Boulic and G. Hegron´ eds., Springer Wien, New York, 1996, pp.183–197. Plausible Motion Simulation for Computer Graphics Animation Ronen Barzel John F. Hughes Daniel N. Wood University of Washington Brown University University of Washington Abstract Accuracy is the ubiquitous goal of dynamic simulation, in order to yield the “correct” motion. But for creating animation, what is really of interest is “plausible” motion, which is somewhat differ- ent. We discuss what we mean by plausible simulation, how it differs from “accurate” simulation, and why we think it’s a worthwhile area to study. The discussion touches on questions of physically plausible vs. visually plausible motion, plausible simulation in a noisy or textured environment, and probability measures for motion, as well as issues for forward and inverse problems. 1 Introduction Simulation is generally used in the context of a predictive model of behavior: given a precise description of a real-world situation, try to determine computationally what would really happen. When designing airplane parts, for example, accuracy of the model and of the simulation are critically important. However computer graphics animation has different needs, requiring a slightly different outlook. In particular, we claim: For computer graphics animation we don’t need a predictive model of what will happen. The creator of an animation decides a priori what is to happen: the purpose of simulation is to provide tools to make it happen in a way that seems real. Simulated motion often looks “sterile,” because it lacks the variation caused by small details that are left out of the models. These are generally omitted because their inclusion would render the simulation computationally intractible, or because simulation methods for handling such detail are not known. We thus introduce the idea of plausible motion: motion that could happen, given what is (un)known about the system. Many motions may be plausible for given conditions; this can give us latitude in creating or choosing a particular motion that is desired. We have found that recasting the animation simulation problem domain to be one of plausible rather than accurate motion opens up a variety of interesting and promising directions for investigation. We will discuss some of these directions, and give some preliminary results. We hope to stimulate interest in an area that we have only just begun to explore. 2 Thought Experiments We discuss some simple thought experiments, to motivate the claims of the last section and to examine the notion of plausibility. The experiments lead to various conjectures about implementing and taking advantage of plausibility. 2.1 The Importance of Detail Thought experiment: A Superball Consider a typical CG simulation of a sphere released from rest above a ground plane: it bounces up and down above a single point on the plane. Now consider a real-world superball that is held and released above a floor: it bounces and skitters every which way. Repeat the experiment; the ball will travel on a very different path, but the overall “character” of the skittering will be roughly the same. There are a variety of factors that probably contribute to the skittering of a real-world superball: slight initial spin imparted when the ball is released, eccentricities in the shape of the ball, inhomogeneities in its mass distribution, non-horizontal floor plane, non-planar floor, and dirt and other particles on the floor. Thinking about the bouncing ball, we observe: Simulations of CG models tend to look mechanical and sterile, no matter how accurate the computation. This is because the model is itself “sterile”: a perfect flat plane and a perfect sphere. It would be hard to take into account all factors and imperfections to accurately model and simulate a real superball on a real floor. Furthermore, no matter how carefully we measure the superball and floor in question, there will be some uncertainty in the initial conditions (unless we build a precise mechani- cal release mechanism rather than simply dropping the ball by hand), which will lead to uncertainty in the resulting motion path. It doesn’t matter exactly which motion path the ball takes if one is only concerned with the appearance of realism. Each real-world trial is different anyway. But it is essential that the path displays the same type of skittering that is caused by the imperfections in the real world. It may be too hard to accurately simulate all the “details” of the real world. But we get a big win if we can mimic the details: we would make plausible, non-sterile motion. Conjecture: We can mimic real-world imperfections by starting with the usual flat, smooth CG model, and introducing an appropriate amount of variability into the simulation process. This approach is well- known in the world of rendering: One provides texture to make models appear more realistic. Texture adds detail most effectively when the “character” of the detail is important, but the actual data in the detail is not (e.g., it matters that the wall is marble, but not where the veins in the marble lie). 2 2.2 The Futility of Accuracy Thought experiment: Rolling Dice (a) Consider rolling a die to see who plays first in a game of Monopoly. This extremly simple physical system—roughly, a cube and flat plane—is commonly considered to be a good source of random numbers. Thinking about simulating a die roll leads us to two observations: Since behavior of this system is random,1 there’s no point in trying to simulate it “accurately.” A typical simulation of a rolling die would produce the same result each time it is run (for a given set of initial conditions). In some sense, to really be “accurate,” a simulation should produce a different result each time it is run. Since repeatability is a desirable property of computer programs, having a simulation truly produce random results is probably not ideal. More useful—though probably hard to compute—would be a simulation that reports (in some form) the space of possible results, allowing the user to choose a specific element as desired; the program could also choose one arbitrarily2 or randomly. Thought experiment: Rolling Dice (b) Consider the following scenario: a pair of dice are on a table, showing seven; some- thing knocks them to the floor, they end up showing “snake eyes.” This is a plausible occurrence, but one that is hard to arrange or predict. Suppose we want to create an animation of the above scenario. To produce a believable motion for the dice, simulation is a natural choice. But thinking about how to meet the final-state condition, we note: Since behavior of this system is random, we can’t expect an accurate predictive model. And we can’t expect to easily adjust the initial conditions to guarantee the desired final results. To create an animation, we don’t need a predictive model, since we know what we want to have happen. But we do need a way to create a plausible motion. One might imagine trying to create this animation by simulating it repeatedly with various parameter values— since the odds of “snake eyes” are 1:36, we’d expect that within, say, 50 tries we’d get the desired result. But what if the director specified not only the initial and final scores of the dice, but also their positions? We now have a highly constrained (or multi-point boundary value) problem, for a highly unstable system. Conjecture: The easiest way to create an animation of scenarios such as the above is to exploit the variability and instability within the system: At each moment when there is variability, can adjust the outgoing state within the bounds that are derived from the plausible set of incoming states and the instability in the system. 1More precisely: given the limits of precision in the initial conditions and the computation, and given the instability in the system, the results of this (or comparable situations) are provably indeterminate [HS92]. 2Thus returning us to the usual behavior of simulation. 3 2.3 The Flexibility of Believability Thought experiment: Baseball Hit Consider a viewer in the bleachers watching a baseball3 pitch, swing, and hit. Can the viewer guess where and how far the ball will travel—straight to the left fielder? over his head? inside the foul line? out of the park? Can the viewer measure how high the ball flies, or whether it travels in a parabolic arc? To create an animation of a baseball, we can probably choose from a wide range of trajectories—even ones that are physically infeasible—without compromising the believability (for example, have the ball “hang” in the air for a moment longer than it ought to, to increase the dramatic tension). Again, making a few observations: People are not always terribly accurate predictors of motion. (How many novice outfielders have run forward to catch a fly ball, only to have it pass over their heads?) In some cases, people are willing to accept surprising behavior by relying on unseen forces: in par- ticular, the effects of wind on the ball are significant on balls hit a long way, and miscalculations and fielding errors can often be blamed on the wind. Believability depends on viewing angle. From the bleachers above home plate, the initial direction (towards left or right field?) is probably not as free to be adjusted as is the initial elevation (grounder, line-drive, or fly ball?), while from behind first base the opposite would be true. Of course, there are limits to how much variation can be introduced before breaking the viewer’s belief that the simulation is “real.” For example, if the batter bunts, holding the bat still, it would be implausible for the ball to gain enough energy that it could fly to the outfield.