라이트 프로브의 조명 정보는 스피리컬 하모닉스 기반 함수로 인코딩됩니다. 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에서 라이트 프로브 업데이트됨
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.