A Multi-agent Approach for the A Multi-agent Approach for the Integration of the Graphical Integration of the Graphical and Intelligent Components of and Intelligent Components of a Virtual Environment a Virtual Environment Rui Prada [email protected]INESC-ID IST – Technical University of Lisbon, Portugal
28
Embed
A Multi-agent Approach for the Integration of the Graphical and Intelligent Components of a Virtual Environment Rui Prada [email protected] INESC-ID.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A Multi-agent Approach for the A Multi-agent Approach for the Integration of the Graphical and Integration of the Graphical and Intelligent Components of a Intelligent Components of a Virtual EnvironmentVirtual Environment
Relations OnTopOf(A, B) OnTopOf(Table, A) OnTopOf(Table, C)
Abstract Model (2)
Table
A
B
C
Abstract Model (3)
Agent Based Approach Entity Hierarchy Agent
Behaviours
Entity Property
Relation
1 N
N
N
N1
1
N
Agent
Behaviour
1
Behaviours
Define the abilities of the agents in the world Change the abstract model
E.g. set new properties or relations, add or remove entities
Execution cycle Start procedure
Arguments
Stop procedure Termination test
Update Cycle
Every Entity (including the agents) has two update methods Start Update Finished Update
Two methods to guarantee that the update process is independent from the order of update
One entity updates its children Calls the update methods of its child entities Calls the update methods of its behaviours
There is one Root Entity for each world
Events
Changes in the abstract model and the execution of behaviours generate events Property Changes Events Relation Changes Events Behaviour Execution Events (start, stop) Add/remove Entity Event Add/remove Behaviour Event User defined events (raised by the behaviours)
Components register into the Entities that they want to observe
Interface with the Intelligent Components
● Agents can be controlled by Intelligent components external to the Abstract Model1.These components register into the entities that they
want to monitor
2.Request the execution of actions in the world through the execution of behaviours
(a)Start a behaviour
(b)Stop a behaviour
3.Receive Perceptions from the World through the Event mechanism
View (1)
Establishes the interface with the presentation layer
Encapsulates the representation engines and devices 2D animated world 3D virtual reality Augmented reality
View (2)
View Represents the device that displays the world to the
user (e.g. the drawing window) Characterized by several Attributes (e.g. window size) Composed by several Layers
Layers are placeholders to attach Layer Elements These Elements define the contents of the layers
and the representation object that they display Bitmap 3D Camera Text Area View Attributes
Layers
1 N
N
N1
1LayerElement
11
1
N
View (4)View
Layer (Bitmap)
Layer (Text Field)
Layer (Button)
View (5) Scenes
Are characterized by several Attributes Contain several Scene Elements Attached to a Layer through Layer Elements (e.g. a
Camera)
Scene Elements Attributes Feature Points
Where other Scene Elements may be attached
Plug-ins Manipulate the Scene Elements
Examples of Scene Elements: 3D Model, Light Source
View (6)
View Attributes
Layers
1 N
N
N1
1LayerElement
11
1
N
SceneScene
ElementN1
Plug-inN1
FeaturePoints
N
1
1
N
N
1
1
1
View (7)
Plug-ins Started Stopped Examples: Animations, Path Interpolators, Sound
Sources
Observers Registered in the Scene Elements Receive events
Collision events User Input
Keyboards events
The Whole Picture The Intelligent Components interact with the entities
defined on the Abstract Model Receive perception through events Act through agents' behaviours
The behaviours may change the Abstract Model and the View Elements For example: one may define a behaviour that plays an
animation on a 3D character and then, when it finishes, changes the a property in the Abstract Model
The View interface defines and abstract language that is implemented and realized by the Components in the presentation layer (e.g. The 3D Graphics Engine)
Test CaseExample: FearNot! episode
Abstract Model
User
Luke
John
Books
View / Interaction Manager
Stage ManagerControl
Luke’s Mind
Control
John’s Mind
3D Luke
3D John
3D Books
3D Classroom
User Interface
Test Case (2)
Video
Conclusions (1)
Multi-agent technology may is used to define an abstract layer that promotes the interdependency of the intelligent and visual components of a virtual environment
This independence allows the components to be reused and therefore to build a toolkit for rapid development of virtual environments, namely with the presence of synthetic characters
Conclusions (2)
Using an abstract common model is one way to share research efforts
The Abstract Model was used to establish the interface of the Intelligent Components (e.g. planning algorithms) that implement the behaviour of some synthetic characters in some of our projects: e.g. the VICTEC project
The View abstraction is currently being implemented and will be tested with a simple example