이 페이지에서

PrincipledMaterial QML Type

메탈/거칠기 워크플로를 사용하여 3D 아이템의 재질을 정의할 수 있습니다. 더 보기...

Import Statement: import QtQuick3D
Inherits:

Material

속성

상세 설명

씬에서 모델을 렌더링하기 전에, 메시에 적용될 셰이딩 방식을 정의하는 머티리얼이 적어도 하나 이상 적용되어 있어야 합니다. PrincipledMaterial은 최소한의 매개변수 세트로 사용하기 쉬운 PBR 메탈/러프니스 머티리얼입니다. 매개변수가 적은 것 외에도, 모든 입력 값은 0과 1 사이로 엄격하게 정규화되어 있으며 적절한 기본값이 설정되어 있습니다. 즉, 값을 변경하지 않아도 이 머티리얼을 사용하여 모델에 셰이딩을 적용할 수 있습니다. PrincipledMaterial의 다양한 속성이 모델의 셰이딩에 어떤 영향을 미치는지에 대한 소개는 Principled Material 예제를 참조하십시오.

메탈/러프니스 워크플로

프린시플드 머티리얼은 소위 메탈/러프니스(metal/roughness) 머티리얼로, 본질적으로 이 머티리얼의 주요 특성은 메탈니스( metallness), 러프니스( roughness), 그리고 표면 거칠기( base color ) 속성을 통해 제어됩니다.

메탈니스

실제 세계의 머티리얼은 금속과 유전체(비금속)라는 두 가지 주요 범주로 나뉩니다. Principled 머티리얼에서 머티리얼이 속하는 범주는 ‘ metalness ’ 값에 따라 결정됩니다. metalness 값을 0으로 설정하면 해당 재료는 유전체로 간주되며, 0보다 큰 모든 값은 금속으로 간주됩니다. 실제로 금속의 metalness 값은 1이지만, 0과 1 사이의 값도 가능하며, 일반적으로 반사율이 낮은 금속에 사용됩니다. 예를 들어, 재질에 부식이나 이와 유사한 효과를 렌더링하려면, 출력 속성이 유전체 재질에 더 가깝게 나타나도록 재질의 ‘ metalness ’ 값을 낮춰야 합니다. ‘ metalness ’ 값은 재질의 반사율에 영향을 미치므로 ‘metalness’를 사용하여 광택을 조정하고 싶은 유혹이 들 수 있지만, 먼저 어떤 유형의 재질을 표현하고자 하는지 고려해야 합니다. 유전율( metalness ) 값을 높여 유전체 물질에 더 광택 있는 외관을 부여하면, 유전체 물질에 대해 정확하지 않은 특성이 도입되므로, 대신 예를 들어 표면 거칠기( roughness ) 값을 조정하는 것이 더 적절한지 고려해 보십시오.

거칠기

재료의 거칠기( roughness )는 물체의 표면 상태를 나타냅니다. 표면 거칠기( roughness ) 값이 낮으면 물체의 표면이 매끄럽다는 것을 의미하며, 따라서 표면 거칠기( roughness ) 값이 높은 재료보다 반사율이 더 높습니다.

기본 색상

금속/거칠기 재질의 ` base color `에는 확산(diffuse) 데이터와 반사(specular) 데이터가 모두 포함되어 있으며, 기본 색상이 어느 쪽으로 해석될지는 주로 ` metalness ` 값에 의해 결정됩니다. 예를 들어, 메탈니스( base color ) 값이 1인 머티리얼의 경우, 베이스 컬러 대부분이 스페큘러 컬러로 해석되는 반면, 디퓨즈 컬러는 검은색을 띠게 됩니다. 메탈니스 값이 0인 머티리얼의 경우 그 반대의 현상이 발생합니다. 물론 이는 다소 단순화된 설명이지만, 메탈니스와 글로시니스( metalness ) 값이 어떻게 상호작용하는지에 대한 대략적인 이해를 돕습니다. 스펙큘러/광택(Specular/Glossiness) 워크플로우에 더 익숙한 분들께서는 여기서 주목할 만한 뚜렷한 차이점이 있다는 점을 알아두셔야 합니다. 즉, 스펙큘러/광택 워크플로우( material)에서는 확산 색상과 스펙큘러 색상이 별도의 입력에서 비롯되기 때문에, 두 머티리얼의 색상 데이터는 직접적으로 호환되지 않습니다.

속성 설명서

alphaCutoff : real

