behavioral animation cse 3541 matt boggus. material recap and trajectory geometric – artist...
TRANSCRIPT
Behavioral animation
CSE 3541Matt Boggus
Material recap and trajectory
• Geometric– Artist specifies translation and rotation over time
• Physically based– Artist specifies forces acting on objects– Motion equations dictate movement
• Behavioral– Artist directs autonomous agents
• Interpolation– Artist draws the scene at the beginning and end of a an
interval of time– Intermediate positions are calculated
Behavioral Animation
• Control the motion of one or more objects using virtual actors
• Goal: realistic or believable motion so that the object appears to be autonomous
• Matt Lewis’ page on BA http://accad.osu.edu/~mlewis/Class/behavior.html
Behavioral animation
• Character or object motion based on:
– Knowledge of the environment– Aggregate behavior– Primitive behavior– Intelligent behavior– Crowd management
Actor properties (position only)
Position (x, y)
Goal (xg, yg)
V = Goal - Position
Next Position = Position + V * dt
Actor properties (position and orientation)
Position (x, y)
Goal (xg, yg)
Vtarget = Goal - Position
Orientation (ox, oy) = transform.forward
Rotate(θ)
In Unity, you can use RotateTowards()
Rotate(-θ)Determine which rotation (±θ) orients the actor closer to the goal using dot product
Sample codeclass OrientedAgent2D {
// DataVector3 position;GameObject model; // Use this for geometry and orientation
// MethodsUpdate(float deltaTime);TurnLeft();TurnRight();MoveForward();MoveBackward();
};
Knowing the environment
•Vision and other senses– Information available now
•Memory– Information stored from the past
Vision
•General vision– What can the actor see? – What is everything in sight now?•Targeted vision– Can the actor see object X?
• Computation vs. accuracy– How much of an object needs to be seen to be
identified?– Do we need to model visual perception?
Omniscience
Everything in the scene is known
Field of view
Field of view – example
Orientation Vector (O)
Vector from agent to vertex (V)
Inside the cone when the angle between O and V is less then or equal to θ/2
Angle of cone = θ
Field of view – sample code
Vector3 agentPosition, orientation, objectPosition;float visionLimit;
Vector3 agentToVertex = objectPosition – agentPosition;
agentToVertex.Normalize();if(Vector3.Dot(agentToVertex,orientation) > visionLimit)
// agent can see object
Occluded Vision
Ray casting with collision detectionSample the environment
Target-testing vision (per object)
Can the actor see X?Cast a ray
How well can the actor see X?Use multiple rays
Target-testing vision (alternative)Sample the vision cone
Cast multiple rays
Lab4 – predator-prey simulation
•Unbalanced abilities– Vision
• Distance• Field of view
– Linear speed (moving forward)– Angular or rotational speed (turning)
Spatial Occupancy
Other senses
•Hearing•Smell
•Sensors & signal propagation•Spatial occupancy approach•Applications
Memory
•What is recorded about the environment
•Spatial occupancy
•Transience of objects: time-stamps
•Memory hierarchy: short-term, long-term
Spatial Occupancy
doorway
doorway
transiency
wal
l
Aggregate Behavior:Emergent Behavior
Type Elements Physics
Env/Others
Intelligence
Particles 102-104 Much/none None
Flocking 101-103 Some/some Limited
Crowds 101-102 Little/much Little-much
Typical qualities
Emergent behavior
• Complex systems and patterns arising out of simple rules
• Aints – AI ants http://www.youtube.com/watch?v=rsqsZCH36Hk
Predator Prey vision anatomy
Prey-Predator (vision)
Prey-Predator (movement – speed and turning)
Motion – force based
Apply a force on the predator towards the prey when in view
Force = c * posprey - pospred
Motion – kinematic based
Determine the closest prey in view then turn towards it and increase forward velocity
voldvnew
Prey-Predator – environment forces
Using pure forcesMay not prevent object penetrationPrey can be ‘hidden’ by environmental repulsive forces
Flocking, Swarming, Flying
Boidshttp://www.red3d.com/cwr/boids/
Local control
Rules defined to stay with friends, but avoid bumping into each other
Need additional rules for collision avoidance with obstacles
Local information
Other flocking issues•Global control– script flock leader– global migratory urge
•Negotiating the motion– Separation, alignment, and cohesion may compete/contradict
•Collision avoidance– Once an object is in sight, start steering to avoid
•Splitting and rejoining (difficult)– Collision avoidance too strong – flock may never rejoin after split– Flock membership too strong – flock does not split and formation changes
•Modeling flight
Negotiating the motion
ForcesOr “Reasoning”(e.g. rule-based)
Navigating obstacles
Problems with repulsive forces
Navigating using bounding sphere
NavigatingTesting for being on a collision path with
(bounding) sphere
rt
kst
PCs
V
VPCk
22
)(
Given: P, V, C, r
Finding closest non-colliding point
sWUtPCPB
UVU
UVUW
PC
PCU
trs
PC
PCrkt
ttPCPCtrk
tPCsk
tsr
rPCk
)(
2
2
)(
22
222
22222
222
222
22
Calculate s,t
Modeling flight – common in flocking
Modeling flight
Geometric flight – dynamic, incremental rigid transformation of an object moving along a tangent to a three dimensional curve
Modeling Flight – Lift
Air passing above wing most travel longer than air below it. Less pressure above wing = lift
Modeling Flight – turn by rolling
Modeling Flight – summary
• Turning is effected by horizontal lift
• Increasing pitch increases drag
• Increasing speed increases lift