Realism and control - Unreal engine Crowd simulation plugin

We are excited to announce some new features from our crowd simulation plugin for Unreal Engine 5, currently in development.

This plugin enables users to create a diverse and realistic crowd in a simple way, exerting control over a single agent, or over a set of agents in multiple, generic crowd flows. Such a flow can be spawned in a start area connected to several intermediate and goal areas.

To ensure a realistic and true-to-life behavior of the crowd, users can set up character profiles that define a group (or flow) of agents with generic defined behavior that have been verified and validated in a real-life context. For example, in the context of an airport, there could be profiles for leisure versus business travelers. The behaviors of each profile are defined by a set of parameters. Realistic behaviors are produced by choosing an appropriate distribution for each parameter.

Examples of such a parameter are the preferred distance from obstacles, the amount of spreading in the environment to consider alternative routes, or walking speed. The average walking speed is known to be between 1,2 and 1,4 m/s; however, as there is a deviation from this standard in a real crowd, users are able to pick a selected value from a specified distribution (i.e., a constant, uniform random or normal distribution). This establishes a low-, medium- or high-density crowd in which each agent can be controlled to contribute to a realistic and diverse crowd simulation.

Furthermore, the plugin presents three different individual levels of control for each agent in the simulation:

  1. The engine has complete control over all the simulation aspects. The agents do global pathfinding amongst the obstacles in the environment, local collision avoidance, and they are moved to their next positions;

  2. The engine performs all simulation steps up to and including the computation of the agent velocity, and passes the velocity to Unreal’s game engine. A programmer or another component (like a physics engine) can modify the velocity, and pass this velocity back into our crowd simulation engine;

  3. The engine does not carry out updates to the selected agents, but users can determine the agents’ positions; similarly to games, the user controls the avatar. The engine considers these agents as external, ensuring all the other agents avoid collisions and handle other preferred behaviors.

The character profiles, and individual agent parameters can be interactively loaded from an offline file, set via the plugin’s C++-api or via our example Blueprint templates.

The picture shows the plugin in action in Epic Games’ City Sample with 100,000 interactive agents in real-time. Stay tuned for further updates.

#epicgames #unrealengine #UE5 #crowdsimulation #epicmegagrants

Read, like and share this post on our LinkedIn!