alphaCutoff 속성은 Mask alphaMode 를 사용할 때 임계값을 지정하는 데 사용할 수 있습니다. 알파 값이 임계값보다 낮은 프래그먼트는 완전히 투명하게 렌더링됩니다(모든 색상 채널에 대해0.0 ). 알파 값이 임계값과 같거나 더 큰 경우, 색상에는 어떠한 영향도 미치지 않습니다.

기본값은 0.5입니다.

alphaMode도 참조하십시오 .

alphaMode : enumeration

이 속성은 baseColor 의 알파 색상 값과 base color map 의 알파 채널이 어떻게 사용되는지를 지정합니다.

참고: 알파 컷오프테스트에서는 기본 색상의 알파 값만 고려합니다. opacity 및 Node::opacity 는 이 테스트에서 고려되지 않습니다.

참고: 베이스 컬러 맵을 샘플링할때 , 유효 알파 값은 샘플링된 알파 값에 baseColor 의 알파 값을 곱한 값입니다.

상수설명
PrincipledMaterial.Default테스트가 적용되지 않으며, 유효 알파 값은 있는 그대로 전달됩니다. baseColor 또는 baseColorMap 알파가 1.0 보다 작다고 해서 자동으로 알파 블렌딩이 적용되는 것은 아니며, 다른 관련 속성(예: 1보다 작은 불투명도, 불투명도 맵의 존재, 기본값이 아닌 blendMode 값)이 해당 오브젝트를 반투명하게 처리하도록 트리거하지 않는 한, 해당 머티리얼이 적용된 오브젝트는 여전히 불투명하게 처리될 수 있습니다. 다른 오브젝트나 머티리얼 속성과 관계없이 알파 블렌딩이 확실히 이루어지도록 하려면, 대신 ` Blend `를 설정하십시오.
PrincipledMaterial.Blend컷오프 테스트는 적용되지 않지만, 알파 블렌딩이 반드시 발생하도록 보장합니다. 따라서 이 머티리얼을 적용한 오브젝트는 렌더러에 의해 절대 불투명하게 처리되지 않습니다.
PrincipledMaterial.Opaque컷오프 테스트가 적용되지 않으며, 렌더링된 오브젝트는 완전히 불투명한 것으로 간주됩니다. 즉, 버텍스 컬러, 베이스 컬러 및 베이스 컬러 맵의 알파 값은 무시되고 대신 1.0 값이 대입됩니다. 이 모드는 알파 블렌딩이 발생하지 않는다고 보장하지 않습니다. 관련 속성(예: 1보다 작은 불투명도, 불투명도 맵, 또는 기본값이 아닌 blendMode)이 이를 나타내는 경우, 해당 오브젝트는 Default 알파 모드와 마찬가지로 렌더링 파이프라인에 의해 여전히 반투명하게 처리됩니다.
PrincipledMaterial.MaskalphaCutoff 을 기반으로 한 테스트가 적용됩니다. 유효 알파 값이 alphaCutoff 보다 낮아지면, 프래그먼트는 완전히 투명한 상태로 변경되어 버려집니다(버려짐에 따른 모든 결과: 해당 프래그먼트에 대한 깊이 버퍼가 기록되지 않음). 그렇지 않은 경우 알파 값이 1.0으로 변경되어 프래그먼트가 완전히 불투명해집니다. 알파 블렌딩과 관련하여, 이 모드의 동작은 커트오프 테스트 결과와 무관하게 Opaque 와 동일합니다. 이는 glTF 2 사양의 알파 커버리지 구현 참고 사항이 충족됨을 의미합니다. 알파 컷오프 테스트가 적용된 오브젝트도 기본적으로 불투명 오브젝트처럼 동작하므로 그림자를 드리울 수 있습니다. 단, 관련 속성(예: 1보다 작은 불투명도, 불투명도 맵, 또는 기본값이 아닌 blendMode)이 달리 명시하는 경우(이 경우 그림자를 드리울 수 없음)는 예외입니다.

alphaCutoff 및 blendMode도 참조하십시오 .

attenuationColor : color

이 속성은 백색광이 감쇠 거리에 도달했을 때 흡수로 인해 변하는 색상을 정의합니다. 기본값은 Qt.White

attenuationDistance : real

이 속성은 매질 내의 빛이 입자와 상호작용하기 전까지 이동하는 평균 거리로 정의되는 매질의 밀도를 나타냅니다. 값은 월드 공간 단위로 표시됩니다. 기본값은 +infinity 입니다.

baseColor : color

