Error building Player: Incompatible color space with graphics API

Sharlotte ·2023년 1월 24일
1

Unity

목록 보기
1/4

발단

Unity 필수 과정의 살펴보기에서 프로젝트 배포를 이수하던 중

WebGL 빌드를 시도하다가 발생한 문제다.

해결 / 원인

File -> Build Settings -> Player Settings -> Other Settings
Color Space에서 Linear ColorSpace는 WebGL2를 필요로 하므로 WebGL1를 제거하기 위해 Auth Graphics를 끄시오라 경고한다.
에러의 원인은 WebGL1로 인한 ColorSpace의 Linear 호환 충돌이였던 것이다.

WebGL 2.0만을 쓰면 문제가 발생할까?

애초에 유니티 기본 설정에서 Auto Graphic API를 통해 Deprecated된 WebGL 1.0까지 호환시킬려고 한 이유는 브라우저 호환의 우려때문이다.
Can I Use는 MDN에서 브라우저 호환성 표만 개별적으로 보여주는 통계 웹페이지이며 WebGL2의 호환성은 https://caniuse.com/webgl2 에서 확인하다시피 일부 마이너 브라우저를 제외한 대부분의 메이저에서 지원한다. 옛날이면 몰라도 지금은 배포를 통해 제품이 입을 손상은 거의 없으며 사용자가 업데이트를 게을리 한 문제로 이관된다.

side note: auto graphic api

WebGL 2는 WebGL 1를 완벽히 역호환한다. 즉 WebGL 1기능은 모두 다 WebGL 2에 있다. auto graphic api를 활성화하면 호환성을 위해 WebGL 1만 하는 셈이며, 이로 인해 Color Space의 Linear나 Lightmap Encoding에서 High Quality를 사용할 수 없는 문제가 있다.
그래서 이 문제는 두 속성을 WebGL 1호환 버전으로 내림으로써 해결할 수도 있지만, deprecated된 버전까지 호환한다며 제품성을 낮추는 짓은 정말 좋지 않은 선택이다.

profile
샤르르르

0개의 댓글