SUMMARY
- A lot of 360 technology is natively supported in Unity3D. Examples here: https://assetstore.unity.com/packages/essentials/tutorial-projects/vr-samples-51519
- Use the Google Cardboard VR API to export for Android or iOS. https://developers.google.com/vr/?hl=en https://developers.google.com/vr/develop/unity/get-started-ios
- Images and videos are for the most equirectangular 2:1 360 captures, mapped onto a skybox (stills) or an inverted sphere (videos). Panoramas are also supported.
- Stereo is achieved in different formats, but mostly with a 2:1 over-under layout.
- Videos can be streamed from a server.
- You can export 360 mono/stereo stills/videos from Unity3D with VR Panorama.
- 4K is probably the best average resolution size for mobiles.
- Interaction can be driven through the Google API gaze scripts/plugins or through Google Cloud Speech Recognition (paid service, https://assetstore.unity.com/packages/add-ons/machinelearning/google-cloud-speech-recognition-vr-ar-desktop-desktop-72625 )
DETAILS
- Google VR game to iOS in 15 minutes
- Step by Step Google VR and responding to events with Unity3D 2017.x
https://boostlog.io/@mohammedalsayedomar/create-cardboard-apps-in-unity-5ac8f81e47018500491f38c8
https://www.sitepoint.com/building-a-google-cardboard-vr-app-in-unity/
- Gaze interaction examples
https://assetstore.unity.com/packages/tools/gui/gaze-ui-for-canvas-70881
https://s3.amazonaws.com/xrcommunity/tutorials/vrgazecontrol/VRGazeControl.unitypackage
https://assetstore.unity.com/packages/tools/gui/cardboard-vr-touchless-menu-trigger-58897
- Basics details about equirectangular 2:1 360 images and videos.
- Skybox cubemap texturing, shading and camera component for stills.
- Video player component on a sphere’s with a flipped normals shader.
- Note that you can also use a pre-modeled sphere with inverted normals.
- Note that for audio you will need an audio component on the sphere model.
- Setup a Full 360 stereoscopic video playback using an over-under layout split onto two cameras.
- Note you cannot generate a stereoscopic image from two 360 captures, it has to be done through a dedicated consumer rig.
http://bernieroehl.com/360stereoinunity/
VR Actions for Playmaker
https://assetstore.unity.com/packages/tools/vr-actions-for-playmaker-52109
100 Best Unity3d VR Assets
http://meta-guide.com/embodiment/100-best-unity3d-vr-assets
…find more tutorials/reference under this blog page
Full Google VR API tutorial with camera interaction.
Other Gaze interaction full workflows
Unite Europe 2017 – Creating interactive 360 experiences in Unity
https://docs.unity3d.com/Manual/VideoPlayer.html
You can import video through Unity3D’s importer and maintain some transparency options.
Transparency video formats are “Apple ProRes 4444” and “.webm combined with the VP8 video codec”.
You can stream the video from a remote URL or through Application.streamingAssetsPath.
To add depth to a video player you can add models, particles, optical effects and also a still cutout of elements of the video to use as a transparent mask.
How to setup a left/right stereo camera setup.
Import a 360 image to use as a skybox.
Import a 360 Image to use with google cardboard with a insideOut shader, including fading, interaction and virtual tour.
Note, you can change the mapping of the cube texture from auto to longitude/latitude for panorama photos instead.
Import a 360 Movie with a insideOut normal flipping shader and the video player component
Play Stereoscopic 3D 360 video in Unity3D
https://unity3d.college/2017/07/31/how-to-play-stereoscopic-3d-360-video-in-vr-with-unity3d/
https://github.com/Unity-Technologies/SkyboxPanoramicShader
Capture and export 360 stills or mono or stereo videos from within Unity through VR Panorama.
This allows a lot of flexibility and output formats.
https://assetstore.unity.com/packages/tools/video/vr-panorama-360-pro-renderer-35102
Package unity setup into google cardboard
Setup the project with unity, android studio and java
Some 360 videos to play with:
http://www.panocam3d.com/video3d360.html#!portfolio/project-13.html