Fog QML Type
シーンのフォグ設定を指定します。詳細...
Import Statement: | import QtQuick3D |
Since: | Qt 6.5 |
プロパティ
- color : color
- density : float
- depthCurve : float
- depthEnabled : bool
- depthFar : float
- depthNear : float
- enabled : bool
- heightCurve : float
- heightEnabled : bool
- leastIntenseY : float
- mostIntenseY : float
- transmitCurve : float
- transmitEnabled : bool
詳細説明
SceneEnvironment のfog プロパティが有効な Fog オブジェクトに設定されている場合、プロパティはフォグのレンダリングを設定するために使用されます。
このタイプによって提供される単純なフォグは、マテリアルによって実装されます。これはポストプロセッシングエフェクトではなく、View3D の出力でテクスチャを処理する追加のレンダーパスを伴わず、PrincipledMaterial またはシェーディングされたCustomMaterial を持つレンダリング可能な各オブジェクト(Model のサブメッシュ)のフラグメントシェーダに実装されます。
フォグはいくつかのプロパティによって設定されます:
- 一般設定:color およびdensity
- デプスフォグ設定:depthEnabled depthNear,depthFar 、depthCurve
- 高さフォグ設定:heightEnabled leastIntenseY,mostIntenseY 、heightCurve
- 色透過率設定:transmitEnabled,transmitCurve
例えば、以下のスニペットでは、デフォルトのフォグパラメータを使用して深度フォグ(高さフォグではない)を有効にしています:
environment: SceneEnvironment { backgroundMode: SceneEnvironment.Color clearColor: theFog.color fog: Fog { id: theFog enabled: true depthEnabled: true } }
フォグ・オブジェクトをインラインで定義する代わりに、id
によってフォグ・オブジェクトを参照することもできます。また、ExtendedSceneEnvironment は親タイプであるSceneEnvironment からすべてを継承しているため、ExtendedSceneEnvironment でもフォグを使用することができます:
Fog { id: theFog enabled: true depthEnabled: true } environment: ExtendedSceneEnvironment { fog: theFog }
Qt Quick 3D - シンプルなフォグの例」および「Qt Quick 3D - シーンエフェクトの例」も参照してください 。
プロパティの説明
density : float |
フォグの量を制御します。実際には、0~1の範囲の乗数です。デフォルト値は1.0です。値を小さくすると、フォグ効果の強さが減少します。depthEnabled が true に設定されている場合にのみ適用されます。
画面上の視覚効果は、トーンマッピングやグロー、ブルームな ど、ExtendedSceneEnvironment の他の設定に影響される場合がありま す。同じ密度値でも、他のエフェクトが有効になっているか、またそれらがどのように設定されているかによって、結果が異なる場合があります。
密度を0.95
に設定したシーンの例:
密度を0.15
に下げた同じシーン:
colorも参照してください 。
depthCurve : float |
depthEnabled : bool |
霧が遠くに現れるかどうかを制御します。デフォルト値は false です。
heightEnabled,enabled,depthNear,depthFar,depthCurveも参照して ください。
depthFar : float |
カメラからの終了距離。デフォルト値は 1000.0 です。depthEnabled が true に設定されている場合にのみ適用されます。
注意: カメラやモデルを含むシーンは、depthNear や depthFar などのプロパティで適切な範囲を定義できるように、適切に設定されている必要があります。最初にトランスフォームを調整することなく、そのままインポートされたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。たとえば、このページのスクリーンショットの例では、スポンザモデルを使用していますが、これは、glTFソースアセットからbalsam
ツールで生成されたインスタンス化されたスポンザコンポーネントに、(100, 100, 100)
のスケールを手動で追加適用した後に生成されたものです。これにより、depthNear と depthFar の値を調整することで、見栄えの良い結果を得るのに十分な Z レンジが得られました。
depthNear およびdepthEnabledも参照して ください。
depthNear : float |
カメラからの開始距離。デフォルト値は 10.0 です。depthEnabled が true に設定されている場合にのみ適用されます。
例として、このシーンを取り上げます。
depthNear の値を小さくすると、カメラからの距離が小さくなり、フォグが効果的にカメラに「近づく」ようになります:
注意: カメラやモデルを含むシーンは、depthNear やdepthFar などのプロパティで定義できるように、適切に設定されている必要があります。最初にトランスフォームをチューニングせずに、そのままインポートしたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。たとえば、このページのスクリーンショットの例では、Sponzaモデルを使用していますが、これは、glTFソースアセットからbalsam
ツールで生成されたインスタンス化されたSponzaコンポーネントに対して、(100, 100, 100)
のスケールを手動で追加適用した後に生成されたものです。これにより、depthNear とdepthFar の値を調整することで、見栄えの良い結果を得るのに十分な Z レンジが得られました。
depthFar およびdepthEnabledも参照して ください。
enabled : bool |
シーンにフォグを適用するかどうかを制御します。デフォルト値は false です。
深度や高さのフォグを有効にしても、この値をtrueに設定しなければ効果はありません。
depthEnabled およびheightEnabled も参照して ください。
heightCurve : float |
高さフォグの強度を指定します。デフォルト値は 1.0 です。heightEnabled が true に設定されている場合にのみ適用されます。
heightEnabledも参照して ください。
heightEnabled : bool |
高さフォグを有効にするかどうかを制御します。デフォルト値は false です。
depthEnabled,enabled,leastIntenseY,mostIntenseY,heightCurveも参照 。
leastIntenseY : float |
霧が最も弱くなる位置 (Y 座標) を指定 し ます。デフォルト値は 10.0。heightEnabled が true に設定されている場合にのみ適用されます。
注意: デフォルトでは、この値はmostIntenseY よりも大きくなります。 この値が true である限り、フォグは上から下にレンダリングされます。この値がmostIntenseY より小さい場合、フォグは下から上にレンダリングされます。
注意: Qt Quick 3Dシーンでは、Y軸が上を向きます。
この写真は、ハイトフォグが有効なシーンです(デプスフォグはありません)。leastIntenseYの値は、フォグがSponzaシーンの下部のみに広がるように設定されています。
leastIntenseYの値を大きくすると、フォグがより高く広がるようになります。(Y軸が上を向いていることに注意してください)
注意: 深度フォグと同様に、シーンは、leastIntenseYとmostIntenseY によってY座標の範囲を定義できるように、適切に設定されることが期待されます。最初にトランスフォームを調整することなく、そのままインポートされたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。例えば、このページのSponzaモデルのスクリーンショット例は、glTFソースアセットからbalsam
ツールで生成されたインスタンス化されたSponzaコンポーネントに、手動で(100, 100, 100)
の追加スケールを適用した後に生成されています。
mostIntenseY およびheightEnabledも参照してください 。
mostIntenseY : float |
霧が最も強くなる位置(Y 座標)を指定します。デフォルト値は 0 です。heightEnabled が true に設定されている場合にのみ適用されます。
注意: デフォルトでは、この値はleastIntenseY よりも小さくなります。 この値が true である限り、フォグは上から下にレンダリングされます。この値がleastIntenseY より大きい場合、フォグは下から上にレンダリングされます。
注意 : Qt Quick 3Dシーンでは、Y軸は上を向きます。
注意: 深度フォグと同様に、シーンは、leastIntenseY と mostIntenseY によって、Y座標の範囲を定義できるように、適切に設定する必要があります。最初にトランスフォームを調整することなく、そのままインポートされたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。例えば、このページのSponzaモデルのスクリーンショット例は、glTFソースアセットからbalsam
ツールで生成されたインスタンス化されたSponzaコンポーネントに、手動で(100, 100, 100)
の追加スケールを適用した後に生成されています。
leastIntenseY およびheightEnabledも参照してください 。
transmitCurve : float |
光透過効果の強度。デフォルト値は 1.0 です。transmitEnabled が true に設定されている場合にのみ適用されます。
transmitEnabled : bool |
フォグが光透過エフェクトを持つかどうかを制御します。デフォルト値は false です。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。