PrincipledMaterial QML Type

メタル/ラフネスワークフローを使用して3Dアイテムのマテリアルを定義できます。詳細...

Import Statement: import QtQuick3D
Inherits:

Material

プロパティ

詳細説明

モデルがシーンでレンダリングされる前に、メッシュがどのようにシェーディングされるべきかを記述するマテリアルが少なくとも1つ添付されていなければなりません。PrincipledMaterialはPBRメタル/粗さマテリアルで、最小限のパラメータセットで使いやすいマテリアルを目指しています。パラメータが少ないだけでなく、すべての入力値は厳密に0から1の間で正規化され、感覚的なデフォルト値を持っています。プリンシプルマテリアルの異なるプロパティがモデルのシェーディングにどのように影響するかについては、プリンシプルマテリアルの例を参照してください。

メタル/ラフネスワークフロー

プリンシプルマテリアルは、メタル/ラフネスマテリアルとして知られています。要するに、マテリアルの主な特性は、metallnessroughnessbase color プロパティを通して制御されることを意味します。

金属性

現実世界の材料は、金属と誘電体(非金属)の2つのカテゴリーに大別されます。プリンシプル素材では、素材が属するカテゴリーはmetalness の値によって決定されます。metalness の値を0にすると、その材料は誘電体であることを意味し、0を超えると金属とみなされます。実際の金属はmetalness 値が1になりますが、0と1の間の値も可能で、通常は反射率の低い金属に使用されます。たとえば、材料に腐食などをレンダリングする場合、材料のmetalness を減らして、誘電材料に近い特性を出力する必要があります。metalness の値は材料の反射率に影響するため、光沢度を調整するために金属度を使いたくなるかもしれませんが、まずどのような材料を表現したいかを考えてください。metalness の値を大きくして誘電体材料をより光沢のある外観にすることは、誘電体材料としては正確でない特性を導入することになりますので、例えば、roughness の値を代わりに調整する方が適切かどうかを検討してください。

粗さ

材料のroughness は物体の表面の状態を表します。roughness の値が低いと、物体の表面が滑らかであることを意味し、roughness の値が高い材料よりも反射率が高くなります。

ベースカラー

メタル/ラフネス素材のbase color は、ディフューズとスペキュラの両方のデータを含んでいます。ベースカラーをどちらか一方として解釈するかは、主にmetalness の値によって決まります。例えば、メタルネス値が1のマテリアルは、ベースカラーのほとんどがスペキュラカラーとして解釈され、ディフューズカラーは黒味を帯びます。もちろんこれは少し単純化したものですが、base colormetalness の値がどのように相互作用するかを大まかに知ることができます。つまり、Specular/Glossinessmaterial では、ディフューズカラーとスペキュラカラーは別々の入力から来るため、2つのマテリアルのカラーデータは直接互換性がありません。

プロパティの説明

alphaCutoff : real

alphaCutoff プロパティは、Mask alphaMode を使用する際のカットオフ値を指定するために使用できます。 アルファ値がしきい値を下回るフラグメントは、完全に透明にレンダリングされます ( すべてのカラーチャンネルに対して0.0 )。アルファ値がカットオフ値と等しいか大きい場合、色は何ら影響を受けません。

デフォルト値は 0.5 です。

alphaModeも参照


alphaMode : enumeration

こ のプ ロパテ ィ は、baseColor のアルフ ァ カ ラ ー値 と 、base color map のアルフ ァ チ ャ ン ネルがど の よ う に使われ る かを指定 し ます。

注意: アルファカットオフテストはベースカラーアルファのみを考慮します。opacityNode::opacity は考慮されません。

注意 :ベースカラーマップをサンプリングする場合、有効なアルファ値はサンプリングされたアルファ値にbaseColor アルファを掛けたものになります。

