How to create an invisible tripod for a 360 camera

During my first experimentations with a 360 camera, I used a standard tripod, and we can clearly see it in the shot. Anybody who tried 360 will tell you that it breaks the immersion .

To avoid showing the tripod in my videos, I experimented with different ways to hide it. At first, I tried a simple logo surrounded with a faded shadow, but as you can see, it does not feel blended.

Then I experimented with photoshop to create a unique Nadir logo for each of the scenes I created. The goal was to make the nadir feel a real part of the scene and make it blend with the current environment. So I cut and pasted a real part of the scene on top of the tripod like this:

If you take tike to look at it closely, you will see many work was done on this image. The stamp tool was used many times over. Also the edge is degraded with a texture that matches the soil. Also the color of the logo was de-saturated to fit more naturally. Here is the result:

TADA!!! No more tripod! Feels 100% natural. The logo is even interesting to see. But wait, I have to do this for all my scenes?

The results were quite satisfying… But quite time consuming as well!

I decided to create a tripod that would not be visible

It suddenly stuck me that Insta360 called their selfie stick the “invisible selfie stick”. What if I could use 2 insta360 invisible stick together? Would it be strong enough? How could I glue them together?

Well no need for glue! They are totally design to attach one after another!  The bottom of the stick can receive a standard 1/4 20 screw.

The only missing part was how can I make all stand up without any legs. I started searching on amazon and found this:

 

I thought it was the perfect part to make the selfie stick stand on its own.

I went trought my construction left overs and found a garden light that was very robust, and just started removing the top and drilling a whole to connect the sticks.

And voilà!

The results are near perfect.

Volcano Rocks Are Getting Real

Unity’s physics system is pretty good for make look real rock falling down the volcano. It looks very real.

Here are the options I wanted for the rocks expelled from the volcano:

  1. Random rock from at least 4 rocks
  2. Randomly set on fire, with smoke trail
  3. Random rock size
  4. Random rock debris (splinter) generation on ground collision
  5. Rocks must react to multiple ground collisions
  6. Random sound on FIRST ground collision & random picth. Has bass effect.
  7. Diffenrent random sound AFTER the first collision, does not have a “rock rain effect”
  8. Rocks must stay on ground indefinetly
  9. All effects must be detroyed from the rocks after it stops moving
  10. Rocks must be able to “jump out freely” from the volcano without colliding with another rock during its ascension
  11. Fire must gradually fade out after the rocks stops moving

After countless trys and errors, here is the logic I came up with:

Here are the results:

 

Gaia / CTS: Controlling the snow value at runtime without the weather manager

Here is a quick way to change the snow value in CTS (Complete Terrain Shader), without installing the weather manager.

GameObject terrainGO = GameObject.Find("Terrain");
Terrain terrain = terrainGO.GetComponent();
Material material = terrain.materialTemplate;
material.SetFloat("_Snow_Amount", 2);

I needed this to be able to add the look and feel of the volcano ashes. This parameter “_Snow_Amount” will be slowly incremented after the eruption phase.

Here is a quick peek at the terrain covered in ashes:

Creating a first VR experience with Unity 3D and Steam VR

Disasters is VR simulation of a volcano eruption. You take the rôle of an international agent working for a volcano hazard agency.

You are transported by helicopter to the volcano island and must follow the central agency instructions. But as you do, the worst happens… the volcano enters its eruption phase. And it is an explosive one.

Will you be able to protect all the citizens?

Challenges

The challenges with this projet are immense… I have to learn C# along the way of learning litterally everything that is required to build a game… but also having to understand the caveats of VR developpement and all of its optimization, requirements and restrictions due to the target Framerate of 90FPS.

ALL IN ONE FIRST GAME PROJECT.

I wanted a technological challenge, I found one.

Lights

VR games must use a minimum of lights sources, Unity light renderer supports 8 realtime lights, every texture and lightning should be baked (a term refering to “cached” as opposed to “realtime computation”). Valve created their own renderer in Unity. They say it is a real process saver and can support up to 18 light source. They have made a tremendous job because the lab is one hell of a well made VR game. It is stable and very confortable. It is one the most liked VR game on Steam of all time. I still play it one year after I first tried it.

So without realtime lights and without atmopheric effects (like a car light that creates a beam of light through the fog…) it will be a real challenge to create a heavy visual atmosphere during the volcano eruption phase. Also out of reach, post-processing effects like HDR filters are out of the loop because they add an extra layer of computing at the very end of the rendering process.

POLYS

Another important way of getting high refresh rates per eye is having less objects  in the game, and the objects that you need must be “Low poly”. A poly refers to a single flat geometric face. 3D models can contain thousands of polys.  The lower the number of faces, the faster the games renders. So, you ask, is your volcano gonna look like a minecraft pyramid? Not at all! In fact, it almost looks the same as real objects. If the artist is a good modeler, his/her work will be very similar either in hi or low poly count. The magic happens with the texturing. VR is the perfect match for PBR textures which are realistic photos in real world placed on  3D models. This picture shows how little you can tell the difference from hi or low poly:

If you have time to spare, look at those models on sketchfab. You will witness the revolution in generating 3D models from pictures. It is a technique called photogrammetry.

The solution to a dark atmosphere in VR?

I think the solution lies in the feelings. VR is about tricking the brain to BELEIVE you are in the place it shows you. Anybody who experienced the Montain in the Lab knows what is feels to stand near the mountain edge. It feels real.

If the VR headset makes you beleive what you see, I think its the sounds that creates the atmosphere. Movies trick us all the time. They raise our stress levels, makes us cry and feel all sorts of feeling by carefully choosing sounds and songs. Listnening to a movie on mute is like eating with your nose pinched… It is fad, it is missing something.

So I will bet BIG on sounds to create an intense atmosphere. It is important to mention that sounds are cheap on processing power. From my perspective, it is a no-brainer to will invest a lot of time searching and digging good sound effects of volcanoes in social medias, blogs, channels and try to capture the essence what this experience should sound like.

First personnal satisfaction!

I would say the most satisfying part of creating this VR game yet is the helicopter ride. It took me several experimentation with different techniques:

  • Simulate a flying controller
    • I did not trust the game to run 100% smooth and it could generate audio dis-synchronization
  • Using motions paths
    • The path was quite complicated to edit. Applying changes was too much time consuming
  • Triggering iTween motions
    • I was not satisfied with the controls on the easing of the motions, but it looked great!
  • Creating a timeline
    • Mixing object animation, triggering character movements and syncing sounds in one linear tool work really well. I mean really, really well.

The choosen option was to create a Unity Timeline. It took me 2 days to adjust all the parameters and it was so worth it. I tried to set every details right, but there is still room for smoother transitions, but for now, it seems pretty convincing.

I am now focussing the teleporting the player, and finding solutions for minimal restrictions and giving the player all the liberty that it wants. I know for sure that the players will want to go the top of the volcano, so I will let them go up there… and mabe they will discover something interesting… who knows? 😉

But it won’t be as easy as clicking and teleporting… I will cook up a little challenge.

Are they not what games are for? Challenging the player and the developper?