2D background with 3D foreground in Unity?


#1

Hey folks, just started playing around with the SDK. I’m wondering if it is possible to set things up in such a way that a 2D background can be rendered on top of by the HoloPlay Capture prefab?

I’ve got a kind of skybox situation where I want that to be crisp, like when the device is just showing the computer desktop, and then only a portion of the scene is rendered by the Capture prefab to create a floating 3D object.


#2

Hello! So to answer your question in short: no, this is not exactly possible. There is maximum crispness at what we refer to as the focal or convergence plane – that is because at that point in space, all views being rendered are exactly the same. It’s effectively the same as rendering it in just 2D. That also works in reverse – if something were rendered with all the views the same for the sake of crispness, in 3D it would look like it appears flat in the middle of the focal plane. You could then place objects in front of it, closer to the viewer, but anything placed behind would create a brain-breaking scene of impossible dimensionality.

One option you might consider is using the custom FOV option. You can find it in the inspector on the HoloPlay Capture object under Capture > Advanced. Increasing the FOV can produce the effect of having the background seem further away but also more crisp at the same time.