PrincipledMaterial QML Type
금속/거칠기 워크플로를 사용하여 3D 아이템의 재질을 정의할 수 있습니다. 더 보기...
Import Statement: | import QtQuick3D |
Inherits: |
속성
- alphaCutoff : real
- alphaMode : enumeration
- attenuationColor : color
- attenuationDistance : real
- baseColor : color
- baseColorChannel : enumeration
(since 6.8)
- baseColorMap : Texture
- baseColorSingleChannelEnabled : bool
(since 6.8)
- blendMode : enumeration
- clearcoatAmount : real
- clearcoatChannel : enumeration
- clearcoatFresnelBias : real
- clearcoatFresnelPower : real
- clearcoatFresnelScale : real
- clearcoatFresnelScaleBiasEnabled : real
- clearcoatMap : Texture
- clearcoatNormalMap : Texture
- clearcoatNormalStrength : real
- clearcoatRoughnessAmount : real
- clearcoatRoughnessChannel : enumeration
- clearcoatRoughnessMap : Texture
- emissiveChannel : enumeration
(since 6.8)
- emissiveFactor : vector3d
- emissiveMap : Texture
- emissiveSingleChannelEnabled : bool
(since 6.8)
- fresnelBias : real
- fresnelPower : real
- fresnelScale : real
- fresnelScaleBiasEnabled : real
- heightAmount : real
- heightChannel : enumeration
- heightMap : Texture
- indexOfRefraction : real
- invertOpacityMapValue : real
(since 6.8)
- lighting : enumeration
- lineWidth : real
- maxHeightMapSamples : int
- metalness : real
- metalnessChannel : enumeration
- metalnessMap : Texture
- minHeightMapSamples : int
- normalMap : Texture
- normalStrength : real
- occlusionAmount : real
- occlusionChannel : enumeration
- occlusionMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughness : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularChannel : enumeration
(since 6.8)
- specularMap : Texture
- specularReflectionMap : Texture
- specularSingleChannelEnabled : bool
(since 6.8)
- specularTint : real
- thicknessChannel : enumeration
- thicknessFactor : real
- thicknessMap : Texture
- transmissionChannel : enumeration
- transmissionFactor : real
- transmissionMap : Texture
- vertexColorAlphaMask : enumeration
(since 6.8)
- vertexColorBlueMask : enumeration
(since 6.8)
- vertexColorGreenMask : enumeration
(since 6.8)
- vertexColorRedMask : enumeration
(since 6.8)
- vertexColorsEnabled : bool
(since 6.5)
- vertexColorsMaskEnabled : bool
(since 6.8)
상세 설명
모델을 씬에서 렌더링하려면 먼저 메시의 셰이딩 방법을 설명하는 머티리얼이 하나 이상 첨부되어 있어야 합니다. PrincipledMaterial은 최소한의 파라미터 세트로 사용하기 쉬운 머티리얼을 목표로 하는 PBR 금속/거칠기 머티리얼입니다. 파라미터가 거의 없을 뿐만 아니라 모든 입력 값은 0과 1 사이에서 엄격하게 정규화되고 합리적인 기본값이 있으므로 값을 변경하지 않고도 모델을 셰이더링하는 데 머티리얼을 사용할 수 있습니다. 원리 머티리얼의 다양한 속성이 모델 셰이딩 방식에 미치는 영향에 대한 소개는 원리 머티리얼 예제를 참조하십시오.
메탈/러프니스 워크플로
원칙적 머티리얼은 금속/거칠기 머티리얼로 알려져 있으며, 본질적으로 metallness, roughness, base color 프로퍼티를 통해 머티리얼의 주요 특성을 제어할 수 있습니다.
금속성
실제 소재는 금속과 유전체(비금속)의 두 가지 주요 카테고리로 분류됩니다. 원칙적인 머티리얼에서 머티리얼이 속한 카테고리는 metalness
값에 의해 결정됩니다. metalness
값을 0으로 설정하면 해당 재료가 유전체임을 의미하며, 0을 초과하는 모든 것은 금속으로 간주됩니다. 실제로 금속의 metalness
값은 1이지만 0에서 1 사이의 값도 가능하며, 일반적으로 반사율이 낮은 금속에 사용됩니다. 예를 들어 머티리얼에 부식 등을 렌더링하려면 머티리얼의 metalness
값을 낮추어 유전체 머티리얼과 더 유사한 출력 속성을 제공해야 합니다. metalness
값은 머티리얼의 반사율에 영향을 미치므로 금속성을 사용하여 광택을 조정하고 싶을 수 있지만 먼저 어떤 유형의 머티리얼을 표현할지 고려해야 합니다. 유전체 재질에 더 세련된 느낌을 주기 위해 metalness
값을 높이면 유전체 재질에 맞지 않는 특성이 나타나므로 예를 들어 roughness
값을 조정하는 것이 더 적절한지 고려하세요.
거칠기
머티리얼의 roughness
값은 오브젝트 표면의 상태를 설명합니다. roughness
값이 낮으면 물체의 표면이 매끄럽기 때문에 roughness
값이 높은 머티리얼보다 반사율이 높다는 의미입니다.
기본 색상
금속/거칠기 머티리얼의 base color 에는 확산 데이터와 정반사 데이터가 모두 포함되어 있으며, 기본 색상이 둘 중 하나로 해석되는 정도는 주로 metalness
값에 의해 결정됩니다. 예를 들어 금속성 값이 1인 머티리얼은 대부분의 기본 색상이 스페큘러 색상으로 해석되는 반면, 확산 색상은 검은 색조가 됩니다. 금속성 값이 0인 머티리얼의 경우 그 반대가 됩니다. 물론 이것은 약간 단순화되었지만 base color 및 metalness
값이 어떻게 상호 작용하는지 대략적으로 알 수 있습니다. 스페큘러/광택 워크플로에 더 익숙한 분들을 위해 여기서 주목할 만한 차이점이 있는데, 바로 두 머티리얼의 컬러 데이터는 직접 호환되지 않는다는 점입니다. material 에서 디퓨즈와 스페큘러 컬러는 별도의 입력에서 제공되므로, 두 머티리얼의 컬러 데이터는 직접 호환되지 않는다는 점입니다.
프로퍼티 문서
alphaCutoff : real |
알파 컷오프 프로퍼티는 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 alphaMode와 마찬가지로 렌더링 파이프라인에서 오브젝트가 여전히 반투명하게 처리됩니다. |
PrincipledMaterial.Mask | alphaCutoff 에 기반한 테스트가 적용됩니다. 유효 알파 값이 alphaCutoff 아래로 떨어지면 조각은 완전 투명으로 변경되고 폐기됩니다(폐기 시 모든 의미: 해당 조각에 대해 깊이 버퍼가 기록되지 않음). 그렇지 않으면 알파가 1.0으로 변경되어 조각이 완전히 불투명해집니다. 알파 블렌딩의 경우, 이 모드의 동작은 컷오프 테스트 결과에 관계없이 Opaque 와 동일합니다. 이는 glTF 2 사양의 알파 커버리지 구현 노트가 충족됨을 의미합니다. 알파 컷오프 테스트가 적용된 개체는 관련 속성(예: 불투명도 1 미만, 불투명도 맵 또는 기본값이 아닌 blendMode)에서 달리 암시하지 않는 한 기본적으로 불투명 개체처럼 동작하므로 그림자를 드리울 수도 있습니다(이 경우 그림자 드리우기가 불가능합니다). |
alphaCutoff 및 blendMode 을참조하세요 .
attenuationColor : color |
이 속성은 감쇠 거리에 도달했을 때 백색광이 흡수로 인해 변하는 색을 정의합니다. 기본값은 Qt.White
attenuationDistance : real |
이 프로퍼티는 빛이 파티클과 상호작용하기 전에 미디엄에서 이동하는 평균 거리로 주어진 미디엄의 밀도를 정의합니다. 이 값은 월드 스페이스에서 지정됩니다. 기본값은 +infinity
입니다.
baseColor : color |
이 프로퍼티는 머티리얼의 기본 색을 설정합니다. 지정된 머티리얼 유형(금속 또는 유전체)에 따라 디퓨즈 및 스페큘러 채널이 적절하게 설정됩니다. 예를 들어 유전체 재질은 기본 색상과 동일한 디퓨즈 색상을 가지며, 스페큘러 양에 따라 밝은 스페큘러 색상을 갖습니다. 금속의 경우 확산 채널과 스페큘러 채널이 기본 색상에서 혼합되어 어두운 확산 채널과 기본 색상에 가까운 스페큘러 채널을 갖습니다.
baseColorMap 및 alphaMode 을참조하십시오 .
baseColorChannel : enumeration |
이 프로퍼티는 baseColorMap 에서 baseColor 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 단일 텍스처 채널을 색상으로 사용하려면 baseColorSingleChannelEnabled 을 활성화해야 합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
이 프로퍼티는 Qt 6.8에 도입되었습니다.
baseColorSingleChannelEnabled : bool |
이 속성을 활성화하면 머티리얼은 baseColorMap 에서 baseColorChannel 의 단일 값을 RGB 값으로 사용하고 알파 값으로 1.0을 사용합니다. 기본값은 false입니다.
이 프로퍼티는 Qt 6.8에 도입되었습니다.
blendMode : enumeration |
이 프로퍼티는 렌더링된 모델의 색상이 그 뒤에 있는 색상과 블렌딩되는 방식을 결정합니다.
Constant | 설명 |
---|---|
PrincipledMaterial.SourceOver | 기본 블렌드 모드입니다. 불투명 오브젝트는 그 뒤에 있는 오브젝트를 가립니다. 이 기본 모드는 이 머티리얼을 사용하는 모델에 대해 렌더링 파이프라인에서 자체적으로 알파 블렌딩을 보장하지 않고 여러 요인에 따라 결정합니다. 오브젝트와 머티리얼의 총 불투명도가 1.0 , 머티리얼에 불투명도 맵이 없고 alphaMode 가 알파 블렌딩을 적용하는 값으로 설정되지 않은 경우 모델은 불투명으로 처리되며, 즉 블렌딩이 비활성화된 상태에서 다른 불투명 오브젝트와 함께 깊이 테스트 및 깊이 쓰기가 활성화된 상태로 렌더링됩니다. 그렇지 않으면 모델은 반투명으로 처리되어 불투명 오브젝트 다음에 다른 반투명 오브젝트와 함께 카메라에서 중심까지의 거리를 기준으로 뒤에서 앞 순서로 알파 블렌딩이 활성화된 상태로 렌더링됩니다. |
PrincipledMaterial.Screen | 색상은 역 곱셈을 사용하여 블렌딩되므로 더 밝은 결과를 얻을 수 있습니다. 이 블렌드 모드는 순서에 구애받지 않으며, 반투명 개체를 사용하고 얼굴이나 모델이 서로 다르게 정렬되어 '튀는' 현상이 발생하는 경우 화면 블렌딩을 사용하면 튀는 현상 없이 결과를 얻을 수 있는 한 가지 방법입니다. |
PrincipledMaterial.Multiply | 색상은 곱셈을 사용하여 혼합되어 더 어두운 결과를 생성합니다. 이 혼합 모드는 순서와 무관합니다. |
alphaMode 및 Qt Quick 3D 아키텍처를참조하세요 .
clearcoatAmount : real |
이 속성은 클리어코트 레이어의 강도를 정의합니다.
기본값은 0.0
clearcoatChannel : enumeration |
이 속성은 clearcoatMap 에서 클리어코트 양 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
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 프레넬 스케일 및 Clearcoat 프레넬 바이어스를 고려합니다. 기본값은 false
입니다.
clearcoatMap : Texture |
이 프로퍼티는 클리어코트 레이어의 강도를 결정하는 데 사용되는 텍스처를 정의합니다. clearcoatAmount 값에는 이 텍스처에서 읽은 값이 곱해집니다.
clearcoatNormalMap : Texture |
이 프로퍼티는 클리어코트 레이어에 적용되는 노멀 매핑을 결정하는 데 사용되는 텍스처를 정의합니다.
clearcoatNormalStrength : real |
이 프로퍼티는 clearcoatNormalMap 에 대한 시뮬레이션된 변위의 양을 제어합니다.
clearcoatRoughnessAmount : real |
이 프로퍼티는 클리어코트 레이어의 러프니스를 정의합니다. 기본값은 0.0
clearcoatRoughnessChannel : enumeration |
이 프로퍼티는 clearcoatRoughnessMap 에서 클리어코트 러프니스 양을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.G
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
clearcoatRoughnessMap : Texture |
이 프로퍼티는 클리어코트 레이어의 러프니스를 결정하는 데 사용되는 텍스처를 정의합니다. clearcoatRoughnessAmount 값에 이 텍스처에서 읽은 값을 곱합니다.
emissiveChannel : enumeration |
이 속성은 emissiveMap 에서 이미시브 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 단일 텍스처 채널을 색상으로 사용하려면 emissiveSingleChannelEnabled 을 활성화해야 합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티가 활성화되면 머티리얼은 emissiveMap 의 단일 값인 emissiveChannel 을 RGB 값으로 사용합니다. 기본값은 false입니다.
이 프로퍼티는 Qt 6.8에 도입되었습니다.
fresnelBias : real |
이 프로퍼티는 스쳐가는 각도에서 보이는 반사를 유지하면서 정면 반사(표면을 직접 바라보는)를 앞으로 밀어냅니다. 머티리얼에 변경 사항을 적용하려면 fresnelScaleBiasEnabled 을 활성화해야 합니다. 기본값은 0.0
입니다.
fresnelPower : real |
이 속성은 스치는 각도에서 보이는 반사를 유지하면서 정면 반사(표면을 직접 바라보는)를 줄입니다. 기본값은 5.0
입니다.
fresnelScale : real |
이 프로퍼티는 스치는 각도에서 보이는 반사를 유지하면서 정면 반사(표면을 직접 바라보는)의 크기를 조정합니다. 머티리얼에 변경 사항을 적용하려면 fresnelScaleBiasEnabled 을 활성화해야 합니다. 기본값은 1.0
입니다.
fresnelScaleBiasEnabled : real |
값을 true로 설정하면 머티리얼이 프레넬 스케일 및 프레넬 바이어스를 고려합니다. 기본값은 false
입니다.
heightAmount : real |
이 프로퍼티에는 heightMap 텍스처의 값을 수정하는 데 사용되는 계수가 포함되어 있습니다. 값은 0.0에서 1.0 사이여야 합니다. 기본값은 0.0으로, 높이 맵이 설정되어 있어도 높이 변위가 비활성화됩니다.
heightChannel : enumeration |
이 프로퍼티는 heightMap 에서 높이 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
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
은 플라스틱이나 유리와 같은 재질에 이상적인 값이지만 물, 아스팔트, 사파이어 또는 다이아몬드와 같은 다른 재질은 보다 사실적으로 보이도록 값을 조정해야 합니다. 사실적인 머티리얼의 경우 인덱스 오브 리프랙션은 일반적으로 1.0
과 3.0
다음은 일반적인 머티리얼의 굴절률의 몇 가지 예입니다:
재질 | 굴절률 |
---|---|
공기 | 1.0 |
물 | 1.33 |
유리 | 1.55 |
사파이어 | 1.76 |
다이아몬드 | 2.42 |
참고: 전 세계에 알려진 소재 중 3.0
보다 큰 불투명도는 없습니다.
invertOpacityMapValue : real |
이 프로퍼티는 opacityMap 의 불투명도 값을 반전시킵니다. 기본값은 false
입니다.
이 프로퍼티는 Qt 6.8에 도입되었습니다.
lighting : enumeration |
이 프로퍼티는 이 머티리얼을 생성할 때 사용되는 조명 방법을 정의합니다.
기본값은 다음과 같습니다. PrincipledMaterial.FragmentLighting
PrincipledMaterial.FragmentLighting
을 사용하는 경우 렌더링된 각 픽셀에 대해 디퓨즈 및 스페큘러 조명이 계산됩니다. 특정 효과(예: 프레넬 또는 노멀 맵)가 작동하려면 PrincipledMaterial.FragmentLighting
이 필요합니다.
PrincipledMaterial.NoLighting
를 사용하는 경우 조명이 계산되지 않습니다. 이 모드는 (예상대로) 매우 빠르며 조명으로 음영 처리할 필요가 없는 이미지 맵을 사용할 때 매우 효과적입니다. baseColor 값, 알파 값 및 버텍스 색을 제외한 다른 모든 음영 속성은 무시됩니다.
Constant | 값 |
---|---|
PrincipledMaterial.NoLighting | |
PrincipledMaterial.FragmentLighting |
lineWidth : real |
이 속성은 지오메트리가 기본 유형의 선 또는 선 스트립을 사용하는 경우 렌더링되는 선의 너비를 결정합니다. 기본값은 1.0입니다. 이 속성은 삼각형 메쉬와 같은 다른 유형의 지오메트리를 렌더링할 때는 관련이 없습니다.
경고: 기본 그래픽 API에 따라 런타임에 1 이외의 선 너비는 지원되지 않을 수 있습니다. 이 경우 너비 변경 요청은 무시됩니다. 예를 들어 다음 중 어느 것도 넓은 선을 지원할 것으로 예상할 수 없습니다: Direct3D, Metal, 핵심 프로파일 컨텍스트가 있는 OpenGL.
maxHeightMapSamples : int |
이 프로퍼티는 heightMap 를 사용하여 패럴렉스 오클루전 매핑을 수행하는 데 사용되는 최대 샘플 수를 정의합니다. 최대 높이맵샘플 값은 표면과 평행하게 볼 때 사용되는 heightMap 의 샘플 수입니다. 기본값은 32입니다.
각 조각에 사용되는 실제 샘플 수는 렌더링되는 표면을 기준으로 한 카메라 각도에 따라 minHeightMapSamples 와 maxHeightMapSamples 사이가 됩니다.
참고: 이 값은 원치 않는 아티팩트가 있는 경우에만 heightMap 을 사용하여 머티리얼을 미세 조정할 수 있도록 조정해야 합니다.
metalness : real |
금속성 프로퍼티는 머티리얼의 금속성을 정의합니다. 이 값은 정규화되며 0.0은 재료가 유전체 (비금속) 재료임을 의미하고 1.0은 재료가 금속임을 의미합니다.
참고: 원칙적으로 재료는 금속성이 0인 유전체 또는 금속성이 1인 금속입니다. 0과 1 사이의 금속성 값은 여전히 허용되며 서로 다른 모델 간의 혼합 재료가 됩니다.
범위는 [0.0, 1.0]입니다. 기본값은 0입니다.
metalnessChannel : enumeration |
이 프로퍼티는 metalnessMap 에서 금속성 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.B
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
metalnessMap : Texture |
이 프로퍼티는 머티리얼의 여러 부분에 대한 금속성 양을 설정하는 데 사용할 텍스처를 설정합니다.
minHeightMapSamples : int |
이 프로퍼티는 heightMap 을 사용하여 패럴렉스 오클루전 매핑을 수행하는 데 사용되는 최소 샘플 수를 정의합니다. minHeightMapSamples 값은 표면을 직접 볼 때(카메라 뷰가 조각에 수직인 경우) 사용되는 heightMap 의 샘플 수입니다. 기본값은 8입니다.
각 조각에 사용되는 실제 샘플 수는 렌더링되는 표면에 대한 카메라의 각도에 따라 minHeightMapSamples와 maxHeightMapSamples 사이가 됩니다.
참고: 이 값은 원치 않는 아티팩트가 있는 경우에만 heightMap 을 사용하여 머티리얼을 미세 조정할 수 있도록 조정해야 합니다.
normalMap : Texture |
이 프로퍼티는 머티리얼 표면의 미세한 지오메트리 변위를 시뮬레이션하는 데 사용되는 RGB 이미지를 정의합니다. RGB 채널은 XYZ 노멀 편차를 나타냅니다.
참고: 노멀 맵은 모델의 실루엣에 영향을 미치지 않습니다.
occlusionAmount : real |
이 프로퍼티에는 occlusionMap 텍스처의 값을 수정하는 데 사용되는 계수가 포함되어 있습니다. 값은 0.0에서 1.0 사이여야 합니다. 기본값은 1.0입니다.
occlusionChannel : enumeration |
이 프로퍼티는 occlusionMap 에서 오클루전 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
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
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
opacityMap : Texture |
이 프로퍼티는 머티리얼의 여러 부분에 대해 불투명도를 다르게 제어하는 데 사용되는 텍스처를 정의합니다.
pointSize : real |
이 속성은 지오메트리가 프리미티브 유형의 점을 사용하는 경우 렌더링되는 점의 크기를 결정합니다. 기본값은 1.0입니다. 이 속성은 삼각형 메쉬와 같은 다른 유형의 지오메트리를 렌더링할 때는 관련이 없습니다.
경고: 언더라이팅 그래픽 API에 따라 1 이외의 포인트 크기는 런타임에 지원되지 않을 수 있습니다. 예를 들어 Direct 3D에서는 1 이외의 크기를 설정해도 효과가 없습니다.
roughness : real |
이 프로퍼티는 조명에서 생성되는 스페큘러 하이라이트의 크기와 일반적으로 반사의 선명도를 제어합니다. 값이 클수록 러프니스가 증가하여 스페큘러 하이라이트가 부드러워지고 반사가 흐려집니다. 범위는 [0.0, 1.0]입니다. 기본값은 0입니다.
roughnessChannel : enumeration |
이 프로퍼티는 roughnessMap 에서 러프니스 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.G
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티는 specularMap 에서 스페큘러 컬러 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 단일 텍스처 채널을 컬러로 사용하려면 specularSingleChannelEnabled 을 활성화해야 합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
이 프로퍼티는 Qt 6.8에 도입되었습니다.
specularMap : Texture |
이 프로퍼티는 RGB 텍스처를 정의하여 머티리얼 표면의 스페큘러 양과 색을 조절합니다. 이 값은 specularAmount 을 곱합니다.
참고: 머티리얼이 유전체가 아닌 경우 스페큘러 맵은 무시됩니다.
specularReflectionMap : Texture |
이 프로퍼티는 머티리얼의 스페큘러 하이라이트에 사용되는 텍스처를 설정합니다.
일반적으로 환경 매핑을 수행하는 데 사용되며, 모델을 회전하면 맵이 환경에서 반사되는 것처럼 나타납니다. 이것이 예상대로 작동하려면 텍스처의 mappingMode 를 Texture.Environment로 설정해야 합니다. 스페큘러 리플렉션 맵은 비교적 저렴한 비용으로 고품질의 모양을 쉽게 추가할 수 있는 방법입니다.
참고: SceneEnvironment 에 light probe 를 연결하여 이미지 기반 조명을 사용하면 비슷한 환경 반사 효과를 얻을 수 있습니다. 그러나 조명 프로브는 개념적으로 다르며 성능 측면에서 더 비싼 솔루션일 수 있습니다. 각 접근 방식에는 고유한 용도가 있으며, 어떤 접근 방식을 사용할지는 사례별로 결정해야 합니다. 프로퍼티에 설정된 텍스처의 경우, sourceItem 을 통해 Qt Quick 서브 씬에서 데이터를 소싱하는 텍스처를 포함하여 모든 유형의 텍스처를 지원하고 제한이 없기 때문에 specularReflectionMap이 유리합니다.
참고: 선명한 이미지를 사용하면 머티리얼이 매우 광택이 나며, 이미지를 흐리게 처리할수록 머티리얼이 부드럽게 나타납니다.
Texture::mappingMode 을참조하십시오 .
specularSingleChannelEnabled : bool |
이 프로퍼티를 활성화하면 머티리얼은 specularMap 의 단일 값인 specularChannel 을 RGB 값으로 사용합니다. 기본값은 false입니다.
이 프로퍼티는 Qt 6.8에 도입되었습니다.
specularTint : real |
이 프로퍼티는 스페큘러 리플렉션에 기여하는 베이스 컬러의 양을 정의합니다.
참고: 이 프로퍼티는 유전체 머티리얼에만 적용됩니다.
thicknessChannel : enumeration |
이 프로퍼티는 transmissionMap 에서 두께 양을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.G
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
thicknessFactor : real |
이 프로퍼티는 표면 아래 볼륨의 두께를 정의합니다. PrincipledMaterial 의 다른 많은 프로퍼티와 달리 두께 팩터에 정의된 값은 모델 좌표 공간에서 두께에 대해 0.0에서 + 무한대까지의 값입니다. 값이 0.0이면 머티리얼의 벽이 얇다는 뜻입니다. 기본값은 0.0
thicknessMap : Texture |
이 프로퍼티는 머티리얼 볼륨의 두께를 정의하는 데 사용되는 텍스처를 정의합니다. thicknessFactor 값에는 이 텍스처에서 읽은 값이 곱해집니다.
transmissionChannel : enumeration |
이 프로퍼티는 transmissionMap 에서 전송 비율을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
transmissionFactor : real |
이 프로퍼티는 머티리얼의 표면을 통해 투과되는 빛의 비율을 정의합니다. 기본값은 다음과 같습니다. 0.0
transmissionMap : Texture |
이 프로퍼티는 표면을 통해 투과되는 빛의 비율을 결정하는 데 사용되는 텍스처를 정의합니다. transmissionFactor 값에 이 텍스처에서 읽은 값을 곱합니다.
vertexColorAlphaMask : enumeration |
이 프로퍼티는 지정 마스크로 사용되는 버텍스 컬러 알파 채널을 정의합니다. 값은 비트 단위의 플래그 조합입니다. 기본값은 PrincipledMaterial.NoMask
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티는 지정 마스크로 사용되는 버텍스 컬러 블루 채널을 정의합니다. 값은 비트 단위의 플래그 조합입니다. 기본값은 PrincipledMaterial.NoMask
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티는 지정 마스크로 사용되는 버텍스 컬러 녹색 채널을 정의합니다. 값은 비트 단위의 플래그 조합입니다. 기본값은 PrincipledMaterial.NoMask
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티는 지정 마스크로 사용되는 버텍스 컬러 레드 채널을 정의합니다. 값은 비트 단위의 플래그 조합입니다. 기본값은 PrincipledMaterial.NoMask
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티가 활성화되면 머티리얼은 메시의 버텍스 컬러를 사용합니다. 여기에는 머티리얼에 지정된 다른 색이 곱해집니다. 기본값은 참입니다.
이 프로퍼티는 Qt 6.5에 도입되었습니다.
vertexColorsMaskEnabled : bool |
이 프로퍼티를 활성화하면 머티리얼은 메시의 버텍스 컬러를 다양한 프로퍼티(예: 러프니스 양, 스페큘러 양, ...)의 마스크로 사용합니다. 기본값은 false입니다.
이 프로퍼티는 Qt 6.8에 도입되었습니다.
© 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.