Introduction

I've used Unreal Engine as a tool for running interactive simulations on and off for the past 4 years. The first attempts were predictably crude, a file filled with constants and a subroutine that appended values to a comma separated values (CSV) file every tick with a timestamp. The workflow went something like this:

  1. An Unreal Engine program runs and appends values to a CSV on every tick.
  2. After being spat out as a CSV file, the data was processed with Python scripts using NumPy and associated libraries.
  3. The Python scripts would output results into a JavaScript Object Notation (JSON) file along with a collection of plots.
  4. A JavaScript script opened the JSON file and updated the values and figures in a LaTeX document.

At the time, this seemed pretty damn slick! But wait, there's more. There are definitely better ways to do things. This little Gitbook is going to be a guide of how I'm using Unreal Engine as a research framework. I've written this guide for two reasons.

  1. I want to share a little knowledge.
  2. I have a really terrible memory and keep forgetting things.

The Intended Audience

Researchers without a lot of programming experience. Are you still using MATLAB to process your data? Are you not using databases in your workplace? Have you not automated any of your paper writing? Maybe some of this will be helpful.

Not The Intended Audience

Seasoned developers. But hey, the section below is just for you.

This Book as a Short Story for the Unintended Audience

  • Set up the TICK stack. To host it somewhere, DigitalOcean is pretty sweet. To host it locally on a Windows machine, use the Docker Toolbox with VirtualBox. Open Kitematic and set up Chronograf, InfluxDB, Kapacitor. Have a dashboard.
  • Use the InfluxDbTools Unreal plugin to write your data to the TICK stack
  • Use the influxdb-python library to process the data
  • Make pretty plots
  • Output results to a JSON file
  • Use Mustache to generate LaTeX papers from your JSON results
  • Profit

results matching ""

    No results matching ""