Mosaic3D
The majority of the animation was created using Unity3D.
Basic mosaic with 3D Cubes/rectangular prisms. Simple animations (explosion, gravity drop)
Hosted on github:
https://github.com/alex-ong/mosaic-3d
Link to play animations: Mosaic-3D WebGL (currently broken, rip Github Pages changing to .io)
Brief Implementation/Description:
Wrote a quick script to download 14000~ images off google image search.
Wrote a python script to pre-cache/pre-calculate average RGB Values for 14000 items.
On Startup, the program loads the pre-cached colour data. This is all done in the background with IEnumerator
Loading the giant text file and splitting it into lines took 81 seconds originally using String.SplitLines. I wrote my own version using a string builder, which only takes 2 seconds to execute!
Since i had my own implementation of string.split, i could run it over time. Originally the program just froze for 81 seconds, since you can't split up the work of String.SplitLines using IEnumerator and WEBGL doesn't support threads
When clicking an object, the image is split into a grid. For each segment of the grid, the pixels are averaged to find an average colour. Then the precached data is searched for matching images.
After matching images are calculated, they are all seamlessly loaded in the background, again using IEnumerator
Various animations occur when selecting a new image. An explosion and a simple gravity fall are the only ones I got around to implementing, but I have written the code cleanly so i can easily add different types of physics based animations