이 속성은 머티리얼의 기본 색상을 설정합니다. 지정된 머티리얼 유형(금속 또는 유전체)에 따라 확산 채널과 반사 채널이 적절하게 설정됩니다. 예를 들어, 유전체 소재의 경우 확산 색상은 기본 색상과 동일하지만, 스페큘러 색상은 스페큘러 양에 따라 밝은 색상을 띱니다. 금속의 경우 확산 및 스페큘러 채널은 기본 색상을 혼합하여 생성되며, 확산 채널은 어두운 색상을, 스페큘러 채널은 기본 색상에 가까운 색상을 띱니다.

baseColorMap 및 alphaMode도 참조하십시오 .

baseColorChannel : enumeration [since 6.8]

이 속성은 baseColorMap 에서 ‘ baseColor ’ 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 단일 텍스처 채널을 색상으로 사용하려면 ‘ baseColorSingleChannelEnabled ’을 활성화해야 합니다. 기본값은 ‘ Material.R ’입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처의 A 채널에서 값을 읽습니다.

이 속성은 Qt 6.8에서 도입되었습니다.

baseColorMap : Texture

이 속성은 머티리얼의 기본 색상을 설정하는 데 사용되는 텍스처를 정의합니다.

baseColor 및 alphaMode도 참조하십시오 .

baseColorSingleChannelEnabled : bool [since 6.8]

이 속성이 활성화되면, 머티리얼은 ‘ baseColorMap ’의 ‘ baseColorChannel ’에서 반환된 단일 값을 RGB 값으로 사용하고, 알파 값으로는 1.0을 사용합니다. 기본값은 false입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

blendMode : enumeration

이 속성은 렌더링된 모델의 색상이 그 뒤에 있는 색상과 어떻게 혼합되는지를 결정합니다.

상수설명
PrincipledMaterial.SourceOver기본 블렌드 모드. 불투명한 오브젝트는 뒤에 있는 오브젝트를 가립니다. 이 기본 모드는 이 머티리얼을 사용하는 모델에 대해 렌더링 파이프라인에서 알파 블렌딩을 보장하는 것은 아니며, 다음과 같은 여러 요인에 따라 결정됩니다: 오브젝트와 머티리얼의 총 불투명도가 1.0 이고, 머티리얼에 불투명도 맵이 없으며, alphaMode 가 알파 블렌딩을 강제하는 값으로 설정되어 있지 않은 경우, 모델은 불투명하게 처리됩니다. 즉, 블렌딩이 비활성화된 상태에서 다른 불투명 오브젝트와 함께 뎁스 테스트 및 뎁스 쓰기가 활성화된 상태로 렌더링됩니다. 그렇지 않은 경우, 모델은 반투명 객체로 취급되며, 불투명 객체들 뒤에 다른 반투명 객체들과 함께 카메라로부터의 중심 거리를 기준으로 뒤에서 앞으로 순서대로 렌더링되며, 알파 블렌딩이 활성화됩니다.
PrincipledMaterial.Screen색상은 반전 곱셈을 사용하여 블렌딩되며, 더 밝은 결과가 생성됩니다. 이 블렌드 모드는 순서에 영향을 받지 않습니다. 반투명 오브젝트를 사용 중이고 면이나 모델의 정렬 방식에 따라 '팝핑' 현상이 발생하는 경우, 스크린 블렌딩을 사용하면 팝핑 현상 없이 결과를 얻을 수 있습니다.
PrincipledMaterial.Multiply색상은 곱하기(Multiply)를 사용하여 블렌딩되며, 더 어두운 결과가 생성됩니다. 이 블렌딩 모드 역시 순서와 무관합니다.

alphaMode 및 Qt Quick 3D 아키텍처도 참조하십시오 .

clearcoatAmount : real

이 속성은 클리어코트 층의 농도를 정의합니다.

기본값은 0.0

clearcoatChannel : enumeration

이 속성은 clearcoatMap 에서 클리어코트 양 값을 읽어오는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R 입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

clearcoatFresnelBias : real

이 속성은 사선 각도에서 보이는 반사 효과를 유지하면서 정면 반사(표면을 정면으로 바라볼 때)를 강조합니다. 이 소재에 변화를 주려면 ‘ clearcoatFresnelScaleBiasEnabled ’를 활성화해야 합니다. 기본값은 ‘ 0.0 ’입니다.

clearcoatFresnelPower : real

이 속성은 사선 각도에서 보이는 반사는 유지하면서 정면 반사(표면을 정면으로 바라볼 때)를 줄여줍니다. 기본값은 5.0 입니다.

clearcoatFresnelScale : real

