DefaultMaterial QML Type
스페큘러/광택 워크플로를 사용하여 3D 아이템의 재질을 정의할 수 있습니다. 더 보기...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Status: | Deprecated since 6.4 |
이 유형은 QtQuick3D 6.4부터 더 이상 사용되지 않습니다. 새로운 코드에서는 이 유형을 사용하지 않는 것을 강력히 권장합니다.
속성
- blendMode : enumeration
- bumpAmount : real
- bumpMap : Texture
- diffuseColor : color
- diffuseLightWrap : real
- diffuseMap : Texture
- emissiveFactor : vector3d
- emissiveMap : Texture
- fresnelPower : real
- indexOfRefraction : real
- lighting : enumeration
- lineWidth : real
- normalMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularMap : Texture
- specularModel : enumeration
- specularReflectionMap : Texture
- specularRoughness : real
- specularTint : color
- translucencyChannel : enumeration
- translucencyMap : Texture
- translucentFalloff : real
- vertexColorsEnabled : bool
상세 설명
대신 PrincipledMaterial 또는 SpecularGlossyMaterial 를 사용하는 것이 좋습니다.
경고: 이 머티리얼은 호환성을 위해 제공된 것으로, 새로운 코드에서는 사용해서는 안 됩니다. 스페큘러/광택(specular/glossiness) 워크플로를 사용하여 머티리얼을 생성할 때는 SpecularGlossyMaterial 를, 메탈/거칠기(metal/roughness) 워크플로를 사용하여 머티리얼을 생성할 때는 PrincipledMaterial 를 사용하는 것이 좋습니다.
씬에서 모델을 렌더링하려면, 메시에 적용될 셰이딩 방식을 정의하는 머티리얼이 적어도 하나 이상 적용되어 있어야 합니다. DefaultMaterial은 스페큘러/광택(specular/glossiness) 유형 워크플로를 사용하여 머티리얼을 정의할 수 있는 사용하기 쉬운 머티리얼입니다. 이 머티리얼은 적절한 기본값을 가지고 있어, 속성을 변경하지 않고도 모델에 셰이딩을 적용하는 데 사용할 수 있습니다.
스펙큘러/광택 워크플로
DefaultMaterial은 스페큘러/광택 유형 워크플로를 사용하여 머티리얼을 생성할 수 있는 방법을 제공합니다. 이 머티리얼의 주요 속성은 ‘ specular ’, ‘ roughness ’ 및 ‘ diffuse color ’ 속성을 통해 제어됩니다.
스페큘러
specular reflectivity 는 오브젝트 표면의 스페큘러 양과 색상을 나타냅니다. 반사성 머티리얼의 경우, 색상의 주요 구성 요소는 이 속성에서 비롯됩니다.
광택도 (거칠기)
표면의 광택도는 표면이 얼마나 매끄러운지 또는 불규칙한지에 따라 달라집니다. 매끄러운 표면은 거친 표면보다 빛 반사가 더 강렬하며, 거친 표면에서는 빛 반사가 더 넓게 퍼집니다. 기본 재질에서는 roughness 속성을 통해 재질의 광택도를 제어합니다.
확산 색상
‘ diffuse color ’ 속성은 머티리얼의 기본 색상을 나타내며, ‘ PrincipledMaterial ’의 기본 색상과 달리 확산 색상에는 머티리얼의 반사율에 대한 정보가 포함되어 있지 않습니다. 그러나 반사성 표면의 경우, 스페큘러 색상이 제대로 반영될 수 있도록 확산 색상을 검은색 계열로 설정해야 합니다.
속성 설명서
blendMode : enumeration
이 속성은 렌더링된 모델의 색상이 그 뒤에 있는 색상과 어떻게 혼합되는지를 결정합니다.
| 상수 | 설명 |
|---|---|
DefaultMaterial.SourceOver | 기본 블렌드 모드. 불투명한 오브젝트는 뒤에 있는 오브젝트를 가립니다. 이 기본 모드는 이 머티리얼을 사용하는 모델에 대해 렌더링 파이프라인에서 알파 블렌딩을 단독으로 보장하지는 않으며, 대신 다음과 같은 여러 요인에 따라 결정됩니다: 오브젝트와 머티리얼의 총 불투명도가 1.0 이고, 머티리얼 내에 반투명한 픽셀이 포함된 텍스처 맵이 없는 경우, 모델은 불투명한 것으로 간주됩니다. 즉, 블렌딩이 비활성화된 상태에서 다른 불투명한 오브젝트와 함께 깊이 테스트 및 깊이 쓰기가 활성화된 상태로 렌더링됩니다. 그렇지 않은 경우, 모델은 반투명 객체로 처리되며, 불투명 객체 뒤에 알파 블렌딩이 활성화된 상태로, 카메라로부터의 중심 거리를 기준으로 뒤에서 앞으로 순서대로 다른 반투명 객체들과 함께 렌더링됩니다. |
DefaultMaterial.Screen | 색상은 반전 곱셈(inverted multiply)을 사용하여 블렌딩되며, 더 밝은 결과가 생성됩니다. 이 블렌드 모드는 순서에 영향을 받지 않습니다. 반투명 오브젝트를 사용 중인데 면이나 모델의 정렬 방식에 따라 팝핑 현상이 발생하는 경우, 스크린 블렌딩을 사용하면 팝핑 없이 결과를 얻을 수 있습니다. |
DefaultMaterial.Multiply | 색상은 곱하기(Multiply)를 사용하여 블렌딩되며, 더 어두운 결과를 생성합니다. 이 블렌딩 모드 역시 순서에 영향을 받지 않습니다. |
Qt Quick 3D 아키텍처도 참조하십시오 .
bumpAmount : real
이 속성은 ‘ bumpMap ’ 또는 ‘ normalMap ’에 대한 시뮬레이션 변위량을 제어합니다. 기본값은 0 이며, 이 값을 설정하면 범프 효과가 비활성화됩니다. 범위는 [0, 1]입니다.
bumpMap : Texture
이 속성은 머티리얼 표면 전체에 걸쳐 미세한 지오메트리 변위를 시뮬레이션하기 위한 그레이스케일 텍스처를 정의합니다. 더 밝은 픽셀은 돌출된 영역을 나타냅니다. 효과의 강도는 ‘ bumpAmount ’ 속성으로 제어됩니다.
참고: 범프 맵은 모델의 실루엣에는 영향을 미치지 않습니다.
diffuseColor : color
이 속성은 머티리얼의 확산 색상(알베도)을 결정합니다. 확산 색상을 검은색 계열로 설정하면 순수한 반사성 머티리얼(예: 금속이나 거울)이 생성됩니다.
diffuseLightWrap : real
이 속성은 반투명도 맵에 대한 빛의 래핑 정도를 결정합니다. 값이 0이면 빛이 전혀 래핑되지 않으며, 값이 1이면 빛이 오브젝트 전체를 둘러싸며 래핑됩니다.
diffuseMap : Texture
이 속성은 머티리얼에 적용할 텍스처를 정의합니다. 투명도가 있는 텍스처를 사용하면 알파 채널도 불투명도 맵으로 적용됩니다.
emissiveFactor : vector3d
이 속성은 해당 머티리얼의 자체 발광 색상을 결정합니다. 발광 맵이 설정된 경우, x, y, z 성분은 각각 텍스처의 R, G, B 채널에 대한 계수(배율)로 사용됩니다. 기본값은 (0, 0, 0)이며, 이는 발광 효과가 전혀 적용되지 않음을 의미합니다.
참고: lightingMode를 DefaultMaterial.NoLighting으로설정하면 발광 계수가 씬에 영향을 미치지 않습니다.
emissiveMap : Texture
이 속성은 발광 색상의 밝기를 지정하는 데 사용될 RGB 텍스처를 설정합니다.
emissiveFactor도 참조하십시오 .
fresnelPower : real
이 속성은 직각 반사(표면을 정면으로 바라볼 때)를 줄이면서, 사선 각도에서 보이는 반사는 그대로 유지합니다. 기본값은 0 이며, 이 값을 설정하면 프레넬 효과가 비활성화됩니다.
indexOfRefraction : real
이 속성은 ‘ fresnelPower ’의 영향을 받는 반사 각도를 제어합니다. 기본값은 ‘ 1.45 ’입니다. 값은 ‘ 1.0 ’ 이상이어야 합니다.
참고: 현재 알려진 어떤 물질도 ior 값이 3.0 보다 훨씬 큰경우는 없습니다 .
lighting : enumeration
이 속성은 이 머티리얼을 생성할 때 어떤 조명 기법을 사용할지 정의합니다.
기본값은 DefaultMaterial.FragmentLighting
DefaultMaterial.FragmentLighting 를 사용할 경우, 렌더링되는 각 픽셀에 대해 확산 조명과 반사 조명이 계산됩니다. 특정 효과(프레넬 또는 범프 맵 등)는 DefaultMaterial.FragmentLighting 가 활성화되어 있어야 작동합니다.
DefaultMaterial.NoLighting 를 사용할 경우 조명은 계산되지 않습니다. 이 모드는 (예상대로) 매우 빠르며, 조명으로 음영을 처리할 필요가 없는 이미지 맵을 사용할 때 매우 효과적입니다.
| 상수 | 설명 |
|---|---|
DefaultMaterial.NoLighting | 조명이 계산되지 않습니다. |
DefaultMaterial.FragmentLighting | 프래그먼트별 조명이 계산됩니다. |
lineWidth : real
이 속성은 지오메트리가 ‘선’ 또는 ‘선 스트립’ 프라이머리 유형을 사용할 때 렌더링되는 선의 너비를 결정합니다. 기본값은 1.0입니다. 이 속성은 삼각형 메시와 같은 다른 유형의 지오메트리를 렌더링할 때는 적용되지 않습니다.
경고: 기본 그래픽 API에 따라 1 이외의선 너비는 런타임에서 지원되지 않을 수 있습니다. 이 경우, 너비 변경 요청은 무시됩니다. 예를 들어, Direct3D, Metal, 코어 프로파일 컨텍스트를 사용하는 OpenGL은 넓은 선을 지원하지 않을 것으로 예상됩니다.
참고: 대부분의 다른 머티리얼 속성과달리 , 선 너비는 blendMode 와 유사하게 내부적으로 그래픽 파이프라인 객체에 베이킹되어 있습니다. 따라서 값을 변경하면 새로운 파이프라인 객체를 생성해야 하며, 이 속성이 자주 여러 다른 값으로 변경될 경우 시간이 지남에 따라 성능 및 리소스 사용 측면에서 부담이 커질 수 있습니다. 예를 들어, 이 속성을 애니메이션 처리하는 것은 가능하지만, 가급적 피해야 합니다.
normalMap : Texture
이 속성은 머티리얼 표면 전체에 걸쳐 미세한 지오메트리 변위를 시뮬레이션하는 데 사용되는 RGB 이미지를 정의합니다. RGB 채널은 XYZ 법선 편차를 나타냅니다. 효과의 강도는 ‘ bumpAmount ’ 속성으로 제어됩니다.
참고: 노멀 맵은 모델의 실루엣에는 영향을 미치지 않습니다.
opacity : real
이 속성은 모델과는 별도로, 해당 머티리얼의 불투명도만 낮춥니다. 기본값은 1.0 입니다. 범위는 [0.0, 1.0]입니다.
opacityChannel : enumeration
이 속성은 opacityMap 에서 불투명도 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.A 입니다.
| 상수 | 설명 |
|---|---|
Material.R | 텍스처의 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
opacityMap : Texture
이 속성은 머티리얼의 각 부분에 따라 불투명도를 다르게 제어하는 데 사용되는 텍스처를 정의합니다.
pointSize : real
이 속성은 지오메트리가 점(point) 프라이미티브 유형을 사용할 때 렌더링되는 점의 크기를 결정합니다. 기본값은 1.0입니다. 이 속성은 삼각형 메쉬와 같은 다른 유형의 지오메트리를 렌더링할 때는 적용되지 않습니다.
경고: 기본 그래픽 API에 따라 실행 시 1 이외의점 크기가 지원되지 않을 수 있습니다. 예를 들어, Direct 3D에서는 1 이외의 크기를 설정해도 아무런 효과가 없습니다.
roughnessChannel : enumeration
이 속성은 roughnessMap 에서 거칠기 값을 읽어오는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R 입니다.
| 상수 | 설명 |
|---|---|
Material.R | 텍스처의 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
roughnessMap : Texture
이 속성은 머티리얼의 스페큘러 거칠기를 제어하는 텍스처를 정의합니다. 텍스처에 여러 채널(RGBA)이 포함된 경우, ‘ roughnessChannel ’ 속성을 사용하여 올바른 채널을 설정할 수 있습니다.
specularAmount : real
이 속성은 스페큘러 효과(하이라이트 및 반사)의 강도를 조절합니다. 기본값은 0 로, 스페큘러 효과를 비활성화합니다. 설정 범위는 [0.0, 1.0]입니다.
참고: 이 속성은 ‘ specularReflectionMap ’에는 영향을 미치지 않지만, 씬의 ‘ SceneEnvironment::lightProbe ’에서 발생하는 반사량에는 영향을 미칩니다.
참고: 메쉬의 해상도가 높지않은 경우 , 씬의 조명에서 선명한 스페큘러 하이라이트를 얻으려면 DefaultMaterial.FragmentLighting 를 사용해야 할 수도 있습니다.
specularMap : Texture
이 속성은 머티리얼 표면 전체에 걸쳐 스페큘러 반사의 강도와 색상을 조절하는 RGB 텍스처를 정의합니다. 이 값들은 ‘ specularAmount ’에 곱해집니다.
specularModel : enumeration
이 속성은 씬 내 조명의 스페큘러 하이라이트를 계산하는 데 어떤 함수를 사용할지 결정합니다.
| 상수 | 설명 |
|---|---|
DefaultMaterial.Default | 스페큘러 조명은 기본 조명 모델을 사용합니다. |
DefaultMaterial.KGGX | 스페큘러 라이팅은 GGX 라이팅 모델을 사용합니다. |
specularReflectionMap : Texture
이 속성은 머티리얼의 스페큘러 하이라이트에 사용되는 텍스처를 설정합니다.
이는 주로 환경 매핑을 수행하는 데 사용됩니다. 모델이 회전하면 맵이 마치 주변 환경에서 반사되는 것처럼 보입니다. 이 기능이 예상대로 작동하려면 텍스처의 ` mappingMode ` 속성을 `Texture.Environment`로 설정해야 합니다. 스페큘러 반사 맵은 비교적 적은 리소스로 고품질의 룩을 쉽게 구현할 수 있는 방법입니다.
참고: light probe 을 SceneEnvironment 에연결하여 이미지 기반 조명(image-based lighting)을 활용하면 유사한 환경 반사 효과를 얻을 수 있습니다. 그러나 라이트 프로브(light probes)는 개념적으로 다르며, 성능 측면에서 잠재적으로 더 많은 자원을 소모하는 솔루션입니다. 각 접근 방식에는 고유한 용도가 있으며, 어떤 방식을 사용할지는 사례별로 결정해야 합니다. 속성에 설정된 텍스처의 경우, specularReflectionMap이 제한이 없고 sourceItem 를 통해 Qt Quick 하위 씬에서 데이터를 가져오는 텍스처를 포함한 모든 유형의 텍스처를 지원하므로 유리합니다.
참고: 선명한 이미지는 머티리얼을 매우 광택 있게 보이게 하며, 이미지를 흐리게 할수록 머티리얼은 더 부드럽게 보입니다.
Texture::mappingMode도 참조하십시오 .
specularRoughness : real
이 속성은 빛에 의해 생성되는 스펙큘러 하이라이트의 크기와 전반적인 반사의 선명도를 제어합니다. 값이 클수록 거칠기가 증가하여 스펙큘러 하이라이트가 부드러워지고 반사가 흐릿해집니다. 범위는 [0.0, 1.0]입니다. 기본값은 0입니다.
specularTint : color
이 속성은 스페큘러 반사를 조정하는 데 사용되는 색상을 정의합니다. 효과를 적용하지 않으려면 흰색을 사용하십시오.
translucencyChannel : enumeration
이 속성은 translucencyMap 에서 반투명도 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.A 입니다.
| 상수 | 설명 |
|---|---|
Material.R | 텍스처의 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
translucencyMap : Texture
이 속성은 뒤쪽에서 재질을 통과할 수 있는 빛의 양을 제어하는 그레이스케일 텍스처를 정의합니다.
translucentFalloff : real
이 속성은 광원에 대한 오브젝트의 법선 각도에 따라 반투명도의 감쇠 정도를 정의합니다.
vertexColorsEnabled : bool
이 속성이 활성화되면, 머티리얼은 메시의 버텍스 색상을 사용합니다. 이 색상들은 머티리얼에 지정된 다른 색상들과 곱해집니다.
© 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.