21
Agents and Avatars Ruth Aylett Overview ! Agents and Avatars ! Believability v naturalism ! Building the body ! H-anim ! Moving and sensing

Lectures on Virtual Environment Development L15

Embed Size (px)

DESCRIPTION

Virtual Reality development is taking the world by storm. Follow all 16 Lecture Notes to learn how to build your own VR experiences. -By Ruth Aylett, Prof.Comp Sci. @ Heriot Watt University

Citation preview

Page 1: Lectures on Virtual Environment Development L15

Agents and Avatars

Ruth Aylett

Overview

!  Agents and Avatars !  Believability v naturalism !  Building the body !  H-anim !  Moving and sensing

Page 2: Lectures on Virtual Environment Development L15

IVAS

!  Intelligent Virtual Agents (IVAs) –  Also:

•  Synthetic characters •  Embodied conversational characters (ECAs) •  Virtual humans •  BUT do not have to be humanoid…

–  Embodied and autonomous •  Require a control architecture - or ‘agent mind’ •  Insides v outsides: combining AI with graphics

–  ‘Inhabit’ a virtual environment

Why IVAs?

!  Adding life to a VE –  Animals, birds, insects –  Crowds

•  E.g. students in the virtual campus –  Increase sense of presence

!  As a guide or teacher –  Front-end to embedded knowledge in a VE

!  As a character in a story –  Computer games

!  Interface agents –  On web pages to make them more human –  Personal representative –  Sales rep

Page 3: Lectures on Virtual Environment Development L15

Why IVAs? - 2

!  As virtual actors –  Instead of extras –  Immersive Education Media Stage

!  As part of a simulation –  Hostage release training –  Battlefield medical training

!  Scientific investigation –  Buildings evacuation –  Testing for disability friendliness –  Ecology and animal behaviour

Avatars

!  Hindu Sanskrit Term - “Representation of a Deity in visible form” –  Snow Crash (Neil Stephenson 1992) - “A

graphical representation of yourself”

!  VE representation of the user –  Embodiment need not be humanoid

!  Driven by the user –  So NOT autonomous –  A mapping rather than a control problem

Page 4: Lectures on Virtual Environment Development L15

Video avatars

! “magic video mirror” with back-projection

! video image mixed with computer generated overlay

Creating a video avatar (ALIVE, MIT)

• unencumbered interaction between human visitor and virtual character based on position, postures, and gestures

• main focus on “virtual presence” http://www.ai.univie.ac.at/oefai/agents/

Page 5: Lectures on Virtual Environment Development L15

Believability

!  Term introduced by Joe Bates of the OZ group at CMU in the 1990s –  Combined art and technology

!  Very hard to define –  A willing suspension of disbelief? –  Seem like ‘real’ characters? –  The ‘illusion of life’? –  Willingness to attribute an internal state

•  Ascribe intentionality

Believability and Naturalism

!  Are they the same thing? !  Graphics people seem to think so

–  Is Mickey a real mouse? –  Is he a believable character?

Page 6: Lectures on Virtual Environment Development L15

The uncanny valley

!  The ‘uncanny valley’ –  Work by a Japanese

researcher, Mori –  Acceptability v

naturalism

!  Goes -ve as becomes ‘nearly human’

SEE: http://en.wikipedia.org/wiki/Uncanny_Valley

Page 7: Lectures on Virtual Environment Development L15

The problem of expectations

!  Humans have hard-wired expectations –  Used to interpret inter-personal behaviour –  Fundamental social skill

!  Need to invoke this very carefully –  Acceptability of movement

•  Lip sync a key problem

–  Interactive responsiveness •  Memory of interaction a key issue •  Games create a real problem with instant rewind

Building a body

!  Use of 3D modelling package –  3ds Character Studio; Poser etc

!  Creation of skeleton –  Required for animation later

!  Polygonal body –  But overall count must be low for real-time

interaction, low 000s or less if possible

!  Texture to cover body –  One body, many textures?

Page 8: Lectures on Virtual Environment Development L15

Texture Images

X 4

Silhouette Images

X 4

Stage 1: Image Capture

Page 9: Lectures on Virtual Environment Development L15

• Generic Avatar

• Polygonal Structure

• 1500 Polygons

Change Data: Deforms the Mesh

Stage 2: Deform the Mesh

Apply Textures to Deformed

Mesh

Stage 3: Apply the Textures

Page 10: Lectures on Virtual Environment Development L15

The touch up process

What sort of motion?

!  Walking around –  Jumping, running, swimming –  Human and non-human

!  Picking things up –  Agent-agent interaction

!  Gesture !  Talking heads

–  Facial muscles, lip synch

!  Group Movement –  Crowds, flocks, herds

Page 11: Lectures on Virtual Environment Development L15

Moving the body

!  Animation – Drawing on cartoon animation

!  Motion capture – Drawing on gait analysis and then film

!  PBM – Drawing on robotics

