WebCrowds An Authoring Tool for Crowd Simulation Gabriel Fonseca Silva

2025-05-06 0 0 659.45KB 7 页 10玖币
侵权投诉
WebCrowds: An Authoring Tool for Crowd
Simulation
Gabriel Fonseca Silva
Virtual Humans Lab
PUCRS
Porto Alegre, Brazil
gabriel.fonseca94@edu.pucrs.br
Paulo Knob
Virtual Humans Lab
PUCRS
Porto Alegre, Brazil
paulo.knob@edu.pucrs.br
Rubens Montanha
Virtual Humans Lab
PUCRS
Porto Alegre, Brazil
rubens.montanha@edu.pucrs.br
Soraia Musse
Virtual Humans Lab
PUCRS
Porto Alegre, Brazil
soraia.musse@pucrs.br
Abstract—Crowd simulation is an area of research largely used
in the game industry. From the movement of a single NPC to the
movement of an entire army, crowd simulation methods can be
used to move agents through the environment while avoiding
collisions with obstacles and between each other. Thus, it is
important that game developers have access to crowd simulation
tools that are both powerful and easy to use. In this paper,
we present WebCrowds, an authoring tool for crowd simulation
which can be used by anyone to build environments and simulate
the movement of agents. The results achieved by our research
suggest that WebCrowds is easy to use, delivers trustworthy
simulation results, and can be used as an authoring tool for
game developers who need to simulate crowds in their games.
Index Terms—Crowd Simulation, Authoring Tool, Virtual
Agents, Framework
I. INTRODUCTION
Several contributions have been made in the area of crowd
simulation, given its application in many different fields1.
Since the pioneer work of Thalmann and Musse [1], many
other methods emerged for both microscopic [2] and macro-
scopic [3] points of view and, more recently, combining them
both [4]. Ranging from the simulation of a crowd of people or
robots [5] to the modeling of personality for simulated virtual
agents [6], [7], crowd simulation has a wide range of uses in
different fields.
Focusing on the area of games, crowd simulation is im-
portant for many types of games. Since the movement of
Non-Playable Characters (NPCs) to the management of whole
armies, crowd simulation methods can be used to move virtual
agents from one point to another while avoiding collision with
themselves or other obstacles. Suyikno et al. [8] proposed
a model to simulate the hiding behavior of NPCs, while
Silva et al. [9] proposed a method to move agents forward
in time and space fit to be used in ”Fog of War” systems.
Given the importance of crowd simulation in games, it is
essential that game developers have a tool where they can
build environments and simulate crowds.
This work presents an authoring tool for crowd simulation.
Named as WebCrowds, our tool is divided into two parts:
the user Editor, which is accessed through a web Browser,
and the crowd simulator, which is served as a web service
1Draft version made for arXiv: https://arxiv.org/
and is hosted inside a Server. WebCrowds allows users to
build environments placing agents, obstacles, and goals in
the scene. Users can also load presets from an OBJ file,
and even save/load their built scenes using JavaScript Object
Notation (JSON) files, to be used for other simulations. Since
the simulation is executed on a Server, users can access
WebCrowds even with lower-performance computers.
II. RELATED WORK
This section discusses some work related to authoring tools
and techniques for crowd simulation scenarios. Ulicny et
al. [10] presented a way of drawing a crowd simulation where
the user could use different types of brushes to create the
crowds and change their appearance, behavior, and direction
to create a scene to simulate. Chen et al. [11] presented a way
to compose crowd scenarios using natural language processing
techniques, where different words and expressions represent
the attributes and behavior of each agent. Some of these
expressions may contain emotions, such as ”walk happily” and
”walk sadly”. These agents are created using data provided by
a user, and this data is used to extract character keywords. This
model was also employed by Liu et al. [12], where keywords
such as quantity, character type, behavioral verb, location, and
object, are taken into account. The data structure of the crowd
scene is divided into three components: crowd, behavior, and
destination. Each of these components has its keywords.
Colas et al. [13] presented a model for authoring crowd
simulations using sketches. The user draws curves in the
interface, which are used to compose an interaction field
grid, influencing the steering behavior of agents. Other agents
and obstacles in the scene are also taken into account when
composing the grid, which allows agents to avoid collision
with one another or move behind obstacles. Kim and Sung [14]
presented a model using sketching in combination with aug-
mented reality, where users can use dry-erase markers to
compose scenes. The authors use computer vision techniques
to identify shapes and colors in the sketches to define which
type of object (e.g. goals, paths, and trees) should be placed
in that position.
The work found in the literature focuses on crowd anima-
tion, where users may define behaviors or directly input an
arXiv:2210.04624v3 [cs.HC] 20 Dec 2022
animation for virtual characters; or explore new user inter-
action techniques, such as sketching, augmented reality, and
natural language. Differing from them, WebCrowds provides
information on the constructed environment and the simulation
run, allowing users to evaluate trajectories and densities of
virtual agents and make any adjustments desired.
III. PROPOSED MODEL
In this section, we present WebCrowds, an authoring tool
for crowd simulation which can be used by anyone to build
environments and simulate the movement of virtual agents.
Next, we present the main elements of our model.
A. System Architecture
Figure 1 presents an overview of our proposed model, which
is available online and can be accessed through a Browser2.
Inside WebCrowds, the users can create an environment by
adding, positioning, and editing objects. In the bottom right
of Figure 2(a), highlighted in purple, it is possible to see the
Objects that can be used, namely: Agents, Goals, Obstacles,
and Presets. More details about these objects are going to be
provided in Section III-B.
Following the pipeline presented in Figure 1, when the user
opens WebCrowds in their Browser, they have access to the
Editor, where the Scene can be edited to be then simulated.
Once the agents, goals, and obstacles are included, the user
can run the simulation. When the user runs the simulation,
the Request Controller gathers information about the Objects
in the Scene (e.g. their positions and properties) and sends
a request to the Server (Send Request). In its turn, when the
Server receives a new simulation, it triggers its own Routine. In
short, the Server executes the simulation with the parameters
sent from the Browser and, once it is finished, generates
the results. More details about the Server are provided in
Section III-C.
The results are generated and sent back to the Request
Controller (Receive Response), which will display them in
the browser (Simulation Results). These results are comprised
of three metrics: a Density Map (which shows the density of
agents during the simulation), the Agent’s Trajectories (which
shows the trajectories of each agent), and the Simulation Time.
Finally, In Figure 1, it is possible to see that the Server (on the
right) also connects with a Database. It was done to overcome
request timeout issues, which would prevent the simulation
from finishing.
B. Editor
In this section, we describe the three main elements of We-
bCrowds: Objects, Object Actions, and General Actions. All
three can be seen in Figure 2(a), highlighted in purple (bottom
right), yellow (bottom left), and blue (top), respectively.
2WebCrowds is available at: https://vhlab.com.br/projects/webcrowds/.
1) Objects: In WebCrowds, the users can deal with four
types of Objects: Agents, Goals, Obstacles, and Presets. All
of them can be seen in the bottom right of Figure 2(a),
highlighted in purple. These objects can be positioned within
the scene’s environment and are detailed next:
Agents: Allows the creation of agents spawn areas, repre-
sented as blue squares in the central region of Figure 2(a);
Goals: Allows the creation of goals for the agents to
achieve, represented as green circles in Figure 2(a);
Obstacles: Allows the creation of obstacles in the envi-
ronment that should be avoided by the agents, represented
as red squares in Figure 2(a); and
Presets: Allows the user to load built-in scenarios into
the environment. Presets behave as a set of Obstacles
that can’t be modified. We modeled five possible presets,
as presented in Figure 2(b).
2) Object Actions: In WebCrowds Object Actions are sim-
ply the actions that users can perform with Objects. The users
can control four types of Objects Actions: Create, Remove,
Move and Edit. All of them can be seen in the bottom left of
Figure 2(a), highlighted in yellow, and are detailed as follows:
Create: Allows the creation of any type of Object (i.e.
Agent, Obstacle, Goal, or Preset);
Remove: Allows the removal of Objects present in the
environment;
Move: Allows the user to move any Object present in the
environment, positioning it where he/she sees fit; and
Edit: Allows the user to edit any Object present in the
environment. The editable options depend on the type of
Object. When editing an Agents object, users can change
the number of virtual agents to be spawned in that area,
as well as the Goal that these agents want to reach. When
editing an Obstacle, the user can change its size and
rotation. Goals and Presets have no editing options.
3) General Actions: In WebCrowds we have five General
Actions: Save Scene, Load Scene, Run Scene, Camera Control
and Reset Scene, as next detailed. All of them can be seen at
the top of Figure 2, highlighted in blue, where the Recycle
Bin icon represents the Reset action.
Save Scene: Allows the user to save the current envi-
ronment into her/his computer/device. All the Objects
present in the environment are saved into a JSON file
and can be used in later simulations;
Load Scene: Allows the loading of a JSON file from the
user’s computer/device. Ideally, this JSON file is the same
one that was generated with the Save Scene action, but
any JSON file can be used as long as it follows the same
information pattern;
Run Scene: Sends a request to the Server to run a
simulation with the environment built;
Camera Control: Allows the user to perform some actions
concerning the camera, such as Movement (with WASD
keyboard keys), changing the Camera Speed (as shown
in Figure 2(a)) and Zoom in/Zoom out (using the mouse
wheel); and
摘要:

WebCrowds:AnAuthoringToolforCrowdSimulationGabrielFonsecaSilvaVirtualHumansLabPUCRSPortoAlegre,Brazilgabriel.fonseca94@edu.pucrs.brPauloKnobVirtualHumansLabPUCRSPortoAlegre,Brazilpaulo.knob@edu.pucrs.brRubensMontanhaVirtualHumansLabPUCRSPortoAlegre,Brazilrubens.montanha@edu.pucrs.brSoraiaMusseVirtua...

展开>> 收起<<
WebCrowds An Authoring Tool for Crowd Simulation Gabriel Fonseca Silva.pdf

共7页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!

相关推荐

分类:图书资源 价格:10玖币 属性:7 页 大小:659.45KB 格式:PDF 时间:2025-05-06

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 7
客服
关注