Version: 2019.2
라이트 프로브
라이트 프로브 그룹

라이트 프로브: 기술 정보

라이트 프로브의 조명 정보는 스피리컬 하모닉스 기반 함수로 인코딩됩니다. Unity는 L2 스피리컬 하모닉스로 알려진 3차 다항식을 사용합니다. 이 다항식은 27개의 플로팅 포인트 값을 이용하여 저장됩니다. 그 중 9개는 각각 컬러 채널에 해당합니다. Unity는 Geomerics’ Enlighten을 사용하긴 하지만 그들의 블로그에 나오는 것과는 다른 SH 기반을 사용합니다(y축과 z축이 바뀝니다). Unity는 Peter-Pike Sloan의 논문에 나오는 표기 및 재구성 메서드를 사용하고 Stupid Spherical Harmonics (SH) Tricks, Geomerics는 Ramamoorthi/Hanrahan의 논문에 나오는 표기 및 재구성 방식을 사용합니다. An Efficient Representation for Irradiance Environment Maps.

재구성에 필요한 Unity 셰이더 코드는 UnityCG.cginc에서 찾을 수 있으며 피터-파이크의 논문 부록 A10 “조사도 환경 맵을 위한 셰이더/CPU 코드” 메서드를 사용합니다.

데이터 내부 순서는 다음과 같습니다.

                        [L00:  DC]

                                    [L1-1:  y] [L10:   z] [L11:   x]

                          [L2-2: xy] [L2-1: yz] [L20:  zz] [L21:  xz]  [L22:  xx - yy]

R, G 또는 B에 해당하는 9개의 계수는 다음과 같은 순서로 배열됩니다.

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22, // 레드 채널

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22, // 블루 채널

L00, L1-1,  L10,  L11, L2-2, L2-1,  L20,  L21,  L22  // 그린 채널

Unity의 라이트 프로브 시스템에 관한 자세한 내용은 게임 개발자 컨퍼런스 2012(GDC 2012)에서 Robert Cupisz의 강연 내용을 참조할 수 있습니다. 사면체 테셀레이션을 이용한 라이트 프로브 보간법, GDC 2012


  • 2017–06–08

  • Unity 5.6에서 라이트 프로브 업데이트됨

라이트 프로브
라이트 프로브 그룹