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 을 사용하세요.
경고: 이 머티리얼은 호환성을 위해서만 제공되며 새 코드에 사용해서는 안 됩니다. 스페큘러/광택 워크플로를 사용하여 머티리얼을 만들려면 SpecularGlossyMaterial, 금속/거칠기 워크플로를 사용하여 머티리얼을 만들려면 PrincipledMaterial 을 사용하는 것이 좋습니다.
모델을 씬에서 렌더링하려면 먼저 메시의 셰이딩 방법을 설명하는 머티리얼이 하나 이상 첨부되어 있어야 합니다. 디폴트 머티리얼은 스페큘러/글로스니스 유형 워크플로를 사용하여 머티리얼을 설명할 수 있는 사용하기 쉬운 머티리얼입니다. 이 머티리얼에는 합리적인 기본값이 있으며 프로퍼티를 변경하지 않고도 모델에 셰이딩하는 데 사용할 수 있습니다.
스페큘러/글로시니스 워크플로
기본 머티리얼은 스페큘러/광택 유형 워크플로를 사용하여 머티리얼을 만드는 방법을 제공합니다. 머티리얼의 주요 프로퍼티는 specular, roughness, diffuse color 프로퍼티를 통해 제어할 수 있습니다.
스페큘러
specular reflectivity 은 오브젝트 표면의 스페큘러 양과 색상을 설명합니다. 반사 머티리얼의 경우 주요 색상 기여도는 이 프로퍼티에서 비롯됩니다.
광택(러프니스)
표면의 광택은 표면이 얼마나 매끄러운지 또는 불규칙한지에 따라 달라집니다. 매끄러운 표면은 빛 반사가 더 강렬하고 거친 표면은 빛 반사가 더 분산됩니다. 기본 머티리얼에서 머티리얼의 광택은 roughness 프로퍼티를 통해 제어됩니다.
확산 색상
diffuse color 속성은 머티리얼의 기본 색상을 설명하며 PrincipledMaterial 의 기본 색상과 달리 확산 색상에는 머티리얼 반사율에 대한 정보가 포함되어 있지 않습니다. 그러나 반사 표면의 경우 디퓨즈 컬러를 검은색으로 설정해야 스페큘러 컬러가 기여할 수 있습니다.
프로퍼티 문서
blendMode : enumeration |
이 프로퍼티는 렌더링된 모델의 컬러가 그 뒤에 있는 컬러와 블렌딩되는 방식을 결정합니다.
Constant | 설명 |
---|---|
DefaultMaterial.SourceOver | 기본 블렌드 모드입니다. 불투명 오브젝트는 그 뒤에 있는 오브젝트를 가립니다. 이 기본 모드는 이 머티리얼을 사용하는 모델에 대해 렌더링 파이프라인에서 자체적으로 알파 블렌딩을 보장하지 않고 여러 요인에 따라 결정합니다. 오브젝트와 머티리얼의 총 불투명도가 1.0 이고 머티리얼에 반투명 픽셀이 포함된 텍스처 맵이 없는 경우 모델은 불투명으로 처리되어 다른 불투명 오브젝트와 함께 깊이 테스트 및 깊이 쓰기가 활성화된 상태로 렌더링되고 블렌딩은 비활성화된 상태로 렌더링됩니다. 그렇지 않으면 모델은 반투명으로 처리되어 불투명 오브젝트 다음에 다른 반투명 오브젝트와 함께 카메라에서 중심까지의 거리를 기준으로 뒤에서 앞 순서로 알파 블렌딩이 활성화된 상태로 렌더링됩니다. |
DefaultMaterial.Screen | 색상은 역 곱셈을 사용하여 블렌딩되므로 더 밝은 결과를 얻을 수 있습니다. 이 블렌드 모드는 순서와 무관하므로 반투명 오브젝트를 사용하고 얼굴이나 모델이 서로 다르게 정렬되어 팝핑이 발생하는 경우 화면 블렌딩을 사용하면 팝핑 없이 결과를 얻을 수 있습니다. |
DefaultMaterial.Multiply | 색상은 곱셈을 사용하여 혼합되어 더 어두운 결과를 생성합니다. 이 혼합 모드는 순서와 무관합니다. |
Qt Quick 3D 아키텍처를참조하십시오 .
bumpAmount : real |
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
보다 크거나 같아야 합니다.
참고: 전 세계에 알려진 머티리얼 중 3.0
보다 큰 값은 없습니다.
lighting : enumeration |
이 프로퍼티는 이 머티리얼을 생성할 때 사용되는 조명 방법을 정의합니다.
기본값은 다음과 같습니다. DefaultMaterial.FragmentLighting
DefaultMaterial.FragmentLighting
을 사용하는 경우 렌더링된 각 픽셀에 대해 확산 및 스페큘러 조명이 계산됩니다. 특정 효과(예: 프레넬 또는 범프 맵)가 작동하려면 DefaultMaterial.FragmentLighting
이 필요합니다.
DefaultMaterial.NoLighting
을 사용하면 조명이 계산되지 않습니다. 이 모드는 (예상대로) 매우 빠르며 조명으로 음영을 줄 필요가 없는 이미지 맵을 사용할 때 매우 효과적입니다.
Constant | 설명 |
---|---|
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
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
opacityMap : Texture |
이 프로퍼티는 머티리얼의 여러 부분에 대해 불투명도를 다르게 제어하는 데 사용되는 텍스처를 정의합니다.
pointSize : real |
이 속성은 지오메트리가 프리미티브 유형의 점을 사용하는 경우 렌더링되는 점의 크기를 결정합니다. 기본값은 1.0입니다. 이 속성은 삼각형 메쉬와 같은 다른 유형의 지오메트리를 렌더링할 때는 관련이 없습니다.
경고: 언더라이팅 그래픽 API에 따라 1 이외의 포인트 크기는 런타임에 지원되지 않을 수 있습니다. 예를 들어 Direct 3D에서는 1 이외의 크기를 설정해도 효과가 없습니다.
roughnessChannel : enumeration |
이 프로퍼티는 roughnessMap 에서 러프니스 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.R
입니다.
Constant | 설명 |
---|---|
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 |
이 프로퍼티는 씬의 라이트에 대한 스페큘러 하이라이트를 계산하는 데 사용되는 함수를 결정합니다.
Constant | 설명 |
---|---|
DefaultMaterial.Default | 스페큘러 조명은 기본 조명 모델을 사용합니다. |
DefaultMaterial.KGGX | 스페큘러 조명은 GGX 조명 모델을 사용합니다. |
specularReflectionMap : Texture |
이 프로퍼티는 머티리얼의 스페큘러 하이라이트에 사용되는 텍스처를 설정합니다.
일반적으로 환경 매핑을 수행하는 데 사용되며, 모델이 회전하면 맵이 환경에서 반사되는 것처럼 보입니다. 이것이 예상대로 작동하려면 텍스처의 mappingMode 를 Texture.Environment로 설정해야 합니다. 스페큘러 리플렉션 맵은 비교적 저렴한 비용으로 고품질의 모양을 쉽게 추가할 수 있는 방법입니다.
참고: SceneEnvironment 에 light probe 를 연결하여 이미지 기반 조명을 사용하면 비슷한 환경 반사 효과를 얻을 수 있습니다. 그러나 조명 프로브는 개념적으로 다르며 성능 측면에서 더 비싼 솔루션일 수 있습니다. 각 접근 방식에는 고유한 용도가 있으며, 어떤 접근 방식을 사용할지는 상황에 따라 결정해야 합니다. 프로퍼티에 설정된 텍스처의 경우, sourceItem 을 통해 Qt Quick 서브 씬에서 데이터를 소싱하는 텍스처를 포함하여 모든 유형의 텍스처를 지원하고 제한이 없기 때문에 specularReflectionMap이 유리합니다.
참고: 선명한 이미지를 사용하면 머티리얼이 매우 광택이 나며, 이미지를 흐리게 처리할수록 머티리얼이 부드럽게 나타납니다.
Texture::mappingMode 를참조하십시오 .
specularRoughness : real |
이 프로퍼티는 조명에서 생성되는 스페큘러 하이라이트의 크기와 일반적으로 반사의 선명도를 제어합니다. 값이 클수록 러프니스가 증가하여 스페큘러 하이라이트가 부드러워지고 반사가 흐려집니다. 범위는 [0.0, 1.0]입니다. 기본값은 0입니다.
specularTint : color |
이 속성은 스페큘러 리플렉션을 조정하는 데 사용되는 색상을 정의합니다. 효과 없음: 흰색 사용
translucencyChannel : enumeration |
이 속성은 translucencyMap 에서 반투명 값을 읽는 데 사용되는 텍스처 채널을 정의합니다. 기본값은 Material.A
입니다.
Constant | 설명 |
---|---|
Material.R | 텍스처 R 채널에서 값을 읽습니다. |
Material.G | 텍스처 G 채널에서 값을 읽습니다. |
Material.B | 텍스처 B 채널에서 값을 읽습니다. |
Material.A | 텍스처 A 채널에서 값을 읽습니다. |
translucencyMap : Texture |
이 프로퍼티는 뒤에서 머티리얼을 통과할 수 있는 빛의 양을 제어하는 그레이스케일 텍스처를 정의합니다.
translucentFalloff : real |
이 프로퍼티는 광원에 대한 오브젝트의 노멀 각도에 따라 반투명도에 대한 감쇠량을 정의합니다.
vertexColorsEnabled : bool |
이 프로퍼티가 활성화되면 머티리얼은 메시의 버텍스 컬러를 사용합니다. 여기에는 머티리얼에 지정된 다른 색이 곱해집니다.
© 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.