Tiny Universe: A music video featuring Vimeo 360 creators

Casey is a creative technologist, swimming around in VR, AR, AI, and BBQ.
Casey Pugh
Various tiny planets the contributors created

Ever since I got my hands on a 360 camera, I became obsessed with how people are leveraging the format to create content that isn’t immersive at all. They’re showing the world from a different and very distorted perspective. This 2D distortion has aptly been named “Tiny Planet.” If you browse through Vimeo’s 360 Cinema channel, you’ll find a plethora of talented 360 creators whose work ranges from music videos, time-lapses, to computer-generated worlds. After watching their work many times, I found myself really wanting to see their work from a new perspective — and without the need for a VR headset. The above music video, Tiny Universe, is a collaboration with seven Vimeo 360 creators and Vimeo Creator Labs. Each of their work on their own are incredible, but when showcased in this new format, it creates a whole new experience.

Conceptually the idea behind this video is simple: take a bunch of 360 videos, apply a “Tiny Planet” effect on them, supercut them together, and add some fun music by Uncle Skeleton. The end result is a wild ride that I can’t stop watching. The “Tiny Planet” effect is where most of my time was spent making the music video. The rest of this post is a deep dive into the history of tiny planets and how to make your own.


What is a tiny planet?

In the past couple years, capturing videos in 360 has become more and more accessible. Cameras like the Theta VInsta360, and Rylo have really lowered the barrier to entry by making 360 capture very affordable and easy to use. On my recent vacation in Mexico I started to capture everything in 360, because why not? What better way to relive a moment than being able to fully immerse yourself in that snapshot in time? As I used the Theta V’s iPhone app to upload to Vimeo, I discovered how easy it is to distort the perspective of my video. By pinching the screen, you can distort the video to the point where it looks like you are walking on a alien-looking, tiny planet.

Both the Rylo and Insta360 cameras have the same tiny planet feature. For Theta V owners, Karen Cheng even wrote a nice tutorial on how to do it. GoPro even has a handy VR plugin for Adobe Premiere which allows you to create the effect. I wanted to dig into the process of how you could convert any 360 video into a tiny planet. This sent me down a rabbit hole of learning more about the origins of the format and how it works.

Some alt text for this image

From top left to bottom right: Zurich 2.0Inside the Sound: PlanesPLANT ROOMThe GiantEscape RouteODYSSEY VR: A Spacetime TripHELVETIA BY NIGHTInside the Sound: VoicesEmergence VR


The history of the tiny planet

Distorting, or unwrapping, a spherical image into a flat plane isn’t a new concept. Ever since humans have been designing maps, we invented a multitude of map projections to represent our world. Over time, those standard map projections have made their way into our design softwares. Back in 2008, photographers discovered when you use the Photoshop filter called Polar Coordinates, it could transform your panoramic photographs into a magical, new world. These photos were named polar photographs or spherical panoramas. A simple Google search shows how commonplace the effect has become.

It wasn’t until eight years later that someone figured out how to do this with video, and it definitely was not an easy process. Vimeo Staff Pick filmmaker Jonas Ginter, released the first spherical panoramic video. Ginter strapped together 6 GoPro cameras to record in 360 degrees. The video seems to defy the laws of reality, and easily grabbed the world’s attention which now has 2.6M plays on Vimeo. WIRED wrote a story on Ginter’s time-lapse and, from what I can tell, coined the phrase “Tiny Planet”.

Unfortunately, Ginter doesn’t describe exactly how he converted his 360 footage into a tiny planet, but it’s clear it was not easy.


How to turn a 360 video into a tiny planet