이 속성은 표면을 정면에서 바라볼 때 나타나는 정면 반사광의 강도를 조절하는 동시에, 사선 각도에서 보이는 반사광은 그대로 유지합니다. 이 재질에 변경 사항을 적용하려면 ‘ clearcoatFresnelScaleBiasEnabled ’를 활성화해야 합니다. 기본값은 ‘ 1.0 ’입니다.

clearcoatFresnelScaleBiasEnabled : real

이 값을 true로 설정하면 머티리얼이 ‘클리어코트 프레넬 스케일(Clearcoat Fresnel Scale)’과 ‘클리어코트 프레넬 바이어스(Clearcoat Fresnel Bias)’를 반영합니다. 기본값은 ‘ false ’입니다.

clearcoatMap : Texture

이 속성은 클리어코트 층의 농도를 결정하는 데 사용되는 텍스처를 정의합니다. ‘clearcoatAmount ’의 값에는 이 텍스처에서 읽은 값이 곱해집니다.

clearcoatNormalMap : Texture

이 속성은 클리어코트 레이어에 적용될 노멀 매핑을 결정하는 데 사용되는 텍스처를 정의합니다.

clearcoatNormalStrength : real

이 속성은 ‘ clearcoatNormalMap ’에 대한 시뮬레이션 변위량을 제어합니다.

clearcoatRoughnessAmount : real

이 속성은 클리어코트 층의 거칠기를 정의합니다. 기본값은 0.0

clearcoatRoughnessChannel : enumeration

이 속성은 ‘ clearcoatRoughnessMap ’에서 클리어코트의 거칠기 정도를 읽어오는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 ‘ Material.G ’입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

clearcoatRoughnessMap : Texture

이 속성은 클리어코트 층의 거칠기를 결정하는 데 사용되는 텍스처를 정의합니다. ‘clearcoatRoughnessAmount ’의 값에는 이 텍스처에서 읽은 값이 곱해집니다.

emissiveChannel : enumeration [since 6.8]

이 속성은 ` emissiveMap`에서 발광 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 단일 텍스처 채널을 색상으로 사용하려면 ` emissiveSingleChannelEnabled `을 활성화해야 합니다. 기본값은 ` Material.R`입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

이 속성은 Qt 6.8에서 도입되었습니다.

emissiveFactor : vector3d

이 속성은 해당 머티리얼의 자체 발광 색상을 결정합니다. 발광 맵이 설정된 경우, x, y, z 성분은 각각 텍스처의 R, G, B 채널에 대한 가중치(배율)로 사용됩니다. 기본값은 (0, 0, 0)이며, 이는 발광 효과가 전혀 적용되지 않음을 의미합니다.

참고: lightingMode를 DefaultMaterial.NoLighting으로설정하면 발광 계수가 씬에 영향을 미치지 않습니다.

emissiveMap : Texture

이 속성은 발광 색상의 명도를 지정하는 데 사용될 RGB 텍스처를 설정합니다.

emissiveSingleChannelEnabled : bool [since 6.8]

이 속성이 활성화되면, 머티리얼은 ‘ emissiveMap ’의 ‘ emissiveChannel ’에서 지정된 단일 값을 RGB 값으로 사용합니다. 기본값은 false입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

fresnelBias : real

이 속성은 사선 각도에서 보이는 반사를 유지하면서 정면 반사(표면을 정면으로 바라볼 때)를 강조합니다. 이 재질에 변경 사항을 적용하려면 ‘ fresnelScaleBiasEnabled ’을 활성화해야 합니다. 기본값은 ‘ 0.0 ’입니다.

fresnelPower : real

이 속성은 직각 반사(표면을 정면으로 바라볼 때)를 줄이면서도, 스치는 각도에서 보이는 반사는 유지합니다. 기본값은 5.0 입니다.

fresnelScale : real

이 속성은 표면을 정면에서 바라볼 때의 정면 반사광을 조절하는 동시에, 사선 각도에서 보이는 반사광은 그대로 유지합니다. 이 재질에 변경 사항을 적용하려면 ‘ fresnelScaleBiasEnabled ’를 활성화해야 합니다. 기본값은 ‘ 1.0 ’입니다.

fresnelScaleBiasEnabled : real

이 값을 true로 설정하면 머티리얼이 프레넬 스케일(Fresnel Scale)과 프레넬 바이어스(Fresnel Bias)를 반영합니다. 기본값은 false 입니다.

heightAmount : real

이 속성에는 ‘ heightMap ’ 텍스처의 값을 조정하는 데 사용되는 계수가 포함되어 있습니다. 값은 0.0에서 1.0 사이여야 합니다. 기본값은 0.0이며, 이는 높이 맵이 설정되어 있더라도 높이 변위가 비활성화된다는 것을 의미합니다.

