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 を使用することを推奨します。
シーン内でモデルをレンダリングするには、メッシュのシェーディング方法を記述するマテリアルが少なくとも1つ、モデルに適用されている必要があります。DefaultMaterialは、スペキュラー/光沢度(specular/glossiness)タイプのワークフローを使用してマテリアルを記述できる、使いやすいマテリアルです。このマテリアルには適切なデフォルト設定がされており、プロパティを変更することなくモデルのシェーディングに使用できます。
スペキュラー/光沢度ワークフロー
「DefaultMaterial」は、スペキュラー/光沢度のワークフローを使用してマテリアルを作成する方法を提供します。このマテリアルの主なプロパティは、specular 、roughness 、およびdiffuse color プロパティによって制御されます。
スペキュラー
specular reflectivity は、オブジェクトの表面のスペキュラーの量と色を規定します。反射性マテリアルの場合、色の主な寄与はこのプロパティによるものです。
光沢度(粗さ)
表面の光沢度は、その表面が滑らかか、あるいは不規則かによって決まります。滑らかな表面は、光の反射がより集中的になりますが、粗い表面では光の反射がより広範囲に拡散します。デフォルトのマテリアルでは、マテリアルの光沢度はroughness プロパティによって制御されます。
拡散色
diffuse color プロパティはマテリアルの基本色を指定するものであり、PrincipledMaterial の基本色とは異なり、ディフューズカラーにはマテリアルの反射率に関する情報は含まれません。ただし、反射性のある表面の場合、スペキュラーカラーが効果を発揮できるように、ディフューズカラーは黒みを帯びた色に設定する必要があります。
プロパティのドキュメント
blendMode : enumeration
このプロパティは、レンダリングされたモデルの色が、その背後の色とどのように混ざり合うかを決定します。
| 定数 | 説明 |
|---|---|
DefaultMaterial.SourceOver | デフォルトのブレンドモード。不透明なオブジェクトは、その背後のオブジェクトを遮ります。このデフォルトモードは、このマテリアルを使用するモデルに対して、レンダリングパイプラインでのアルファブレンディングを単独で保証するものではなく、以下のいくつかの要因に基づいて判断が行われます。 オブジェクトとマテリアルの合計不透明度が1.0 であり、マテリアル内に半透明のピクセルを含むテクスチャマップが存在しない場合、モデルは不透明として扱われます。つまり、深度テストと深度書き込みが有効な状態で、他の不透明なオブジェクトとともに、ブレンディングが無効な状態でレンダリングされます。 それ以外の場合は、モデルは半透明として扱われ、不透明なオブジェクトの後に、他の半透明オブジェクトと共に、中心点からカメラまでの距離に基づいて奥から手前への順序で、アルファブレンディングを有効にしてレンダリングされます。 |
DefaultMaterial.Screen | 色は反転乗算を使用してブレンドされるため、より明るい結果が得られます。このブレンドモードは順序に依存しません。半不透明なオブジェクトを使用していて、面やモデルのソート順序が異なるためにポッピングが発生している場合は、スクリーンブレンドを使用することで、ポッピングのない結果を得ることができます。 |
DefaultMaterial.Multiply | 色は「乗算」を使用してブレンドされ、より暗い結果になります。このブレンドモードも順序に依存しません。 |
「Qt Quick 3D Architecture」も参照してください 。
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 以上でなければなりません。
注: 3.0 を大幅に上回る ior を持つ物質は、現時点で知られていません 。
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 | テクスチャの R チャンネルから値を読み取ります。 |
Material.B | テクスチャの B チャンネルから値を読み取ります。 |
Material.A | テクスチャの A チャンネルから値を読み取ります。 |
opacityMap : Texture
このプロパティは、マテリアルの各部分ごとに不透明度を異なるように制御するために使用されるテクスチャを定義します。
pointSize : real
このプロパティは、ジオメトリが「点」のプリミティブ型を使用している場合に、レンダリングされる点のサイズを決定します。デフォルト値は 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`に関連付け 、画像ベースのライティングに依存することで、同様の環境反射効果を実現できます。ただし、ライトプローブは概念的に異なり、パフォーマンスの面では、より負荷がかかる可能性があるソリューションです。 それぞれのアプローチには固有の用途があり、どちらを使用するかはケースバイケースで判断する必要があります。プロパティに設定するテクスチャに関しては、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.