Now that I had grasped the fundamentals of how tiny planets are created, I wanted to re-encode any Vimeo 360 video as a tiny planet — and I gave myself single restriction: to auto-generate a tiny planet with just a link to a Vimeo video. Why? It’s a huge time suck to download every 360 video and load them one-by-one, into something like GoPro’s VR Premiere plugin to preview. The only way I could think to do something like that easily is to leverage Unity and the Vimeo Unity SDKUnity is best known as a game development platform, but as I have started to dive deep into the platform, it’s capable of so much more. Unity’s flexibility, combined with the fact that Unity is 100% free for beginners, students, and hobbyists, I realized that this is the perfect opportunity to transform a game platform into a video importer, encoder, and exporter — or put more simply, I turned it into a Tiny Planet generator. In just a few steps, you can convert all your 360 videos into tiny planets. Before we begin, a couple of notes:

  • Make sure you have downloaded and installed Unity.
  • This tutorial assumes your 360 videos are already uploaded to Vimeo and that you have a Vimeo Pro or higher subscription. If you have any questions about the upload process, check out the uploading guide.


1. Open Unity

Once it’s open, you’ll be asked to create a new project. Call it Tiny Planet, use the 3D template, and click Create project.


2. Playing a 360 video inside Unity

There are a couple ways of playing video in Unity: you can either import the video into your Unity project or stream it straight from Vimeo. Since my 360 videos are already on Vimeo, I leveraged the Vimeo Unity SDK. Per the installation instructions, download the .unitypackage file, open it up, and import it into your blank Unity scene. In the left-hand hierarchy panel, right-click an empty space and select Video > Vimeo Player (360). This will import a 360-ready sphere into your scene.

Some alt text for this image

Afterward, select the VimeoPlayer360 object in the hierarchy panel. The Vimeo Player panel appears in the right-hand inspector. Sign into your Vimeo account by clicking Get token. After you authorize Unity with Vimeo, copy the token, paste it into the Vimeo Token field, and click Sign into Vimeo. Some new options appear. The only thing you need to do is to paste in the URL of your Vimeo video.

Some alt text for this image

Next, select the Main Camera in the hierarchy. In the right-hand inspector, you get some new properties. Under Transform, set the X, Y, and Z positions all to zero. Under Camera, change Clear Flags to Solid Color. Click the play button at the top, and you should now see your video streaming inside Unity!

Some alt text for this image


3. Augmenting the camera perspective

It’s tiny planet time! Essentially, we need to re-shoot the 360 footage through a virtual camera, but from a new perspective. Unity’s camera system makes this effect super simple to do. By default, the camera should be in the center of the sphere and facing forward. Select the Main Camera, and press E on the keyboard so you can rotate the camera. When you rotate the camera, you’ll see how it behaves just like a regular 360 video (psst, this is how all 360 videos are set up).

Some alt text for this image
If you don’t see your camera on the left, press F on your keyboard to center it on the screen.

When you start moving the camera around and playing with its field of view, you’ll see how you can easily distort the video.

  • You’ll need to rotate the camera so it’s facing the bottom of the sphere (again, press E to rotate). Or just set the rotation of the X-axis in the inspector to 90.
  • Move the camera to the top of the sphere (press W to use the Move tool).
  • Change the Field of View slider in the inspector to around 120 – 130 degrees.
Some alt text for this image


4. Recording and uploading to Vimeo

Now all you have to do is record what the camera sees in the Game view. Fortunately, the Vimeo Unity SDK comes with the ability to record and upload video. Right-click in the hierarchy and add Video > Vimeo Recorder to your scene. You should now see VimeoRecorder in your scene hierarchy. Select it and sign into your Vimeo account.

At this point, you might be tempted just to record! But here is where things get complicated. Since we are streaming video into Unity, we have to somehow guarantee that every frame of the video being streamed is synchronized with the way we capture and record each frame. Otherwise, we would end up with a video that looks choppy because it is skipping frames. I had to write a little extra code to make this happen. 

Download SyncRecordAndPlayer.cs to your Unity project. Attach this script to the VimeoRecorder component. You need to assign the recorder and vimeoPlayer attributes to the corresponding components. This script automatically synchronizes the streaming and capture once you click the play button in Unity. It records the entire video from beginning to end, but you can also manually end the recording early if you don’t want to capture the whole video.


Bonus: enhance!