heightChannel : enumeration

이 속성은 heightMap 에서 높이 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R 입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

heightMap : Texture

이 속성은 패럴랙스 매핑을 통해 렌더링될 때 텍스처가 얼마나 이동될지 결정하는 데 사용되는 텍스처를 정의합니다. 값은 0.0에서 1.0 사이의 선형 값이어야 하며, 0.0은 이동이 없음을, 1.0은 최대 이동을 의미합니다.

indexOfRefraction : real

이 속성은 물질의 굴절률을 정의합니다. 1.5 의 기본값은 플라스틱이나 유리와 같은 물질에 대해 이상적인 값이지만, 물, 아스팔트, 사파이어, 다이아몬드와 같은 다른 물질의 경우 더 사실적으로 보이도록 값을 조정해야 합니다. 사실적인 물질을 표현하려면 indexOfRefraction은 일반적으로 1.0 과 3.0

일반적인 물질의 굴절률 예시는 다음과 같습니다:

물질굴절률
공기1.0
물1.33
유리1.55
사파이어1.76
다이아몬드2.42

참고: 현재 알려진어떤 물질도 3.0 보다 훨씬 더 높은 ior을 가지지 않습니다.

invertOpacityMapValue : real [since 6.8]

이 속성은 ` opacityMap`의 불투명도 값을 반전시킵니다. 기본값은 ` false`입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

lighting : enumeration

이 속성은 이 머티리얼을 생성할 때 어떤 조명 기법을 사용할지 정의합니다.

기본값은 PrincipledMaterial.FragmentLighting

PrincipledMaterial.FragmentLighting 를 사용할 경우, 렌더링되는 각 픽셀에 대해 확산 및 스페큘러 조명이 계산됩니다. 특정 효과(프레넬이나 노멀 맵 등)는 PrincipledMaterial.FragmentLighting 가 활성화되어야 작동합니다.

PrincipledMaterial.NoLighting 를 사용할 경우 조명은 계산되지 않습니다. 이 모드는 (예상대로) 매우 빠르며, 조명으로 음영 처리할 필요가 없는 이미지 맵을 사용할 때 매우 효과적입니다. baseColor 값, 알파 값 및 버텍스 컬러를 제외한 다른 모든 셰이딩 속성은 무시됩니다.

상수값
PrincipledMaterial.NoLighting
PrincipledMaterial.FragmentLighting

lineWidth : real

이 속성은 지오메트리가 ‘선’ 또는 ‘선 스트립’ 프라이미티브 유형을 사용할 때 렌더링되는 선의 너비를 결정합니다. 기본값은 1.0입니다. 이 속성은 삼각형 메쉬와 같은 다른 유형의 지오메트리를 렌더링할 때는 적용되지 않습니다.

경고: 기본 그래픽 API에 따라 1 이외의선 너비는 런타임 시 지원되지 않을 수 있습니다. 이 경우, 선 너비 변경 요청은 무시됩니다. 예를 들어, Direct3D, Metal, 코어 프로파일 컨텍스트를 사용하는 OpenGL은 넓은 선을 지원하지 않을 것으로 예상됩니다.

maxHeightMapSamples : int

이 속성은 ‘ heightMap ’을 사용하여 패럴랙스 오클루전 매핑을 수행하는 데 사용되는 샘플의 최대 개수를 정의합니다. maxHeightMapSamples 값은 표면을 평행하게 바라볼 때 ‘ heightMap ’의 샘플 중 사용되는 개수를 나타냅니다. 기본값은 32입니다.

각 프래그먼트에 실제로 사용되는 샘플 수는 렌더링되는 표면에 대한 카메라의 각도에 따라 ` minHeightMapSamples `과 `maxHeightMapSamples` 사이에서 결정됩니다.

참고: 이 값은 원치 않는 아티팩트가 나타나는 경우에만 heightMap 을 사용하는 머티리얼을 미세 조정하기 위해 조정해야 합니다.

metalness : real

‘metalness’ 속성은 재료의 금속성을 정의합니다. 이 값은 정규화되어 있으며, 0.0은 해당 재료가 유전체 (비금속)임을, 1.0은 해당 재료가 금속임을 의미합니다.

참고: 원칙적으로 재료는 금속성이 0인 유전체이거나, 금속성이 1인 금속입니다. 0과 1 사이의 금속성 값도 허용되며, 이 경우 서로 다른 모델이 혼합된 형태의 재료가 생성됩니다.

범위는 [0.0, 1.0]입니다. 기본값은 0입니다.

metalnessChannel : enumeration

이 속성은 ‘ metalnessMap ’에서 메탈니스 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 ‘ Material.B ’입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

metalnessMap : Texture

이 속성은 머티리얼의 각 부분에 적용될 메탈니스 정도를 설정하는 데 사용될 텍스처를 지정합니다.

minHeightMapSamples : int

이 속성은 높이 맵( heightMap)을 사용하여 패럴랙스 오클루전 매핑(Parallex Occlusion Mapping)을 수행하는 데 사용되는 최소 샘플 수를 정의합니다. minHeightMapSamples 값은 표면을 정면으로 바라볼 때(카메라 시선이 프래그먼트에 수직일 때) 높이 맵( heightMap )의 샘플 중 사용되는 수를 나타냅니다. 기본값은 8입니다.

각 프래그먼트에 실제로 사용되는 샘플 수는 렌더링되는 표면에 대한 카메라의 각도에 따라 minHeightMapSamples와 maxHeightMapSamples 사이의 값이 됩니다.

참고: 이 값은 원치 않는 아티팩트가 나타나는 경우에만, ` heightMap `을 사용하는 머티리얼을 미세 조정하기 위해 조정해야 합니다.

normalMap : Texture

이 속성은 머티리얼 표면 전체에 걸쳐 미세한 지오메트리 변위를 시뮬레이션하는 데 사용되는 RGB 이미지를 정의합니다. RGB 채널은 XYZ 법선 편차를 나타냅니다.

참고: 노멀 맵은 모델의 실루엣에는 영향을 미치지 않습니다.

normalStrength : real

이 속성은 ‘ normalMap ’에 대한 시뮬레이션 변위량을 제어합니다.

occlusionAmount : real

이 속성에는 ‘ occlusionMap ’ 텍스처의 값을 조정하는 데 사용되는 배율이 포함됩니다. 값은 0.0에서 1.0 사이여야 합니다. 기본값은 1.0입니다.

occlusionChannel : enumeration

이 속성은 occlusionMap 에서 오클루전 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R 입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

occlusionMap : Texture

이 속성은 머티리얼의 각 영역이 얼마나 많은 빛을 받아야 하는지를 결정하는 데 사용되는 텍스처를 정의합니다. 값은 0.0에서 1.0 사이의 선형 값이어야 하며, 0.0은 조명이 전혀 없음을, 1.0은 조명 효과가 변경되지 않음을 의미합니다.

occlusionAmount도 참조하십시오 .

opacity : real

이 속성은 모델과는 별도로, 오직 이 머티리얼의 불투명도만 낮춥니다.

opacityChannel : enumeration

이 속성은 opacityMap 에서 불투명도 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.A 입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

opacityMap : Texture

이 속성은 머티리얼의 각 부분에 따라 불투명도를 다르게 제어하는 데 사용되는 텍스처를 정의합니다.

pointSize : real

이 속성은 지오메트리가 ‘점(points)’ 프리미티브 유형을 사용할 때 렌더링되는 점의 크기를 결정합니다. 기본값은 1.0입니다. 삼각형 메쉬와 같은 다른 유형의 지오메트리를 렌더링할 때는 이 속성이 적용되지 않습니다.

경고: 기본 그래픽 API에 따라 실행 시 1 이외의점 크기가 지원되지 않을 수 있습니다. 예를 들어, Direct 3D에서는 1 이외의 크기를 설정해도 아무런 효과가 없습니다.

roughness : real

이 속성은 빛에 의해 생성되는 스페큘러 하이라이트의 크기와 전반적인 반사 이미지의 선명도를 제어합니다. 값이 클수록 표면의 거칠기가 증가하여 스페큘러 하이라이트가 부드러워지고 반사 이미지가 흐려집니다. 범위는 [0.0, 1.0]입니다. 기본값은 0입니다.

roughnessChannel : enumeration

이 속성은 roughnessMap 에서 거칠기 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.G 입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

roughnessMap : Texture

이 속성은 머티리얼의 스페큘러 거칠기를 제어하는 텍스처를 정의합니다.

specularAmount : real

이 속성은 스페큘러 효과(하이라이트 및 반사)의 강도를 조절합니다.

범위는 [0.0, 1.0]입니다. 기본값은 1.0 입니다.

참고: 비유전체(금속)의 경우 이 속성은 아무런 영향을 미치지 않습니다.

참고: 이 속성은 specularReflectionMap 에는 영향을 미치지 않지만, 씬의 SceneEnvironment::lightProbe 에서 발생하는 반사량에는 영향을 미칩니다.

specularChannel : enumeration [since 6.8]

