“조명을 굽다”는 것은 무엇을 의미합니까?


36

라이트 맵을 굽는 것은 무엇을 의미합니까? Unity3d에서 이것을 듣고 다시 라이트 맵을 만드는 스케치 업용 LightUp 플러그인을 찾았습니다.

내가 관찰 한 바에 따르면, 구운 라이트 맵은 3D 오브젝트에 훨씬 더 사실적인 느낌을줍니다. 사전 렌더링 된 애니메이션에서 cg 애니메이션을 볼 수 있도록 오브젝트에 라이트를 굽는 것이 목적입니까?


또한 물리, 조명 또는 기타 어떤 것이 든 구울 때마다. 즉, 실시간으로 렌더링 / 처리하는 데 시간이 오래 걸리거나 매번 같은 방식으로 재생하기를 원하므로 한 번만 수행하고 나중에 사용할 수 있도록 결과를 저장해야합니다. 모든 계산이 완료되고 구워진 것이 빠르고 모든 플레이 스루에서 항상 동일하게 표시됩니다.
AttackingHobo

호보를 공격하는 것은 좋은 방법입니다. 이해합니다. 하지만 궁금해서 물리학은 어떻게 구워 질까요? Luxrender는 빛의 물리를 계산할 수 있기 때문에 사실적인 렌더링을 생성합니까?
김정우

1
모든 시간 간격마다 모든 객체 위치 및 회전 등을 시뮬레이션하고 저장하여 복잡한 장면에 물리를 구울 수 있습니다. 그런 다음 모든 값을 다시 계산하는 대신 저장된 값에서 재생됩니다.
AttackingHobo

답변:


53

게임에 정적 (움직이지 않는) 조명이있는 경우이 조명을 렌더링하는 두 가지 옵션이 있습니다. 동적 조명과 동일하게 렌더링 할 수 있습니다. 즉, 셰이더 파이프 라인을 통해 공급하여 주변의 모든 프레임, 화면, 프레임에 미치는 영향을 계산합니다. 이것은 분명히 꽤 비싸다. 또는 편집자가 빛을 장면에 구울 수 있습니다.

제가 항상 베이킹에 대해 생각한 것은 아마도 더 간단한 버전 일 것입니다. 기본적으로 에디터는 빛 주위의 모든 텍스처를 취하고 텍스처에 대한 빛의 효과를 계산합니다 (밝게하거나 어둡게하거나 그림자 등). , 사용할 대체 텍스처로 저장합니다. "빛"주위의 모든 텍스처는 빛이 비친 것처럼 보이지만 런타임에는 실제로 계산 관점에서 빛이 없습니다. 본질적으로 착시입니다.

그러나 유니티는 라이트 맵을 생성하는 것으로 보입니다 . 이것은 위의 개념과 비슷하지만 구운 텍스처는 기본 텍스처를 수정하는 대신 개별적으로 유지되며 런타임에 셰이더가 둘을 병합한다고 가정합니다. 이것은 타일 텍스처 (즉, 메모리 사용량이 적음)의 이점을 유지하는 이점을 가질 수 있습니다. 즉, 빛이 그 안에 직접 구워지지 않기 때문에 타일을 유지할 수 있고 쉐이더는 특히 동적으로 빛.

조명이 작동하려면 분명히 정적이어야합니다. 즉, 빛이 텍스처에 구워 졌기 때문에 게임 플레이 중에는 이동할 수 없습니다. 또한 플레이어 캐릭터와 같은 실내의 동적 객체에는 조명이 비추 지 않으므로 동적 객체에 대해 조명이 렌더링되지만 (다시 렌더링되지는 않는) 일종의 예외가 필요합니다. 정적 풍경.


12
그리고 대부분 조명이 부드럽기 때문에 라이트 맵은 나머지 텍스처보다 낮은 해상도로 저장 될 수 있지만 여전히 좋아 보이지만 렌더링 속도는 더 빠르고 메모리는 덜 사용합니다.
AttackingHobo

+1, 이것은 정말 훌륭하고 광범위한 답변입니다. 감사합니다. :)
Xeo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.