Since we are using a game engine, why not take advantage of some of its features? This opens the doors to achieving a lot more than just doing a raw capture of the original 360 video. I decided to write a script that would animate the camera to create a more engaging, visual effect when watching a tiny planet-ified video.

When you attach this script to the Main Camera, it just animates the camera up and down on the Y-axis, the field of view, and the rotation of the camera. You can tweak the camera settings in the Unity Editor to your liking. If you go back and watch Tiny Universe, you can see this effect in play throughout the video.

A demonstration of the camera animation in Unity


Caveats

If you’re obsessed with high-quality video even in the slightest, you will quickly find that Unity’s native encoder isn’t going to cut it. Unity only lets you set Low, Medium, or High for the output bitrate, but it doesn’t tell you what that means beyond what’s written in their documentation.

Fortunately, there are a lot of great alternative encoders in the Unity Asset Store that are so much better. One encoder that stood out to me was AVPro Movie Capture. It costs money, but it does so much more than what Unity does out of the box. I also found out about their other plugin, AVPro Video, which does video playback better than Unity’s native video player. In fact, it even supports adaptive video, which means you could hypothetically use Vimeo Livestream to stream videos into Unity.

My only concern about swapping to entirely new video player and encoder was the synchronization issue that I mentioned earlier and solved with SyncRecorderAndPlayer.cs. Fortunately, AVProVideo.MediaPlayer has a key line of code:

// BETA FEATURE: comment this in if you want to support frame stepping based on changes in Time.timeScale or Time.captureFramerate#define AVPROVIDEO_BETA_SUPPORT_TIMESCALE

Commenting in this line in will automatically sync video playback and capture to the Unity’s frame rate — a much more elegant solution! Through my work on Tiny Universe, I ended up adding support for AVPro’s plugins. So, if you want high-quality output, the Vimeo Unity SDK is now compatible with AVPro.


Alternative approach

If you want to skip the whole Unity route or just want to quickly preview your own 360 video as a tiny planet, you can leverage the advanced 360 settings on your Vimeo video. Adjust the pitch, yaw, and field of view straight from your settings. When we were writing this blog post, Vimeo forced all 360 videos to have a max 90 degree field of view. So we changed it! Now with a simple settings adjustment, you can view your tiny planet by increasing the field of view past 90 degrees.

Some alt text for this image


What’s next?

Looking at the final product, I could have probably achieved a pretty similar result with GoPro’s VR plugin for Adobe Premiere, just with a lot more manual keyframing and animation. However, simultaneous video streaming and recording with Unity is pretty exciting since it turns a gaming engine into a cloud video encoder. It’s just the start of what is possible.

P.S. Thanks to a new Vimeo feature, I collected all the 360 work featured in Tiny Universe and organized them into the embedded playlist below. Many, many thanks to Uncle SkeletonJulius HorsthuisChristian MülhauserJulian GlanderJeron BraxtonJosh GansalvesDirk KoyNew Media Ltd, and Universal Everything for allowing me to remix their beautiful work.


More from the Vimeo blog

The Vimeo booth at NAB 2025

The video trends we saw at NAB 2025

a group of people wearing the Apple Vision Pro headset

Connecting with creators and the future of video at SXSW

If you love something, resist eating it: “O Black Hole!” is an epically original lesson in accepting the ephemeral.

Staff Pick Premiere: "O Black Hole!" by Renee Zhan

Man talking on a microphone in a room of people at an event

Volumetric filmmaking and the future of video

Clips of multiple award winning videos from 2017

Vimeo presents: The top videos of 2017

To produce a “state of the art” 360 video, New Media Ltd. went back to the origins of storytelling.

Staff Pick Premiere: A “Giant” leap forward for visual storytelling

Now you can upload stunningly high-res 360 videos, find lessons and tutorials, and discover today"s best 360 filmmakers.

Vimeo 360: A home for immersive storytelling

Staff Pick logo on top of a still from the film "Zurich 2.0"

360 videos you should be watching