It proves impossible to type notes for Computational Models of Speech, there are too many squiggly lines, too many omegas, too much supertext. So much for that.
Basic physics engine (second milestone) doesn't have to be fancy, "bells and whistles" can be added later. Updating state iteratively with accelerations, rotations, positions, et cetera. First-level behaviors, basically.
First milestone ( design document ) pushed back one class. Is the second (physics) also pushed back? His answer is unclear.
physics takes a state and a control, returns a state.
Steering Behaviors:
seek (target)
   v = target.pos - self.pos
   return (maxAccel * normalized(v), 0)
path following
   t = pathParamClosest (self.pos)
   targetPos = path(t +Dt)
   seek targetPos
predictive path following
   find where your headed
   find the point on the path closest to that
   aim for that instead
   that is
   targetPos = self.pos + Dt * velocity
   param = pathParamClosest (target.pos)
   seek (param)
He just said "Catmull-Rom Splines" again.
Approaches to steering:
Arbitration
   eg. "arriving" steering
Weighted Blending
   weights associated with steering behaviors
   w.i , s.i
   s = sum.i(w.i * s.i(target))
   interesting...
   but situations exist where weights can balance out
Flocking
   combine:
   separation (not too close to neighbors)
   cohesion (not too far away  from neighbors)
   alignment (with the velocity and direction of the flock)
Priority Based Combination
   blended groups ordered by priority
   find the highest priority behavior that provides "meaningful steering"
   ex:
      (high, collision avoidance)
      (med, enemy avoidance)
      (low, path following)
Tuesday, April 8, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment