Title: Layered Avatar Behavior Model and Script Language for the Object Interaction
1Layered Avatar Behavior Model and Script Language
for the Object Interaction
- Jae-Kyung Kim
- 2007-08-10
- ki187cm_at_gmail.com
2Contents
- Part I Ph.D Degree Dissertation
- Introduction
- Related Works
- Research Goals
- Layered Avatar Behavior Model and Script Language
- Avatar-Object Interaction Model
- Layered Script Language Approach
- Empirical Evaluations
- Conclusion
- Part II Current Research Interests
- Avatar Augmented Annotation Interface for
e-Learning
3Introduction
- Recent studies on human character(Avatar)
animation are mostly focused on realistic motion
representation - ex) Facial Animation, synchronization between
lips movement and speech text, hair animation, so
on. - Creating human character motion by motion capture
technique - Very useful for creating human motion, and
low-level animation - Many researches about avatar motion control
mainly care about realistic motion - Our main goal is to provide simple user interface
by controlling avatar motion at high-level
concept
4Related Works(1/2)
- Low-level Animation
- Classic and basic control technique
- Rotate move every parts of avatar body
- Depending on animators skill, any desired motion
can be created in detail manner - However, it is very hard work for unskilled user
to control and create avatar motion - 3DS Max, Maya, Motion capture
5Related Works(2/2)
- Avatar Script Languages
- Represents avatar body and facial motion in
language format (eg. XML) - Control synchronization and intensity of
behaviors through parameters - Most scripts use pre-defined general behaviors
- Difficulty in creating script due to complicated
parameters and synchronization - Some scripts stick to specific format for an
engine, possibly causing low compatibility - AML, CML, XSTEP, TVML, etc.
6Research Goals Motivation
- Create animation scenario script with less effort
and time in a specific application domain - Pre-defined general behavior cant support all
application domains - More abstract representation is required for
authoring script - Explicitly separate user interface and animation
engine for extensibility and compatibility - Existing scripts support user interface and
animation engine level at the same time - Standard format and structure is needed
7Layered Avatar Behavior Model and Script
User
Context Menu Interface (Display)
Domain Interface Layer
Avatar-Object Interaction Model
Recording
1st Translator (Task-to-High)
Task-Level Behavior Script
Translating
Motion Sequence Layer
High-level Motion Script
Translating
Application Layer
2nd Translator (High-to-Primitive)
Primitive Motion Script
Primitive Motion Script
Geometric Information
Avatar Low-level Animation Data
Object Low-level Animation Data
Avatar Low-level Animation Data
Object Low-level Animation Data
Application
Application
8Avatar-Object Interaction Model(1/2)
- Basic Object Structure
- Proposed model has multiple objects below the
ObjectList element - An object is composed of three elements
- Context object state, access privilege,
controlpoint and domain type - ExecutableBehaviors all executable behaviors
for user interface menu - MotionList motion sequence to complete a
behavior
ObjectList
Object
Executable Behaviors
Context
MotionList
Basic XML DTD sturcture
9Avatar-Object Interaction Model(2/2)
Avatar-Object Interaction Model
Selectable Behaviors
Context
User
Behaviors Selection
State
ControlPoint
Select a Behavior
AcessGroup
Domain
Task Planning
Behaviors List
Executable Behaviors
Generating Motions
MotionList
Motion List
10Context Element(1/5)
- State Element
- Describes internal object states by pair of
variable and value attributes - Variable has affective motion and current state
methods - Affective motion defines post-state value, and
corresponding motion which changes the state - Current state function is defined in XSLT script
that processes state element to make boolean
result output of current state value - Behavior menu and motion sequence are decided
according to changes of state variables value
11Context Element(2/5)
Variable DoorState
- IF
- (1) Event Motion Affective Motion
- (2) State Function TRUE
- THEN
- (1) Make up of Variable list which satisfy
conditions - (2) Set each variable Value to Post_State
- (3) Output boolean result by State Function
Affective Motion
Event Motion
Post State closed
Motion Name close
close
Value closed
Result State
State Functions IsClosed
True
V
V
V
Interaction
State Changes
V
V
Door Object
12Context Element(3/5)
- ControlPoint Element
- Spatial reference points around a object where
avatar stands and interact with it - Depending on the behaviors and object states, a
object may have various points - A point is consisted of position, direction and
contact elements - The elements has coarse references to represent
spatial location at high-level - Human readable
- Independent from physical geometric object models
- Used for behavior sub-tasking and motion
sequencing
13Context Element(4/5)
- Position
- Relative 5 basic and 4 composed positions for
each objects - Standard axis is z for front on zy-plane
- Direction
- Object relative 4 basic and composed directions
to determine avatars orientation - Rotation axis is y and zero degree for forward
direction - Contact
- designate a specific part of the object when the
avatar makes contact with the object - The corners of the bounding box of 3D objects and
the center point of the surface
Element Reference Values
Position Front, Behind, Left, Right, Center
Position LeftFront, RightFront, LeftBehind, RightBehind
Direction Backward, Forward, Left, Right
Direction LeftForward, Rightforward, LeftBackward, Rightbackward
Contact Front, Behind, Left, Right, Top, Bottom, Center
Contact LeftFrontCenter, LeftFrontTop, LeftFrontBottom, RightFrontCenter .
14Context Element(5/5)
- Access Group Element
- Object behavior can be accessed by several user
types - Each user type has different purpose and usage
- Each group has different access to behavior
interface - DomainType Element
- Not only internal state of object, but also
external domain state can effect behavior
interaction. - The same object can behave as a different
semantic object - e.g. A car object in traffic simulation domain
and assembly training domain - DomainType element defines name of domain for
checking current domain type.
15Layered Script Language
User
Context Menu Interface (Display)
Domain Interface Layer
Avatar-Object Interaction Model
Recording
1st Translator (Task-to-High)
Task-Level Behavior Script
Translating
Motion Sequence Layer
High-level Motion Script
Translating
Application Layer
2nd Translator (High-to-Primitive)
Primitive Motion Script
Primitive Motion Script
Geometric Information
Avatar Low-level Animation Data
Object Low-level Animation Data
Avatar Low-level Animation Data
Object Low-level Animation Data
Application
Application
16Task-level Behavior Script(1/2)
- Task-level Behavior Script
- Presents object and avatar behaviors using XML
DTD - Records and saves user action in temporal
sequence - Extensible representation for behavior set
- Objects in a domain makeup the usable behavior
set - Cf) existing script which has pre-defined
behavior DTD - Independent from rendering environments
- Doesnt present appearance of avatar model,
positional information of virtual objects, so on.
17Task-level Behavior Script(2/2)
- Definition of Task-level Avatar-Object Behavior
Script - Template-based Avatar-Object Behavior
Representation - Domain behavior set is flexibly defined by object
instances - Task-level Behavior (Object, Executable-Behavior
, Narration)
18High-level Motion Script(1/2)
- High-level Motion Script
- Bridges between task-level script and primitive
motion script - Independent from both interface domain and
application domain - Parameterized motion support
- Synchronization, speed, target, repeat,
intensity, decay, etc - Abstract values rather than physical
19High-level Motion Script(2/2)
- Structure of high-level script DTD
20Primitive Motion Script
- Primitive motion
- Supported by rendering engine or motion library
- Represented in physical parameter values
- ex) Geometric values such as coordinates of
avatar and objects, radian value of avatar
direction, etc - Parameters are transmitted to animation engine to
play animation scenario on screen
21Script Translators(1/4)
- Task-level Behavior Script Translator
- Translates task-level behavior script into
high-level motion script - Consisted of motion sequences to perform
task-level behaviors - Motion planning by task planner and generate the
sequences - ex) ltget targetbox/gt
- 1. lthighLevelMotion namewalk gt
- 2. lthighLevelMotion namebend_bodygt
- 3. lthighLevelMotion namegrabgt
- Uses logical application domain knowledge
- According to formal translation model, script of
each domains is converted to a high-level motion
script
22Script Translators(2/4)
- Formal Task Translation Model
- Identification of target
- find location of target object(Lo)
- Locomotive motion (Ml)
- identification of present avatar location (La)
- spatial distance between La and Lo
- generate Lm, if La ? Lo
- Manipulative motion (Mm)
- generate Mm for Lo
- Verbal information (Vi)
- generate verbal speech for avatar behavior if
available - Speed and intensity parameters
- parameterize Mm and Ml for speed, intensity and
duration
23Script Translators(3/4)
Ex) Generated high-level motion lthighLevelMotion
name"wave" type"gesture"gt ltspatialParamgt
ltdirection type"object"gt
ltobjectNamegtstudentslt/objectNamegt
lt/directiongt lt/spatialParamgt
lttemporalParamgt ltspeedgtnormallt/speedgt
ltrepeatgtdefaultlt/repeatgt ltdurationgtdefaultlt/
durationgt lt/temporalParamgt ltdegreeParamgt
ltintensitygtnormallt/intensitygt
ltdecaygtdefaultlt/decaygt ltprioritygtnormallt/pri
oritygt lt/degreeParamgt ltverbalParamgt
ltspeechgtLet's do it next time!lt/speechgt
lt/verbalParamgt lt/highLevelMotiongt
24Script Translators(4/4)
- High-level Motion Script Translator
- Major module Object geometric information
analyzer - Calculates location, size, and direction of
virtual objects - Current status of avatar position and posture
- Translates abstract parameters of high-level
script to physical values
25System Implementation(1/2)
- Creating a scenario script
26System Implementation(2/2)
- Running a scenario script in different
environments - Different physical properties of virtual objects
- Applying same task-level script to other
applications
OpenGL Application
2D Web Application(MSAgent)
27Empirical Evaluation(1/3)
- 23 Users were asked to do the 20 tasks
pre-defined in video material and text handouts - Features
- Time to finish each test
- Ratio of achieved tasks
- Groups and Systems
- G1 Novice users(12)
- G2 Expert users(11)
- S1 Proposed method
- S2 Proposed method w/o context element
- S3 Alice system(comparatively lower behavior
representation) - Analysis
- One-way ANOVA (analysis of variance)
28Empirical Evaluation(2/3)
Group 1 (Novice)
Group 2 (Expert)
29Empirical Evaluation(3/3)
- Lesson Learned
- Using abstract task-level behavior, both a novice
and expert user achieved high accuracy and fast
scripting performance. - Expert users made the better result in Alice
system than novice users - Expert users showed a tradeoff in Alice system
- Those of who spent much time made almost same
task achievement ratio to the proposed system - However, the proposed system could save much time
- Both group answered that context behavior menu
helped in creating scenario - Novice user prefers abstract behavior, while some
expert user tends to prefer primitive motion for
detail manipulation
30Conclusion
- Conclusion
- The proposed method consisted of 3 layered script
languages and object interaction model - Avatar-object task-level behavior, abstracts from
low-level concept to make script easier - By separating interface and application, the
script can be reused in various environments - Novice user can create scenario with less effort
and prefer the proposed method
31Current Research Interests Avatar Augmented
Annotation Interface for e-Learning
- Introduction
- E-Learning, web-based teaching (WBT), and
distance learning - learn in their own spaces and times
- Interactions between students and teachers
provide more educational effect - Without interactions, students become bored with
online coursework - Interaction techniques
- Video and animation clips
- Animated Pedagogical Agent
- Annotations(Digital Ink)
32Current Interests Avatar Augmented Annotation
Interface for e-Learning
- Animated Pedagogical Agent
- The main advantage of classroom instruction over
distance education - Persona Effect
- Gestures performed in live instruction
- Many systems have been studied
- CTA, MASH, Wizlow, PPP, Steve, and etc
- Creating these avatar-augmented presentations
- Usually laborious and time consuming
- Easy and intuitive authoring interface technique
is needed
33Current Interests Avatar Augmented Annotation
Interface for e-Learning
- Annotation (digital inking)
- an important feature of a digital lecture or
presentation system - Annotation or Digital inking can capture the
knowledge between student and teacher and easily
share and reuse material - AnnotatED, OATS, Xlibris, Intelligent Pen, etc
34Current Research Interests Avatar Augmented
Annotation Interface for e-Learning
- Avatar augmented annotation
- Enhances learning effects by integrating these
two functionalities avatar and annotation - To author animated lecture contents
- To mark up the presentation using freehand
annotations - Reduce costs of controlling avatar animation
- Author and user created narrative scenarios
Avatar Animation Scenario
End-User
Freehand Annotation Interface
Integrating Framework
Author/User
35Current Research Interests Avatar Augmented
Annotation Interface for e-Learning
- Overall structure of the proposed system
Scenario Script
Animated Content
Annotation Model
Free-Hand Gesture
Animation Model
Motion Library
Users Interface
Menu
Context Model
Original Web Document
36Current Research Interests Avatar Augmented
Annotation Interface for e-Learning
- Main components
- Annotation model
- Recognize free-hand annotation types
- Menu-based annotation types
- Context model
- Structure information of web documents
- Annotated position in Xlink/Xpath
- HTML/XML tag information of annotated area
- Animation model
- Animation list
- Animation decision rules
- Assign animation to annotation, according to each
annotation types defined in annotation and
context models
37Current Research Interests Avatar Augmented
Annotation Interface for e-Learning
- Summary
- Still at the early proposal stage
- Working on defining the models and implementing
interfaces - Continue it as an individual research during
post-doc period - Considering co-work with other related systems
- Applying pen-based interface to OATS or AnnotatED
- Agent interface for semantic navigation or
recommendation system