定数説明
PrincipledMaterial.Defaultテストは適用されず、有効なアルファ値がそのまま渡されます。baseColor またはbaseColorMap のアルファ値が1.0 よりも小さくても、自動的にアルファブレンドが行われるわけではないことに注意してください。他の関連するプロパティ(不透明度が 1 よりも小さい、不透明度マップが存在する、デフォルトではないblendMode の値など)がなければ、マテリアルを持つオブジェクトは不透明として扱われます。他のオブジェクトやマテリアルのプロパティに関係なくアルファブレンディングが行われるようにするには、代わりにBlend を設定します。
PrincipledMaterial.Blendカットオフテストは適用されませんが、アルファブレンディングが起こることが保証されます。そのため、このマテリアルを持つオブジェクトがレンダラーによって不透明として扱われることはありません。
PrincipledMaterial.Opaqueつまり、頂点カラー、ベースカラー、ベースカラーマップのアルファ値は無視され、代わりに1.0の値が代入されます。このモードは、アルファブレンディングが起こらないことを保証するものではありません。関連するプロパティ(不透明度が 1 より小さい、不透明度マップがある、デフォルトでないblendMode など)にそのように書かれている場合でも、Default alphaMode と同様に、レンダリングパイプラインによってオブジェクトは半透明として扱われます。
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色は乗算を使ってブレンドされ、より暗い結果を生み出します。このブレンドモードは順序に依存しません。

alphaMode およびQt Quick 3D Architectureも参照してください


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に設定すると、マテリアルはクリアコートフレネルスケールとクリアコートフレネルバイアスを考慮します。デフォルト値は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 Texture を設定します。


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に設定すると、マテリアルはフレネルスケールとフレネルバイアスを考慮します。デフォルト値は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 は、プラスチックやガラスのようなマテリアルには理想的な値ですが、水、アスファルト、サファイア、ダイヤモンドのような他のマテリアルでは、よりリアルに見えるように値を調整する必要があります。現実的な材料の場合、屈折率は通常1.0 と の間であるべきです。3.0

一般的な材料の屈折率の例をいくつか挙げます:

素材屈折率
空気1.0
1.33
ガラス1.55
サファイア1.76
ダイヤモンド2.42

注: 3.0 をはるかに超える不透明度を持つ材料は世界中に存在しない。


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 を使用して Parallex Occlusion Mapping を実行するために使用されるサンプルの最大数を定義します。 maxHeightMapSamples 値は、サーフェスに平行に見るときに使用される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 です。

定数説明
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

このプロパティは、ジオメトリがプリミティブタイプのポイントを使用している場合に、レンダリングされるポイントのサイズを決定します。デフォルト値は 1.0 です。このプロパティは、三角形メッシュなど、他のタイプのジオメトリをレンダリングするときには関係ありません。

警告 1以外のポイントサイズは、アンダーライイング・グラフィックスAPIによっては実行時にサポートされない場合があります。例えば、1 以外のサイズを設定しても Direct 3D では効果がありません。


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 で乗算されます。

注意: マテリアルが誘電体でない限り、スペキュラマップは無視されます。


specularReflectionMap : Texture

このプロパティは、マテリアルのスペキュラハイライトに使用する Texture を設定します。

これは通常、環境マッピングを行うために使用されます。モデルが回転すると、マップは環境から反射しているように見えます。これが期待通りに動作するには、TextureのmappingMode 、Texture.Environmentに設定する必要があります。スペキュラ反射マップは、比較的低コストで高品質の外観を追加する簡単な方法です。

注: light probeSceneEnvironment に関連付け、画像ベースのライティングに頼ることで、同様の環境反射エフェクトを実現できます。しかし、ライトプローブは概念的に異なり、性能に関しては、より高価なソリューションになる可能性があります。それぞれのアプローチには固有の用途があり、どちらを使うかはケースバイケースで決める必要があります。プロパティに設定するテクスチャに関して言えば、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 から +infinity までの値です。値 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 で導入されました。


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