컴퓨터 지식 네트워크 - 컴퓨터 학습 - 왜 Unreal4 엔진은 vray 가 렌더링하는 데 반나절이 걸리는 장면을 실시간으로 쉽게 렌더링할 수 있습니까
왜 Unreal4 엔진은 vray 가 렌더링하는 데 반나절이 걸리는 장면을 실시간으로 쉽게 렌더링할 수 있습니까
두 장의 사진을 비교해 보겠습니다. 다음 두 사진은 같은 장면 소재, 같은 조명, 매우 가까운 재료 모형이지만 완전히 다른 렌더링 방법을 사용합니다. 첫 번째는 내 자신의 렌더러가 광선 추적 기반의 편향되지 않은 전역 조명 알고리즘으로 렌더링되고, 두 번째는 허황된 엔진 (버전 4.7) 의 렌더링 엔진으로 렌더링됩니다. 첫 번째 사진 속 의자의 팔걸이와 책상 밑부분은 플라스틱 소재 (분산+매끄러운 거울 반사) 이고, 두 번째는 금속 소재 (거친 거울 반사) 다 두 번째는 부드러운 유리입니다. 나머지 재료는 모두 똑같습니다. 다음으로 두 그림의 차이점을 검토해 보겠습니다. 첫 번째 가장 눈길을 끄는 차이점은 장면 맨 아래 평면의 거울 반사입니다. 둘 다 거친 매개변수가 .25 2 인 GGX 모델로 묘사된 거친 거울입니다. 위 그림의 차이는 매우 큽니다. 위 그림은 BRDF 와 광원 샘플링에 대한 편향되지 않은 결과를 기반으로 하며 참조로 사용할 수 있습니다 다음 그림은 언리얼 엔진 4 쌍의 경미한 거친 반사를 드러낸 결함이다. 언리얼 엔진 4 의 반사 솔루션은 화면 공간 반사 (SSR) 에 환경 맵을 더한 것이다. 매우 매끄러운 표면의 경우, 장면에 있는 반사가 화면에 바로 존재할 때 언리얼 엔진 4 는 SSR 을 사용한다 반사는 SSR 과 환경 맵의 가중치가 되고, 특히 거친 표면에 대한 환경 맵을 완전히 사용할 때까지 됩니다. (사실, 여기서 거칠기를 조금만 더 높이면 SSR 은 전혀 없어지지만, 환경 맵의 반사는 매우 거칠고 비교에 좋지 않기 때문에 반사가 전혀 보이지 않습니다.) 따라서 다음 그림의 결과는 부드러운 거울 반사와 거친 거울 반사의 가중치 합계라고 할 수 있습니다. 물론 경미한 거친 반사를 실제로 시뮬레이션할 수는 없습니다. 두 번째 미묘한 차이는 아래 그림에서 책상과 의자의 노란색 부분에 대한 거울 반사가 정보 손실이 있다는 것입니다. 이는 SSR 알고리즘 자체가 반사체가 현재 화면에 없는 상황을 처리할 수 없기 때문입니다. 이 Artifact 는 현재 게임에서도 매우 흔하며, 많은 사람들이. SSR 의 또 다른 미묘한 오류는 반사의 거울 하이라이트가 잘못되었을 수 있다는 것입니다. 하이라이트 계산은 시선 입사 방향에 따라 카메라 방향으로 계산된 화면에서 직접 취하는 것은 옳지 않기 때문이다. 하지만 이 문제는 이전 정보 손실보다 훨씬 작습니다. 아무도 care. 세 번째 차이점은 하단 평면의 하이라이트 영역이 아래 그림에 비해 훨씬 분산되어 있다는 것입니다. 아래 그림의 맨 아래에 있는 화면은 그림보다 더 거칠어 보인다. 이것은 완전히 다른 두 가지 ImageBasedLighting 방법으로 인해 발생합니다. 위 그림이나 환경 맵을 기반으로 하는 모든 에너지 분포 샘플링 광원, 허황된 엔진 4 는 Split-Sum 을 사용하여 렌더링 방정식의 조명 부분과 BRDF 부분을 분리하여 각각 적립합니다. 또 두 가지 적분의 결과 구적이다. 그 중 조명 부분의 적분은 또 PrefilterCubeMap 의 방법을 사용한다. 좀 더 자세히 말하자면, UE4 의 환경 맵은 128x128x6 의 해상도, 7 층 MipMap 입니다. 각 층의 각 면은 124 개의 샘플로 서로 다른 거칠기의 GGX 를 샘플링하여 Filter 로 간다. 여기 있습니다. 첫 번째는 샘플 GGX 의 입사광선은 항상 표면의 법선 방향과 같기 때문에 입사각과 법선 각도가 클 때 늘어나는 강조 표시를 시뮬레이션할 수 없다는 것입니다. 또 다른 오차는 7 개의 개별 거칠기만 샘플링하고 서로 다른 거칠기가 사용하는 다른 Mipmap 가 성능에 더 유리하지만, 이 거칠기와 Mip 층의 매핑은 완전히 Epic 의 "발명" 입니다. 물리학에 기반을 둔 것이 아닙니다. 제가 직접 같은 BRDF 를 해봤는데 UE4 에서 ImageBasedLighting 을 하면 진짜 오프라인 참조보다 훨씬 거칠어 보일 겁니다. 물론 결과 Artists 가 편하고 거칠기가 변하는 한, 나쁘지 않습니다. 네 번째 차이점은 아래 그림의 테이블 아래 부분과 위 그림이 눈에 띄게 밝다는 것입니다. 이 오차는 환경 맵의 폐색 정보가 capture 에서만 정확하기 때문입니다. 예를 들어 환경 맵은 테이블 위 capture 에 있고, 테이블 아래 입사광의 대부분은 테이블에 가려져 있으며, 어둡습니다. 여기가 테이블 아래에서 받는 조명과 테이블 위가 됩니다 그래서 위의 그림보다 더 밝습니다. 해결책은 책상 아래에 수동으로 여러 capture 에 별도의 환경 맵을 만들어야 한다는 것입니다. 이러한 차이점, 색조의 차이, 배경 블러의 차이, 서로 다른 렌더링 시스템의 postprocessing 매개변수 및 기타 엔지니어링의 작은 문제, 자세히 설명하지 않습니다. 이러한 렌더링 자체의 차이점 외에도 실시간 렌더링 시스템도 종종 더 많은 artistswork 가 필요합니다. 예를 들어 장면의 다른 곳에 probes 배치, 조명 맵 사전 베이킹 등이 있습니다. 마지막으로, UE4 를 이용한 건물 시각화는 말할 것도 없고, 저비용 애니메이션 영화도 있습니다. 빠른 반복은 많은 비용을 절감할 수 있습니다. 비픽사, 남녀노소 모두 볼 수 있어야 흥행을 보장할 수 있는 소재가 나오는 영화도 있을 수 있다. 그리고 내가 이렇게 UE4 를 벗고 옷을 꺼내지 않았더라면, 다들 직접 봐도 아무런 문제가 없을 것이다. 심지어 이 답안을 읽는 많은 사람들이 이 두 장의 그림을 쳐다보며 출장을 가지 않을 것이라고 믿는다. 그래픽을 하는 것은 바로 이렇다 .....上篇: 세계 바둑 고수가 5 단계로 나누면 탑 꼭대기는 누구이고, 밑받침은 어떤 것이 있는가-下篇: '미니 월드'에서 치팅을 사용할 수 있나요?