PrincipledMaterial QML Type
メタル/ラフネスワークフローを使用して3Dアイテムのマテリアルを定義できます。詳細...
Import Statement: | import QtQuick3D |
Inherits: |
プロパティ
- alphaCutoff : real
- alphaMode : enumeration
- attenuationColor : color
- attenuationDistance : float
- baseColor : color
- baseColorChannel : enumeration
(since 6.8)
- baseColorMap : Texture
- baseColorSingleChannelEnabled : bool
(since 6.8)
- blendMode : enumeration
- clearcoatAmount : float
- clearcoatChannel : enumeration
- clearcoatFresnelBias : real
- clearcoatFresnelPower : real
- clearcoatFresnelScale : real
- clearcoatFresnelScaleBiasEnabled : real
- clearcoatMap : Texture
- clearcoatNormalMap : Texture
- clearcoatNormalStrength : real
- clearcoatRoughnessAmount : float
- 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 : float
- thicknessMap : Texture
- transmissionChannel : enumeration
- transmissionFactor : float
- 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)
詳細説明
Modelがシーンでレンダリングされる前に、メッシュがどのようにシェーディングされるべきかを記述するマテリアルが少なくとも1つ添付されていなければなりません。PrincipledMaterialはPBRメタル/粗さマテリアルで、最小限のパラメータセットで使いやすいマテリアルを目指しています。パラメータが少ないだけでなく、すべての入力値は厳密に0から1の間で正規化され、感覚的なデフォルト値を持っています。プリンシプルマテリアルの異なるプロパティがモデルのシェーディングにどのように影響するかについては、プリンシプルマテリアルの例を参照してください。
メタル/ラフネスワークフロー
プリンシプルマテリアルは、メタル/ラフネスマテリアルとして知られています。要するに、マテリアルの主な特性は、metallness 、roughness 、base color プロパティを通して制御されることを意味します。
金属性
現実の材料は、金属と誘電体(非金属)の2つのカテゴリーに大別されます。プリンシプル素材では、素材が属するカテゴリーはmetalness
の値によって決定されます。metalness
の値を0にすると、その材料は誘電体であることを意味し、0を超えると金属とみなされます。実際の金属はmetalness
値が1になりますが、0と1の間の値も可能で、通常は反射率の低い金属に使用されます。たとえば、材料に腐食などをレンダリングする場合、材料のmetalness
を減らして、誘電材料に近い特性を出力する必要があります。metalness
の値は材料の反射率に影響するため、光沢度を調整するために金属度を使いたくなるかもしれませんが、まずどのような材料を表現したいかを考えてください。metalness
の値を大きくして誘電体材料をより光沢のある外観にすることは、誘電体材料としては正確でない特性を導入することになりますので、例えば、roughness
の値を代わりに調整する方が適切かどうかを検討してください。
粗さ
材料のroughness
は物体の表面の状態を表します。roughness
の値が低いと、物体の表面が滑らかであることを意味し、roughness
の値が高い材料よりも反射率が高くなります。
ベースカラー
メタル/ラフネス素材のbase color は、ディフューズとスペキュラの両方のデータを含んでいます。ベースカラーをどちらか一方として解釈するかは、主にmetalness
の値によって決まります。例えば、メタルネス値が1の素材は、ベースカラーのほとんどがスペキュラカラーとして解釈され、ディフューズカラーは黒味を帯びた色になります。もちろん、これは少し単純化したものですが、base color とmetalness
の値がどのように相互作用するかを大まかに知ることができます。つまり、Specular/Glossinessmaterial では、ディフューズカラーとスペキュラカラーは別々の入力から来るため、2つのマテリアルのカラーデータは直接互換性がありません。
プロパティの説明
alphaCutoff : real |
alphaCutoff プロパティは、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 : float |
このプロパティは、光が粒子と相互作用する前に媒質中を進む平均距離として与えられる媒質の密度を定義します。値はワールド空間で指定します。デフォルト値は+infinity
です。
baseColor : color |
このプロパティはマテリアルのベースカラーを設定します。指定されたマテリアルのタイプ(金属または誘電体)に応じて、ディフューズチャンネルとスペキュラチャンネルが適切に設定されます。例えば、誘電体材料の場合、拡散色はベース色と同じになり、スペキュラ色はスペキュラ量に応じて明るいスペキュラ色になります。金属の場合、ディフューズ・チャンネルとスペキュラー・チャンネルはベース・カラーから混合され、ベース・カラーに近い暗いディフューズ・チャンネルとスペキュラー・チャンネルになります。
baseColorMap およびalphaModeも参照してください 。
baseColorChannel : enumeration |
このプロパティは、baseColorMap からbaseColor の値を読み取るために使用されるテクスチャチャンネルを定義します。単一のテクスチャチャンネルを色として使用するには、baseColorSingleChannelEnabled を有効にする必要があります。デフォルト値はMaterial.R
です。
定数 | 説明 |
---|---|
Material.R | テクスチャ R チャンネルから値を読み込みます。 |
Material.G | テクスチャ G チャンネルから値を読み込みます。 |
Material.B | テクスチャ B チャンネルから値を読み込みます。 |
Material.A | テクスチャ A チャンネルから値を読み込む。 |
このプロパティは Qt 6.8 で導入されました。
baseColorMap : Texture |
baseColorSingleChannelEnabled : bool |
このプロパティを有効にすると、マテリアルは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 : float |
このプロパティは、クリアコートレイヤーの強度を定義します。
デフォルト値は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 : float |
このプロパティは、クリアコート層の粗さを定義します。デフォルト値は0.0
clearcoatRoughnessChannel : enumeration |
このプロパティは、clearcoatRoughnessMap からクリアコートの粗さ量を読み取るために使用されるテクスチャチャンネルを定義します。 デフォルト値はMaterial.G
です。
定数 | 説明 |
---|---|
Material.R | テクスチャ R チャンネルから値を読み取る。 |
Material.G | テクスチャ G チャンネルから値を読み取る。 |
Material.B | テクスチャ B チャンネルから値を読み取る。 |
Material.A | テクスチャAチャンネルから値を読み取る。 |
clearcoatRoughnessMap : Texture |
このプロパティは、クリアコート層の粗さを決定するために使用されるテクスチャを定義します。clearcoatRoughnessAmount の値には、このテクスチャから読み取った値が乗算される。
emissiveChannel : enumeration |
このプロパティは、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 |
このプロパティを有効にすると、マテリアルは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 |
このプロパティは、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法線のずれを示します。
注意: 法線マップはモデルのシルエットには影響しません。
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 |
このプロパティは、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 probe をSceneEnvironment に関連付け、画像ベースのライティングに頼ることで、同様の環境反射エフェクトを実現できます。しかし、ライトプローブは概念的に異なり、性能に関しては、より高価なソリューションになる可能性があります。それぞれのアプローチには固有の用途があり、どちらを使うかはケースバイケースで決める必要があります。プロパティに設定するテクスチャに関して言えば、specularReflectionMap が有利です。これは、制限がなく、sourceItem を介して Qt Quick サブシーンからデータを取得するものを含め、すべてのタイプのテクスチャをサポートしているからです。
注意: 鮮明な画像はマテリアルを非常に光沢のあるものに見せます。
Texture::mappingModeも参照して ください。
specularSingleChannelEnabled : bool |
このプロパティを有効にすると、マテリアルは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 : float |
このプロパティは、サーフェスの下のボリュームの厚さを定義します。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 : float |
このプロパティは、マテリアルの表面を透過する光の割合を定義します。デフォルト値は0.0
transmissionMap : Texture |
このプロパティは、表面を透過する光の割合を決定するために使用されるテクスチャを定義します。transmissionFactor の値には、このテクスチャから読み取った値が乗算されます。
vertexColorAlphaMask : enumeration |
このプロパティは、指定マスクとして使用される頂点カラーアルファチャンネルを定義します。値はフラグのビット単位の組み合わせです。デフォルト値は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 |
このプロパティは、指定マスクとして使用される頂点色の青チャンネルを定義します。値はフラグのビット単位の組み合わせです。デフォルト値は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 |
このプロパティは、指定マスクとして使用される頂点カラー緑チャンネルを定義します。値はフラグのビット単位の組み合わせです。デフォルト値は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 |
このプロパティは、指定マスクとして使用される頂点カラー赤チャンネルを定義します。値はフラグのビット単位の組み合わせです。デフォルト値は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 |
このプロパティを有効にすると、マテリアルはメッシュの頂点カラーを使用します。これらはマテリアルに指定された他の色と乗算されます。デフォルト値はtrueです。
このプロパティは Qt 6.5 で導入されました。
vertexColorsMaskEnabled : bool |
このプロパティが有効な場合、マテリアルはメッシュの頂点カラーをRoughnessAmount、SpecularAmountなどの様々なプロパティのマスクとして使用します。デフォルト値は false です。
このプロパティは Qt 6.8 で導入されました。
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 このドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。