I am trying to implement fade in/out effect and I figured since post process is a no-go for Gear VR, I could use something as arcane as Wolf3D’s fade screen effect.
Basically it’s just a low poly UV mapped inverted hemisphere, parented to the camera:
It works in the Editor, but doesn’t work on the device.
Here is what it looks like in the Editor and material setup:
Full image: http://s21.postimg.org/hivq2kb3p/wolf3d_screen_fade1.png
Full image: http://s22.postimg.org/4gln6o4vj/wolf3d_screen_fade2.png
When running on the device, red noise is absent.
If I change Masked to Additive, it works in ES2 preview and on the device. So it’s definitely as bug with Masked materials.
Alright, I figured out what the issue is.
Full image: http://s31.postimg.org/q54r7quhl/camera_anchor1.png
Basically, as we know a proper way to setup camera is to have an anchor actor, so to speak, and parent camera to it. So I did that by adding a cube and parenting camera to it (see screenie).
And then I thought that camera will show the cube in the view, so I ticked Hidden option.
Apparently children inherit that (and probably other) properties and this my view fade mesh would not show up in the view because it was automatically hidden (it’s a child of the camera). Once I disabled that checkbox you see on the screenie, my view fade mesh showed up on the device. It was clipped ugly, but that’s another story.
The weird thing that sometimes view fading mesh would show up in the preview (SM5 or ES2), sometimes it wouldn’t. But it would 100% never show up on the device.
I think it’s a bug. Even if my camera anchor is hidden, children should not be automatically hidden.