Forum Discussion
System1
8 years agoHonored Guest
Unity 5.6.0f2 through 5.6.1f1 have correct 16-bit display buffer, versions before and after don't
This discussion was created from comments split from: [SOLVED in 5.6.2p1] Gear VR Build Crash: Unity 5.6.1p1 - 16 bit display buffer builds always crash.
6 Replies
Replies have been turned off for this discussion
- AllenPestalukyExplorerHi everyone,
Unfortunately this fix in Unity 5.6.2p1 might not have been a real fix to this issue: As of 5.6.2p1, the 32-bit display buffer project setting is actually ignored and a 32-bit display buffer is forced for Gear VR builds (but not for standard non-VR android builds).
This "fix" is actually the exact same problem that used to happen before Unity 5.6.0f2 that was described in Unity case 863783 and in this oculus topic.
It seems that Unity 5.6.0f2 through 5.6.1f1 inclusive had a correctly functioning 16-bit display buffer, but versions before and after have not.
Allen - AllenPestalukyExplorerHi imperativity,Thanks for getting back to me with those details. Here is an explanation of why the 16-bit buffer can be very useful for Gear VR:It all stems from a single problem on Gear VR: the user can adjust the brightness to be so high that very bad banding can be seen in certain situations when using a 32-bit display buffer.This is an approximation of what a fade-from-black looks like in our game if the user has brightness set to max. It is especially distracting because the banding can be seen stepping outwards from the brightest parts of the walls as the game fades in. Please bear with me, as this is just a rough approximation of the effect the user sees when wearing the HMD. It looks fine if the user does not have their brightness turned up:The correct solution to this problem would be to prevent Gear VR brightness from being turned up so high. This is not possible as far as I am aware. An alternate solution would be to design the game from day one to never have dark scenes, but this is not an option for our game that has been out on the Gear VR store for over two years.A third workaround to this problem relies on a functioning 16-bit display buffer: this will trigger dithering of the display buffer which entirely resolves the fade-from-black problem that is seen when Gear VR brightness is set too high. It is difficult to simulate this, but the result looks very impressive. It's impossible to see any banding during the fade with a 16-bit display buffer that uses the automatic Android dithering:This 16-bit buffer with dithering is the workaround that our store build has used for over 2 years and provides surprising good visual quality with no noticeable banding.Removing this workaround that relies on a 16-bit display buffer is a notable visual regression for any of our users that have their Gear VR brightness set high.Thanks for your time and help,
Allen - AllenPestalukyExplorerThanks again imperativity! I've messaged you the build. Sorry for the dealy!
Allen - firagabirdAdventurer@AllenPestaluky
Any update on this? Did Oculus provide an update, or give you advice to resolve the banding issue?
@imperativity
Is there a new guideline that devs need to follow to avoid this artifact? - AllenPestalukyExplorer@firagabird I haven't heard back on this. I am lead to believe that the "Use 32-bit Display Buffer" player setting is intentionally ignored on Gear VR builds and the 32-bit mode is forced no matter what the settings are.
Regarding the banding that can be seen with brightness set to maximum in the Gear VR device settings: I believe that we are supposed to simply never have a dark scene to avoid brightness ranges that might show banding. My preference would be to either prevent the user from setting the brightness this high or to allow the 16-bit display buffer mode as a workaround to reduce banding for darker scenes (I understand this is a strange workaround, but it's incredibly effective to get around the problem of the user setting their brightness way too high for dark scenes to look good). - firagabirdAdventurer
AllenPestaluky said:
prevent the user from setting the brightness this high
It really sucks that being on up-to-date versions of Unity forces your art style to look worse. In this specific case, I can imagine that reworking the art assets for a several-year old game may not be your team's best use of resources (though the argument can be made if you're planning to update it for the launch of Oculus Go).In the specific case of the user setting their brightness too high, you could apply the super old-school technique of providing a brightness adjustment screen at the intro, as well as the settings menu. Literally put a static UI texture on a quad and instruct the user to set their Gear VR brightness level lower if they can see a low contrast image/text.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 4 years ago