Cell Plugin

A plugin for Unreal Engine 4 which allows developmental biologists to create simulations of biological cells. Cells are implemented as soft bodies backed by the Nvidia Flex particle engine which offloads computations to the GPU.

  • C++
  • Unreal Engine 4
  • Nvidia Flex
  • C#

Project topic

In developmental biology, the processes of evolution are researched, i.e. how complex lifeforms emerge from a single, "simple" cell. One important part to verify hypothesis is the simulation of biological cells, their behavior and interactions. This project is part of "EvoDevo-Swarms", a software toolset for developmental biologists created by the chair of Organic Computing at the University of Augsburg.

This project provides an easy to use plugin for Unreal Engine 4 which can be used to create simulations of biological cells. Each cell is modeled as a deformable soft body composed of several particles. Collisions among particles allow cells to deform and to interact with neighboring cells. Furthermore, morphogenes (chemical messengers) can be emitted by cells to attract or repell other cells.

A basic cell type which implements common behavior (like growth, movement, division, cohesion and reaction to morphogenes) provides a starting point. Easy to use interfaces allow customization to define different types of cells, e.g. one that only grows in a certain direction or one that emits morphogenes under certain conditions.

Since most developmental biologists are non-professional software developers, usability was a great concern for this plugin. This is reflected by the software architecture which enables users to define new cells via Blueprints which later on can be ported to more efficient C++ code. A doxygen API, a manual and an example application are available to flatten the learning curve.

Another important requirement was stability. Therefore, the automation system of Unreal Engine was used to create unit and integration tests to ensure the correctness of the plugin's functionality.

Features

  • Dynamic cell behavior: Configure existing ones or implement custom behavioral functions.
  • Choice of language: Either implement new Cells in C++ or use Blueprint scripting.
  • Easy Installation: Few clicks required to install and enable the plugin in UE4.
  • Flat learning curve: Standard implementations are provided to make first steps as easy as possible.
  • Extensibility and maintainability: Clear code structure allows to implement new features and adjust existing
  • ones.
  • Stability: UE4 automation tests are included to verify correctness of implementation.
  • Debug mode: Visualize particles and morphogenes to debug simulations.
  • Documentation: Doxygen API, a manual and an example application are provided.