이 속성은 ‘ specularMap ’에서 스페큘러 색상 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 단일 텍스처 채널을 색상으로 사용하려면 ‘ specularSingleChannelEnabled ’를 활성화해야 합니다. 기본값은 ‘ Material.R ’입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

이 속성은 Qt 6.8에서 도입되었습니다.

specularMap : Texture

이 속성은 소재 표면 전체에 걸쳐 반사광의 강도와 색상을 조절하는 RGB 텍스처를 정의합니다. 이 값들은 반사광 맵( specularAmount)에 곱해집니다.

참고: 재질이 유전체(dielectric)가 아닌 경우, 스페큘러맵은 무시됩니다.

specularReflectionMap : Texture

이 속성은 머티리얼의 스페큘러 하이라이트에 사용되는 텍스처를 설정합니다.

이는 주로 환경 매핑을 수행하는 데 사용됩니다. 모델이 회전하면 맵이 마치 주변 환경에서 반사되는 것처럼 보입니다. 이 기능이 예상대로 작동하려면 텍스처의 ‘ mappingMode ’를 ‘Texture.Environment’로 설정해야 합니다. 스페큘러 반사 맵은 비교적 적은 리소스로 고품질의 시각 효과를 쉽게 구현할 수 있는 방법입니다.

참고: ` light probe `을 ` SceneEnvironment`에연결하여 이미지 기반 조명(image-based lighting)을 활용하면 유사한 환경 반사 효과를 얻을 수 있습니다. 그러나 라이트 프로브(light probes)는 개념적으로 다르며, 성능 측면에서 잠재적으로 더 많은 자원을 소모하는 솔루션입니다. 각 접근 방식에는 고유한 용도가 있으므로, 어떤 방식을 사용할지는 사례별로 결정해야 합니다. 속성에 설정된 텍스처의 경우, `specularReflectionMap`이 제한이 없고 ` sourceItem`를 통해 ` Qt Quick ` 하위 씬에서 데이터를 가져오는 텍스처를 포함한 모든 유형의 텍스처를 지원하기 때문에 유리합니다.

참고: 선명한 이미지는 머티리얼을 매우 광택 있게 보이게 하며, 이미지를 흐리게 할수록 머티리얼은 더 부드럽게 보입니다.

Texture::mappingMode도 참조하십시오 .

specularSingleChannelEnabled : bool [since 6.8]

이 속성이 활성화되면, 머티리얼은 ‘ specularMap ’의 ‘ specularChannel ’ 속성에 지정된 단일 값을 RGB 값으로 사용합니다. 기본값은 false입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

specularTint : real

이 속성은 베이스 컬러가 스페큘러 반사에 얼마나 기여하는지를 정의합니다.

참고: 이 속성은 유전체 재료에만 적용됩니다.

thicknessChannel : enumeration

이 속성은 ‘ transmissionMap ’에서 두께 값을 읽어오는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 ‘ Material.G ’입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처 A 채널에서 값을 읽습니다.

thicknessFactor : real

이 속성은 표면 아래에 있는 체적의 두께를 정의합니다. ` PrincipledMaterial`의 다른 많은 속성과는 달리, `thicknessFactor`에 정의된 값은 모델 좌표계에서 두께를 나타내는 0.0부터 +무한대까지의 값입니다. 0.0이라는 값은 재료가 얇은 벽을 가지고 있음을 의미합니다. 기본값은 0.0

thicknessMap : Texture

이 속성은 머티리얼 볼륨의 두께를 정의하는 데 사용되는 텍스처를 지정합니다. ‘ thicknessFactor ’의 값은 이 텍스처에서 읽은 값과 곱해집니다.

transmissionChannel : enumeration

이 속성은 transmissionMap 에서 투과율을 읽어오는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R 입니다.

상수설명
Material.R텍스처의 R 채널에서 값을 읽습니다.
Material.G텍스처 G 채널에서 값을 읽습니다.
Material.B텍스처 B 채널에서 값을 읽습니다.
Material.A텍스처의 A 채널에서 값을 읽습니다.

transmissionFactor : real

이 속성은 재료 표면을 통과하는 빛의 비율을 백분율로 나타냅니다. 기본값은 0.0

transmissionMap : Texture

이 속성은 표면을 통과하는 빛의 비율을 결정하는 데 사용되는 텍스처를 정의합니다. ‘ transmissionFactor ’의 값에는 이 텍스처에서 읽은 값이 곱해집니다.

vertexColorAlphaMask : enumeration [since 6.8]

