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


36

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

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


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

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

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

답변:


53

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

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

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

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


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

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