An All-in-One Presentation Solution for Realtime Big Data Visualization
Conventional presentation like Microsoft Power Point, Prezi only utilize 2D plane. Game engines not only give us another dimension of freedom, but its Particle System, Physical Effect, Programmability, etc. provide richness of data visualization.
Due to the highly customizable property, it is capable for Physics, Big Data, Business Intelligence and Arts presentations. It is a superset of standard 2D presentation editor.
Furthermore, Unity is free. It supports WebGL, thus the presentation can be deployed on your webpages. Thanks for .NET framework's support, your presentation can also take real-time data from web services and stream to the presentation.
Clone the project to your machine and open with Unity 3D (5.5)
- Auto Play/Manual Play Mode
- Default Theme including 4 Templates (Master Slide)
- Reusable Prefab of Charts:
- Globe that maps real-world coordinates
- US map that can highlight states separately
- Particle Cloud showing Percentage
- Matrix of Icosphere showing Percentage
- CoreAnimation script that enables auto-rotation and micro-motion of elements
- Added Custom Editor on PlayerController, simplified the steps of adding/removing/reordering slides
- Removed "Hidden" flag in AbstractSlideController, using Unity's native gameObject.activeSelf to enable/disable slides
- Click each row in "Slides" section of PlayerController Custom Editor to Preview selected slide
- Minor bug fixes
- Copy "Empty Presentation" Scene and rename it to your presentation topic or whatever
- Click on "Player" in the Hierarchy window
- Click "+" in "Slides" panel in Inspector, select a template from Default Theme
- Customize the content
- Repeat 2) - 4) for other slides in your presentation
- Hit play, now you can play the presentation (RMB and LMB to navigate to Next/Previous slide)
- On "Player" Inspector, drag & drop to reorder slides if necessary
- You can build the presentation to a .exe or WebGL file.
- Create an empty gameObject "YourSlide" and attach "YourSlide.cs" that inherits "AbstractSlide.cs"
- Create more gameObject like TextMesh, Globe, ParticleEffect, etc. under the "YourSlide". (Please refer to "Assets/Themes/Default/Prefabs")
- Put YourAwesomeTemplate.prefab under "Assets/Themes/Default/Templates"
- Use your template in the scene, hit play, there you go
- Create a new folder in Assets/Themes, name to your theme
- Please refer to the folder structure of "Assets/Themes/Default/Prefabs"
- There at least should be a "Templates" directory in your theme folder
(Documentation still in progress)
- For those who wish to change the texture of the Globe element. The UV is compatible with standard earth Equirectangular Projection texture (Refer to NASA’s Texture here).
- Entering and Exiting Animation
- Preview animation
- Proxy that can fetch data via web services
- Data Driven gameObject creation (inspired by D3.js)
- VR/AR support
- Fork it!
- Create your new feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Hope you enjoy this little project. Feel free to build your own presentation templates under the framework, or include in your own project. Let me know your thoughts by [email protected] thanks! -Jack Zhang