Unity 필수 과정의 살펴보기에서 프로젝트 배포를 이수하던 중
WebGL 빌드를 시도하다가 발생한 문제다.
File -> Build Settings -> Player Settings -> Other Settings
Color Space에서 Linear ColorSpace는 WebGL2를 필요로 하므로 WebGL1를 제거하기 위해 Auth Graphics를 끄시오
라 경고한다.
에러의 원인은 WebGL1로 인한 ColorSpace의 Linear 호환 충돌
이였던 것이다.
애초에 유니티 기본 설정에서 Auto Graphic API
를 통해 Deprecated된 WebGL 1.0까지 호환시킬려고 한 이유는 브라우저 호환의 우려때문이다.
Can I Use는 MDN에서 브라우저 호환성 표만 개별적으로 보여주는 통계 웹페이지이며 WebGL2의 호환성은 https://caniuse.com/webgl2 에서 확인하다시피 일부 마이너 브라우저를 제외한 대부분의 메이저에서 지원한다. 옛날이면 몰라도 지금은 배포를 통해 제품이 입을 손상은 거의 없으며 사용자가 업데이트를 게을리 한 문제로 이관된다.
WebGL 2는 WebGL 1를 완벽히 역호환한다. 즉 WebGL 1기능은 모두 다 WebGL 2에 있다. auto graphic api
를 활성화하면 호환성을 위해 WebGL 1만 하는 셈이며, 이로 인해 Color Space의 Linear
나 Lightmap Encoding에서 High Quality
를 사용할 수 없는 문제가 있다.
그래서 이 문제는 두 속성을 WebGL 1호환 버전으로 내림으로써 해결할 수도 있지만, deprecated된 버전까지 호환한다며 제품성을 낮추는 짓은 정말 좋지 않은 선택이다.