Weel 1: potential tools

Chian Huang
Data Visulization
Published in
4 min readSep 18, 2018

I’m interested in learning how to visualize data in different dimensions. With the development of computation and storage technologies, a huge amount of data is generated on a daily basis. However, the vast quantity of the data doesn’t mean that valuable asset is fully taken advantage of. To utilize the whole potential of the data people needs to understand them firstly in an intuitive way. Data visualization is an essential step to achieve that. Based on my graphical and interaction design background, how to connect the dot between the meaning behind the data and human understanding is of great interest to me. That is why I would like to learn the techniques to visualize the data for better understanding.

One of my potential tools is Unity. One primary reason for this choice is my experience in using Unity in other related fields, such as AR/VR, game development, etc. Unity has a very convenient graphical user interface and is very suitable to visualize in 3D-4D spaces. From a perception point of view, I still believe humans are most suitable to perceive 3D environments evolving along 1D timeline. Unity makes this very easy. As a matter of fact, I am not a data scientist or programmer. Being a designer makes me more interested in how to make the visualization more effective, intuitive, and user-friendly. I prefer not to go through too much trouble regarding lower level implementations and developments. Unity can provide me with a variety of pre-built tools and libraries, which allow me to focus more on the end product.

Unity is originally built as a game engine and an integrated development environment (IDE) for creating interactive media, typically video games. Unity “is a toolset used to build games, and it’s the technology that executes the graphics, the audio, the physics, the interactions, [and] the networking.” Here, I am more interested in the graphics and interaction parts. Unity is also well known for its fast prototyping capabilities, which makes it suitable for our course project.

The first version of Unity (1.0.0) was created by colleagues: David Helgason, Joachim Ante and Nicholas Francis in Denmark. The initial product launched on June 6, 2005. The goal was to create an affordable game engine with professional tools for amateur game developers while “democratize[ing the] game development” industry. The three were inspired by the easy workflow, simple asset pipeline, and drag-and-drop interface of Apple’s Final Cut Pro product. When originally released, Unity was available solely for Mac OS X, and developers could only deploy their creations to a few platforms. The current version (4.3.1 as of this writing) is supported on both Windows and Mac OS X, and offers at least a dozen target platforms. Publishing 64-bit executables have been possible in Unity for a long time, but a 64-bit version of the Editor is not yet available, though highly anticipated from the development community. [A History of the Unity Game Engine]

Socially speaking, Unity makes game development more accessible to more people in the community and provides a standardized pipeline for the game industry. It is one of the most popular 3D engines for developers of the major platforms, including PC, game consoles, mobile devices, and AR/VR. Technically speaking, it is not intended for data visualization purposes. It may not have the sufficient data analysis tools, information retrieval or extraction algorithms, etc. Not like other data visualization tools which provide most of these backend libraries, Unity is more like a visualization tool, focusing on front-end effect. However, the intuitive interfaces, well-built libraries, and sophisticated-designed graphics are suited for rendering and visualization purposes, especially in 3D or 3D. My work will focus more on the artistic part of the data visualization process, not the information retrieval or extraction phase, so I would rather to have a toolkit which directly provides me with that. Unity is a very good fit for my background and my goal of taking this class.

There are many examples of using Unity for data visualization. Most of them have a very sophisticated 3D graphical display to visualize plain data. Adding the time horizon to the visualization process is not a challenge for a toolkit which is originally intended for game development.

I went over the tutorial https://sites.psu.edu/bdssblog/2017/04/06/basic-data-visualization-in-unity-scatterplot-creation/ and got a rough idea of the development process. Not like other more data-based toolkits, Unity is still largely based on gaming, even though the purpose is for data visualization. The visualization effect needs to be specified as a game object at the very beginning, which is located in a game scene. The attributes of those game object are determined by our data, this is how the whole visualization process begins. By importing a .csv file using C# script, we can associate our Unity game object’s property with our data. By looping around the dataset and creating game objects based on the data, all the data points could be visualized in our Unity scene. We also need to tweak some minor attributes such as normalization to make the final visualization more intuitive. Adding color for better visualization effect is the last step discussed in the tutorial, and this is how my interested in artistic visualization comes into play. I want to use the rich set of graphical libraries of Unity to make this the focus of my data visualization process.

--

--