이 속성은 지정된 마스크로 사용되는 정점 색상의 알파 채널을 정의합니다. 이 값은 플래그들의 비트 단위 조합입니다. 기본값은 PrincipledMaterial.NoMask 입니다.

상수설명
PrincipledMaterial.NoMask.
PrincipledMaterial.ClearcoatAmountMask.
PrincipledMaterial.ClearcoatRoughnessAmountMask.
PrincipledMaterial.ClearcoatNormalStrengthMask.
PrincipledMaterial.HeightAmountMask.
PrincipledMaterial.MetalnessMask.
PrincipledMaterial.RoughnessMask.
PrincipledMaterial.NormalStrengthMask.
PrincipledMaterial.OcclusionAmountMask.
PrincipledMaterial.SpecularAmountMask.
PrincipledMaterial.ThicknessFactorMask.
PrincipledMaterial.TransmissionFactorMask.

이 속성은 Qt 6.8에서 도입되었습니다.

vertexColorBlueMask : enumeration [since 6.8]

이 속성은 지정된 마스크로 사용되는 정점 색상의 파란색 채널을 정의합니다. 이 값은 플래그들의 비트 단위 조합입니다. 기본값은 PrincipledMaterial.NoMask 입니다.

상수설명
PrincipledMaterial.NoMask.
PrincipledMaterial.ClearcoatAmountMask.
PrincipledMaterial.ClearcoatRoughnessAmountMask.
PrincipledMaterial.ClearcoatNormalStrengthMask.
PrincipledMaterial.HeightAmountMask.
PrincipledMaterial.MetalnessMask.
PrincipledMaterial.RoughnessMask.
PrincipledMaterial.NormalStrengthMask.
PrincipledMaterial.OcclusionAmountMask.
PrincipledMaterial.SpecularAmountMask.
PrincipledMaterial.ThicknessFactorMask.
PrincipledMaterial.TransmissionFactorMask.

이 속성은 Qt 6.8에서 도입되었습니다.

vertexColorGreenMask : enumeration [since 6.8]

이 속성은 지정된 마스크로 사용되는 정점 색상의 녹색 채널을 정의합니다. 이 값은 플래그들의 비트 단위 조합입니다. 기본값은 PrincipledMaterial.NoMask 입니다.

상수설명
PrincipledMaterial.NoMask.
PrincipledMaterial.ClearcoatAmountMask.
PrincipledMaterial.ClearcoatRoughnessAmountMask.
PrincipledMaterial.ClearcoatNormalStrengthMask.
PrincipledMaterial.HeightAmountMask.
PrincipledMaterial.MetalnessMask.
PrincipledMaterial.RoughnessMask.
PrincipledMaterial.NormalStrengthMask.
PrincipledMaterial.OcclusionAmountMask.
PrincipledMaterial.SpecularAmountMask.
PrincipledMaterial.ThicknessFactorMask.
PrincipledMaterial.TransmissionFactorMask.

이 속성은 Qt 6.8에서 도입되었습니다.

vertexColorRedMask : enumeration [since 6.8]

이 속성은 지정된 마스크로 사용되는 정점 색상의 빨간색 채널을 정의합니다. 이 값은 플래그들의 비트 단위 조합입니다. 기본값은 PrincipledMaterial.NoMask 입니다.

상수설명
PrincipledMaterial.NoMask.
PrincipledMaterial.ClearcoatAmountMask.
PrincipledMaterial.ClearcoatRoughnessAmountMask.
PrincipledMaterial.ClearcoatNormalStrengthMask.
PrincipledMaterial.HeightAmountMask.
PrincipledMaterial.MetalnessMask.
PrincipledMaterial.RoughnessMask.
PrincipledMaterial.NormalStrengthMask.
PrincipledMaterial.OcclusionAmountMask.
PrincipledMaterial.SpecularAmountMask.
PrincipledMaterial.ThicknessFactorMask.
PrincipledMaterial.TransmissionFactorMask.

이 속성은 Qt 6.8에서 도입되었습니다.

vertexColorsEnabled : bool [since 6.5]

이 속성이 활성화되면 머티리얼은 메시의 버텍스 색상을 사용합니다. 이 색상들은 머티리얼에 지정된 다른 색상들과 곱해집니다. 기본값은 true입니다.

이 속성은 Qt 6.5에서 도입되었습니다.

vertexColorsMaskEnabled : bool [since 6.8]

이 속성이 활성화되면, 머티리얼은 메쉬의 버텍스 컬러를 RoughnessAmount, SpecularAmount 등과 같은 다양한 속성의 마스크로 사용합니다. 기본값은 false입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

© 2026 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.