“ 조명 ”은 무엇을 의미합니까?

라이트 맵을 베이킹한다는 것은 무엇을 의미합니까? Unity3d에서이 소식을 들었고 라이트 맵을 굽는 스케치 업용 LightUp 플러그인을 다시 찾았습니다.

내가 관찰 한 바에 따르면 라이트 맵 베이크는 3D 오브젝트에 훨씬 더 사실적인 느낌을줍니다. 개체에 조명을 적용하여 미리 렌더링 된 애니메이션에서 볼 수있는 CG 애니메이션 모양을 제공합니까?

댓글

  • 또한 베이킹 할 때마다 물리학, 조명 또는 기타 무엇이든. 실시간으로 렌더링 / 처리하는 데 오랜 시간이 걸리는 무언가를 설정했거나 매번 동일한 방식으로 재생하기를 원하므로 한 번만 수행하고 나중에 사용할 수 있도록 결과를 저장합니다. 모든 계산이 완료되어 구워진 것을 표시하는 것이 빠르며 모든 플레이 스루에서 항상 동일합니다.
  • AttackingHobo, 그게 좋은 방법입니다. 이제 이해합니다. 그러나 궁금한 것은 물리학이 어떻게 구워 질까요? Luxrender는 빛의 물리를 계산할 수 있기 때문에 사실적인 렌더링을 생성합니까?
  • 모든 시간 단계에 대한 모든 객체 위치 및 회전 등을 한 번 시뮬레이션하고 저장하여 복잡한 장면에 대해 물리를 구울 수 있습니다. 그런 다음 모든 값을 다시 실시간으로 다시 계산하는 대신 저장된 값에서 재생합니다.

Answer

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

내가 항상 굽기에 대해 생각했던 것은 아마도 더 단순한 버전 일 것입니다. 기본적으로 편집자는 빛 주변의 모든 텍스처를 가져 와서 효과를 계산합니다. 텍스쳐에 빛을 비추고 (밝게, 색상, 그림자 등) 사용할 대체 텍스쳐로 저장합니다. 따라서 “빛”주변의 모든 텍스쳐는 빛을 비추는 것처럼 보이지만 런타임은 실제로 “계산 관점에서 빛이 없다.” 본질적으로 착시 현상입니다.

그러나 Unity는 라이트 맵 을 생성하는 것 같습니다. 이는 위의 개념과 유사합니다. ,하지만 베이크 된 조명은 기본 텍스처를 수정하는 대신 별도로 유지되며, 셰이더가 런타임에 둘을 병합한다고 가정합니다. 타일 텍스처 (즉, 메모리 사용량이 적음)의 이점을 유지하는 이점이 있습니다. 라이트가 바로 구워 져서 타일링 된 상태로 유지 될 수 있으며, 특히 라이트를 동적으로 처리하는 것에 비해 쉐이더는 매우 가볍습니다.

이 작업을 수행하려면 라이트가 정적으로 있어야합니다. 즉, 조명이 텍스처에 구워 졌기 때문에 게임 플레이 중에 이동할 수 없습니다. 또한 방에있는 모든 동적 오브젝트 (예 : 플레이어 캐릭터)는 조명을 비추 지 않으므로 조명이 동적 개체에 대해 렌더링되지만 정적 풍경에서는 (다시) 렌더링되지 않는 일종의 예외입니다.

댓글

  • 그리고 대부분의 경우 조명이 부드럽기 때문에 라이트 맵은 나머지 텍스처보다 낮은 해상도로 저장 될 수 있으며 여전히 괜찮아 보이지만 렌더링 속도가 더 빠르며 메모리를 덜 사용합니다.
  • +1, 이것은 정말 훌륭하고 광범위한 답변입니다. 감사합니다. 🙂

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다