- Home /
"Moving" skybox closer, to emulate a smaller room? (VR 360 degree app)
Using a stereoscopic 360 degree 3d render; I'm trying to get a similar experience to the Oculus 360 degree image viewer for the Gear VR. When I use my stereoscopic image in the Oculus app, I have an experience that's close (enough) to being in the room; but when I do the same in my app, the experience is that I'm tiny and floating in the middle of a huge room. It is also hard to focus on close things in my app, while it is a lot easier in the Oculus app.
My current setup is that I have a seperate camera for each eye, with a seperate skybox (Each of the rendered perspectives) for each eye. Any ideas how I can reduce the feeling of being tiny, or another way (Not using skyboxes) to accomplish my goal?
Any, and all ideas appreciated!
Answer by cadpeople · May 03, 2016 at 05:03 PM
Okay so I finally had a Eureka moment. Sorry, for wasting your time @coolraiman, thanks any way :) It turns out that the images for the left and right eye were reversed... I foolishly assumed that the left part of the image, was for the left eye, and vice versa. BTW: I tried the whole hollow cube manual skybox thing, but the lighting got kind of weird, even with an unlit shader.
I guess if others ever have the same issue, make sure you were not as moronic as me...
Answer by coolraiman · May 03, 2016 at 02:43 PM
this is not how a skybox work
A skybox will always be at the horizon no matter what. When your camera render the game, if any pixel of the screen would be empty because of far limit or because there is just nothing, it will render the skybox for that specific pixel depending only on the angle of the camera.
is your skybox the room itself? Maybe you should try to make a physical skybox, create a cube out of 6 planes or quads if you want it to act a little more like a skybox, add a parent to the planes and make sure it is perfectly in the center of that planes cube
Then add a script like that
using UnityEngine;
using System.Collections;
public class ManualSkybox: MonoBehaviour {
private Transform camPos;
private Transform pos;
// Use this for initialization
void Start () {
camPos = Camera.main.transform;
pos = transform;
}
private void LateUpdate()
{
pos.position = camPos.position;
}
}
It is really important to use LateUpdate instead of update if you want your skybox to be smooth and not dependent of script execution order. (if the skybox update before you move the camera, the skybox will act weird)
Your answer
Follow this Question
Related Questions
2 camera setup in VR for 3D skybox no longer works 1 Answer
stereoscopic effect not appearing in panorama 360 degree VR application in unity 1 Answer
How can I setup a 360 video to play in stereoscopic 3D with the new XR plugin framework? 0 Answers
360 Video Conversion 0 Answers
How to save position of stereo vrcameras 0 Answers