Another great Unity Asset Store Package is: VR Panorama 360 Pro. It is really designed to work in Editor, and will export a video from the camera, given an animation, and then stop playing once it reaches the end of the animation… But I liked the tech. So I re-wrote it so that it will work in runtime, and can be activated by a UI element. So basically a user could initiate recording. The plugin itself simply records a bunch of frames, and saves them into a folder, and then calls an FFMPEG library to composite them all.

Here’s two sample renderings I put together real quick to demonstrate the plugin and capabilities.

Southbound I-15: https://www.youtube.com/watch?v=B9B7fnz7Bjg
Northbound I-15: https://www.youtube.com/watch?v=OkL9W1b70Cs

It is really fun to work on this Civil Infrastructure project downtown Las Vegas as part of the CivilFX team.  I spent a lot of time trying to go through the AutoDesk workflow of taking aerials and topography, draping them together, and getting them into 3DS Max.  Turns out most of their documentation pages talk about using their Infrastructure Suite software to link the data in 3DS Max, but doing that requires a monthly subscription.  So I got a trial of their software, and got frustrated at the difficulty of exporting the data to an FBX, to be able to take it anywhere I want.

So after messing around a bit with their software, I decided just to break the aerial images into squares, re-map the UV coordinates in MAX, and drape the images myself.   Took a bit of triangle manipulation to make sure all the seams lined up but in the end I got a nice aerial surface in an FBX that I could import into anything.   And by Anything, of course I mean Unity.

There is a company in Ohio that hired me to integrate the Android FFMPEG libraries into an app they are helping to develop. At first I felt like it was a huge up-hill battle, but it turned out to be an incredible learning opportunity. There was so much about the FFMPEG libraries that I didn’t know. But now I’m comfortable compositing images, applying filters, manipulating frames, running image recognition against each frame, threading the audio, syncing timescales, etc. All some pretty awesome stuff.

The purpose of the contract was to establish a way to record a square video, and to enable the ability to apply filters to the video within the app.

So – first off – shout out to Real World Terrain.  Totally awesome Unity Plugin that saved my life.  Has a great list of features, but what I needed, was a rough representation of the Las Vegas Valley.   So Their tools allow selecting which aerial mapping server, and specifying the quality level.  So I broke Las Vegas into a 32×32 grid covering roughly 300 square miles, with 128×128 pixel aerials.  I also imported the same grid, with 2048 aerials, and a ton of triangle accuracy.  And of course something in the middle.  I then composited the three sources of data which were all in the same alignment, and ended up with 9 panels of aerials that were very accurate near the center of the project, and decreasing quality and accuracy out for hundreds of miles.  Gives a really nice accurate skyline appearance, similar to what you might see in Google Earth.   But this is Unity.  So let the games begin.

Next up is to get the Aerial topography from the local company, and integrate the more accurate project aerials into the model as well.

Leap Motion has a Game Jam that I got pretty interested in.  Some big prizes, and a good opportunity at learning some new tech, and leveraging it.  Plus I read that the Ludum Dare challenge for the same time, was to make something, and to sell it.  It’s been too long since I’d made something, so I made BitHockey.  I didn’t do all the art, but I put the rough AI together, and the controls, and got the performance with the effects which were introduced to work well.

Bit-Hockey