Lightmapper QML Type
씬의 라이트맵 베이킹 설정을 지정합니다. 더 보기...
Import Statement: | import QtQuick3D |
Since: | Qt 6.4 |
Inherits: |
속성
- adaptiveBiasEnabled : bool
- bias : real
- bounces : int
- denoiseSigma : real
(since 6.10)
- indirectLightEnabled : bool
- indirectLightFactor : real
- indirectLightWorkgroupSize : int
- opacityThreshold : real
- samples : int
- source : url
(since 6.10)
- texelsPerUnit : real
(since 6.10)
상세 설명
직접 및 간접 조명을 베이크할 때 사용합니다. 이러한 설정의 대부분은 이미 생성된 라이트맵을 사용하여 씬을 렌더링할 때와 같이 다른 경우에는 관련이 없습니다. 예외는 source 이지만, 개발용으로 합리적인 기본값이 있습니다.
베이크가 성공하면 source 에 지정된 값으로 단일 파일이 생성됩니다. 이 바이너리 파일에는 모델별 라이트맵과 라이트맵 호환 UV가 있는 메시 파일을 포함한 베이크 결과가 포함됩니다. 개별 모델 데이터는 BakedLightmap::key 을 통해 액세스할 수 있습니다.
결과 라이트맵 파일에 포함된 데이터는 모두 서로 그리고 현재 씬 상태에 긴밀하게 결합되어 있습니다. 즉, 원본 메시 파일, 라이트매퍼 설정 또는 기타 씬 변경 사항을 수정하면 업데이트된 결과를 보려면 새로운 베이크가 실행되어야 합니다.
참고: Qt 6.4부터 라이트맵 베이킹은 초기 기술 프리뷰 상태입니다. 향후 릴리스에서 기능, 품질 및 API가 변경될 수 있습니다.
라이트매퍼 객체는 다음과 함께 작동합니다:
- Model::bakedLightmap 및 관련 BakedLightmap,
- Model::usedInBakedLighting 및 Model::texelsPerUnit
- Light::bakeMode,
- 엔진에 내장된 라이트맵 베이커와 함께 작동합니다.
라이트맵과 전역 조명 및 Qt Quick 3D - 베이크된 라이트맵 예시도 참고하세요.
프로퍼티 문서
adaptiveBiasEnabled : bool |
표면 노멀을 기반으로 추가적인 동적 바이어스를 적용할 수 있습니다.
기본값은 true입니다.
bias : real |
베이킹 중에 사용되는 레이캐스팅 바이어스입니다. 아티팩트가 발생하는 경우, 예를 들어 원치 않는 섀도잉 패턴을 줄이기 위해 이 값을 조정합니다. 대부분의 경우 기본값으로 충분합니다.
기본값은 0.005입니다.
bounces : int |
샘플당 최대 간접광 바운스 수입니다. 이 값은 최소 1이어야 하며, 그렇지 않으면 간접광 계산에 아무런 의미가 없습니다.
기본값은 3입니다.
이 값은 라이트맵 베이킹 중 결과 라이트맵의 성능과 품질 모두에 큰 영향을 미칩니다.
denoiseSigma : real |
이 프로퍼티는 비로컬 수단 기반 디노이저의 시그마 값을 정의합니다. 즉, 이 값이 높을수록 블러링이 더 강해집니다. 노이즈를 제거하면서도 시각적 특징을 잃지 않으려면 이 값을 가능한 한 낮게 유지하세요.
이 속성은 Qt 6.10에 도입되었습니다.
indirectLightEnabled : bool |
일반적으로 이 값을 변경할 필요는 없습니다. 기본값은 참입니다. 이 프로퍼티를 false로 설정하면 라이트맵 베이킹 중 간접광 계산이 비활성화됩니다. 따라서 결과 텍스처 맵에는 직접 광원 정보만 포함됩니다. 런타임에 엔진은 직접 조명과 간접 조명을 모두 포함하는 것으로 가정하여 맵을 정상적으로 계속 사용합니다.
indirectLightFactor : real |
간접광 양에 대한 승수입니다. 1 값(즉, 간접광량 계산에 영향을 주지 않음)이 가장 정확한 렌더링 결과를 제공하지만, 약간 더 높은 값을 사용하면 라이트맵을 사용할 때 더 적은 수의 바운스에도 불구하고 더 나은 결과를 얻을 수 있습니다.
기본값은 1입니다.
indirectLightWorkgroupSize : int |
샘플 워크그룹의 크기입니다. 이러한 워크그룹은 병렬로 실행하려고 시도됩니다. (정확한 동작은 CPU 코어 수와 QThreadPool 구성에 따라 달라집니다.)
기본값은 32입니다. 기본 샘플 수가 256인 경우 모델당 8개 그룹을 병렬로 실행하려고 시도한다는 의미입니다.
opacityThreshold : real |
레이 트레이싱을 통해 조명을 계산할 때 레이 - 메시 교차점에서 오브젝트가 무시되는 불투명도(알파) 임계값입니다. 불투명도가 임계값 아래로 떨어지면 모델(서브메시)이 조명을 가리지 않으므로 그림자도 생성되지 않습니다.
기본값은 0.5입니다.
참고: 라이트매퍼는 material's opacity, baseColor alpha 및 base color map's alpha 을 고려합니다. 불투명도 맵이나 알파 컷오프 설정과 같은 반투명도의 다른 소스는 라이트맵 베이킹 프로세스 중에 무시됩니다.
samples : int |
라이트맵 텍셀당 샘플 수입니다.
기본값은 256입니다.
이 값은 라이트맵 베이킹 중 결과 라이트맵의 성능과 품질에 큰 영향을 미칩니다.
source : url |
런타임에 라이트맵 파일을 로드하기 위한 URL과 베이킹 성공 시 출력 파일 경로입니다.
베이킹 시 출력 경로는 URL에서 추론되며 쓰기 가능한 일반 파일 위치로 확인해야 합니다. 기본적으로 이 값은 file:lightmaps.bin
이며, 이는 파일이 현재 작업 디렉터리에 저장되고 베이킹에 성공하면 최종 결과가 즉시 표시됨을 의미합니다.
출력 파일과 같은 디렉터리에 최종 라이트맵 파일을 만들기 전에 사용되는 추가 라이트맵 데이터가 포함된 .raw
파일이 생성됩니다. 따라서 .raw
파일이 있다고 가정하면 실행 사이에 전체 장면을 베이크할 필요 없이 노이즈 제거만 수행할 수 있습니다.
라이트맵을 QRC 리소스로 읽으려면 일반적인 방법으로 임베드하고 URL에 :/
또는 qrc:/
접두사를 추가해야 합니다. 다음 예제는 항상 리소스를 통해 임베드된 라이트맵 파일을 로드하려고 시도합니다. 먼저 값을 쓰기 가능한 위치로 설정하고 베이크합니다. 그런 다음 생성된 파일을 소스 디렉토리에 복사합니다. 그런 다음 애플리케이션의 CMake 프로젝트에 파일을 /lightmaps
접두사 아래에 리소스로 나열하여 빌드 프로세스가 파일을 선택해 실행 파일에 포함하도록 합니다.
Lightmapper { source: "qrc:/lightmaps/lightmaps.bin" // will attempt to load from :/lightmaps/lightmaps.bin at runtime // and write a file to lightmaps/lightmaps.bin when baking. }
이 속성은 Qt 6.10에 도입되었습니다.
texelsPerUnit : real |
이 프로퍼티는 텍셀 스케일로 단위를 정의합니다. 즉, texelsPerUnit이 32
인 1x1
쿼드는 라이트맵에서 약 32x32
텍셀을 차지합니다.
이 프로퍼티는 Qt 6.10에 도입되었습니다.
Model::texelsPerUnit 를참조하십시오 .
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.