• Analytically calculated •  Learned

Animation

!  Time consuming for good results – Requires artistic skills

!  The main character, Woody, in Toy Story had: – 700 degrees of freedom (200 for face and

fifty for the mouth) – 150 people (at Pixar) would generate 3

minutes of animation a week !  Can it be standardised?

Page 12: Lectures on Virtual Environment Development L15

Self-animation

!  Poses new problems: – Parametrisable animation very desirable

• E.g a walk that could be reused with different stride length or foot height

– Melding and combining of animations ‘on the fly’ • Not just a morphing problem •  ‘starting position’?

– Extra actions inserted by character

Standardising animation?

!  Animation depends on the structure of skeleton that is being animated

!  Can we standardise a humanoid skeleton? – H-anim just such an attempt – Originally in the context of VRML – See www.h-anim.org

Page 13: Lectures on Virtual Environment Development L15

H-anim

!  A set of standard components –  Humanoid: root of a figure –  Joint: attached using transform specifying

current state of articulation plus geometry associated with attached body part

–  Segment: specifies attributes of physical links between joints

–  Site: where can add semantics –  Displacer:range of movement allowed for object

in which embedded

H-anim

Page 14: Lectures on Virtual Environment Development L15

And in X3d..

<HAnimJoint DEF='hanim_l_hip' center='0.0961 0.9124 -0.0001' name='l_hip'>

<HAnimSegment DEF='hanim_l_thigh' name='l_thigh'/> <HAnimJoint DEF='hanim_l_knee' center='0.1040 0.4867 0.0308' name='l_knee'> <HAnimSegment DEF='hanim_l_calf' name='l_calf'/> <HAnimJoint DEF='hanim_l_ankle' center='0.1101 0.0656 - 0.0736' name='l_ankle'> <HAnimSegment DEF='hanim_l_hindfoot’ name='l_hindfoot'/> </HAnimJoint> </HAnimJoint>

</HAnimJoint>

Motion capture

!  Electro-magnetic or by camera !  Produces the most ‘natural’ results

–  Extensively used in film for graphical extras –  Can be used on avatars very successfully to transmit user

movement to their graphical representation

!  Even more problems for self-animation –  Harder to parametrise –  Worse combining/melding problems

Page 15: Lectures on Virtual Environment Development L15

Mocap process

!  Calibration !  Capture !  3D Position Reconstruction !  Fitting to the Skeleton !  Post Processing

Calibration

!  Triangulate camera position and set origin

!  Wand –  Calibrate and triangulate

cameras and capture volume

!  L-frame –  Define ground plane, up

vector and origin

Page 16: Lectures on Virtual Environment Development L15

Multiple Hypothesis Tracking

!  For small number of markers: Size !  Occlusions are a problem !  Multiple Hypothesis Tracking

Ringer, et al., 2002

C1

C2

Fitting to the Skeleton

!  Utopian approach –  10 – 20% length

changes

!  Markers on both sides

!  Joint Displacement !  Use Rotation Angles

Only

Page 17: Lectures on Virtual Environment Development L15

Post Processing

!  Motion Editing – Cut, Copy, Paste

!  Motion Warping – Speed up or Slow Down – Rotate, Scale or Translate

!  Motion Signal Processing – Smoother Motions

Physically-based modelling

!  Extending robot motor control !  Forward kinematics

–  If you move joints so much –  Where does the end effector go?

!  Inverse kinematics –  If you want the end effector at x,y,z… –  How much should which joints move?

!  Computationally demanding and often not very naturalistic –  But the most flexible option –  Animation blending often added…

Page 18: Lectures on Virtual Environment Development L15

Ragdoll models

!  Multiple rigid body simulation – Each tied to bone in skeleton – Constraints for joint movement

!  Extended into procedural animation of whole body – Natural Motion: Euphoria

Fish example - spring-mass model

Page 19: Lectures on Virtual Environment Development L15

Learning to move

!  Use of AI learning algorithms – Move – Evaluate and score – Keep movements which work well

!  Karl Sims ‘Blockies’ – Early 1990s

Terzoplolous - Fish Learning

http://www.csri.utoronto.ca/~dt/

Page 20: Lectures on Virtual Environment Development L15

Virtual sensors

!  Local v global interaction

– Global - read from world data-structures– Local - ‘sense’ the environment

!  Global approach very common

–  In most computer games– Efficient, easy to test

Advantages of local sensing

!  Scales well–  Not affected by global size of environment

!  Agent has independence of environment

–  Up to a point!  Makes for believability

–  Agent perceives what it should–  Can’t see you round corners–  Emergent complexity

Page 21: Lectures on Virtual Environment Development L15

Sensing by message passing

!  Requires an architecture that distributes events as messages – Concept of locale

• What is local for local sensing?

– Semantically determined: e.g a room

!  Scenegraphs not set up for this style of message passing – Think of routing in VRML for example

Credits

!  Edward Tse, University of Calgary