Fog QML Type
シーンの霧の設定を指定します。詳細...
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.5 |
| Inherits: |
プロパティ
- color : color
- density : real
- depthCurve : real
- depthEnabled : bool
- depthFar : real
- depthNear : real
- enabled : bool
- heightCurve : real
- heightEnabled : bool
- leastIntenseY : real
- mostIntenseY : real
- transmitCurve : real
- transmitEnabled : bool
詳細な説明
SceneEnvironment のfog プロパティが有効なFogオブジェクトに設定されると、そのプロパティを使用してフォグのレンダリングが構成されます。

このタイプが提供するシンプルなフォグは、マテリアルによって実装されます。これはポストプロセッシング効果ではなく、つまり、View3D の出力でテクスチャを処理する追加のレンダリングパスは行われません。その代わりに、各レンダリング対象オブジェクト(Model のサブメッシュ)のフラグメントシェーダー内で、PrincipledMaterial またはシェーディングされたCustomMaterial を使用して実装されます。
フォグは、以下のプロパティによって設定されます:
- 一般設定: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
}
}Fogオブジェクトをインラインで定義する代わりに、id を使用してFogオブジェクトを参照することも可能です。また、ExtendedSceneEnvironment は親クラスであるSceneEnvironment からすべてのプロパティを継承しているため、ExtendedSceneEnvironment でもフォグを使用できます:
Fog {
id: theFog
enabled: true
depthEnabled: true
}
environment: ExtendedSceneEnvironment {
fog: theFog
}「Qt Quick 3D - 簡単なフォグの例」および「Qt Quick 3D - シーンエフェクトの例」も参照してください 。
プロパティのドキュメント
color : color
霧の色。デフォルト値は「#8099b3」です

色を青みがかった色に変更した同じシーン:

densityも参照してください 。
density : real
霧の量を制御します。実際には、0~1の範囲の乗数として機能します。デフォルト値は1.0です。この値を小さくすると、霧の効果の強さが弱まります。depthEnabled がtrueに設定されている場合にのみ適用されます。
画面上の視覚効果は、「ExtendedSceneEnvironment 」のトーンマッピングやグロー・ブルームなど、他のいくつかの設定の影響を受ける可能性があります。他のエフェクトが有効になっているか、またそれらの設定内容によっては、同じ密度値でも異なる結果になる場合があります。
密度を「0.95 」に設定したシーンの例:

密度を0.15 に下げた同じシーン:

「color」も参照してください 。
depthCurve : real
デフォルト値は 1.0 です。
depthEnabled がtrueに設定されている場合にのみ適用されます。
「depthEnabled」も参照してください 。
depthEnabled : bool
遠くに霧を表示するかどうかを制御します。デフォルト値は false です。
関連項目: heightEnabled 、enabled 、depthNear 、depthFar 、およびdepthCurve 。
depthFar : real
カメラからの終端距離。デフォルト値は 1000.0 です。depthEnabled が true に設定されている場合にのみ適用されます。
注: depthNear やdepthFarなどのプロパティによって適切な範囲を定義できるよう、カメラやモデルを含むシーンは 適切にセットアップされている必要があります。トランスフォームを事前に調整せずに、そのままインポートされたアセットを含むシーンで、常にフォグを有効にできるとは限りません。 例えば、このページに掲載されているSponzaモデルを使用したスクリーンショットは、glTFソースアセットから「balsam 」ツールによって生成されたインスタンス化されたSponzaコンポーネントに対し、手動で(100, 100, 100) の追加スケールを適用した後に生成されたものです。これにより、depthNear およびdepthFarの値を調整することで、見栄えの良い結果を得るのに十分なZ範囲が確保されました。
depthNear およびdepthEnabledも参照してください 。
depthNear : real
カメラからの開始距離。デフォルト値は 10.0 です。depthEnabled が true に設定されている場合にのみ適用されます。
例として、このシーンを見てみましょう。まずは depthNear の値を高く設定した場合です。

depthNearの値を小さくすると、霧が発生するカメラからの距離が短くなるため、実質的に霧がカメラに「近づく」ことになります:

注: 深度NearやdepthFar などのプロパティによって適切な範囲が定義できるよう、カメラやモデルを含むシーンは 適切にセットアップされている必要があります。トランスフォームを事前に調整せずに、そのままインポートされたアセットを含むシーンで、常にフォグを有効にできるとは期待しないでください。 例えば、このページに掲載されているSponzaモデルを使用したスクリーンショットは、glTFソースアセットからbalsam ツールによって生成されたインスタンス化されたSponzaコンポーネントに、手動で(100, 100, 100) の追加スケールを適用した後に生成されたものです。これにより、depthNearおよびdepthFar の値を調整することで、見栄えの良い結果を得るのに十分なZ範囲が確保されました。
depthFar およびdepthEnabledも参照してください 。
enabled : bool
シーンにフォグを適用するかどうかを制御します。デフォルト値は false です。
この値を true に設定しない限り、深度フォグや高さフォグを有効にしても効果はありません。
depthEnabled およびheightEnabledも参照してください 。
heightCurve : real
高さフォグの強度を指定します。デフォルト値は 1.0 です。heightEnabled が true に設定されている場合にのみ適用されます。
「heightEnabled」も参照してください 。
heightEnabled : bool
高さのフォグを有効にするかどうかを制御します。デフォルト値は false です。
depthEnabled 、enabled 、leastIntenseY 、mostIntenseY 、およびheightCurveも参照してください 。
leastIntenseY : real
霧の濃度が最も薄くなる位置(Y座標)を指定します。デフォルト値は 10.0 です。heightEnabled が true に設定されている場合にのみ適用されます。
注:デフォルトでは 、この値はmostIntenseY よりも大きくなっています。この値がtrueである限り、フォグは上から下に向かってレンダリングされます。この値がmostIntenseY よりも小さい場合、フォグは下から上に向かってレンダリングされます。
注: Qt Quick の3Dシーンでは、Y軸は 上向きを指します。
この図は、高さフォグが有効(深度フォグは無効)で、leastIntenseY が、フォグが Sponza シーンの下部周辺にのみ広がるように設定されたシーンを示しています。

leastIntenseYの値を大きくすると、シーン内のより高いY位置から霧が広がるようになるため、霧の広がり範囲が上方向へ広がります。(Y軸は上向きであることを忘れないでください)

注: 深度フォグと同様に 、leastIntenseY およびmostIntenseY によって適切な Y 座標範囲が定義できるよう、シーンは適切にセットアップされている必要があります。トランスフォームを事前に調整せずに、そのままインポートされたアセットを含むシーンで、常にフォグを有効にできるとは期待しないでください。 例えば、このページにあるSponzaモデルを使用したスクリーンショットは、glTFソースアセットからbalsam ツールによって生成されたSponzaコンポーネントをインスタンス化した後、手動で(100, 100, 100) の追加スケールを適用して生成されたものです。
「 mostIntenseY 」および「heightEnabled 」も参照してください 。
mostIntenseY : real
霧が最も濃い位置(Y座標)を指定します。デフォルト値は0です。heightEnabled がtrueに設定されている場合にのみ適用されます。
注:デフォルトでは、 この値はleastIntenseY よりも小さい値になっています。この状態では、霧は上から下に向かってレンダリングされます。この値がleastIntenseY よりも大きい場合、霧は下から上に向かってレンダリングされます。
注: Qt Quick 3D シーンでは、Y 軸は 上向きです。
注: 深度フォグと同様に 、leastIntenseY および mostIntenseY によって適切な Y 座標範囲が定義できるよう、シーンは適切にセットアップされている必要があります。トランスフォームを事前に調整せずに、そのままインポートされたアセットを含むシーンで、常にフォグを有効にできるとは期待しないでください。 例えば、このページに掲載されているSponzaモデルを使用したスクリーンショットは、glTFソースアセットから「balsam 」ツールによって生成されたSponzaコンポーネントをインスタンス化した後、手動で(100, 100, 100) のスケールを追加適用して生成されたものです。
「 leastIntenseY 」および「heightEnabled 」も参照してください 。
transmitCurve : real
光透過効果の強さ。デフォルト値は 1.0 です。transmitEnabled が true に設定されている場合にのみ適用されます。
transmitEnabled : bool
霧に光の透過効果があるかどうかを制御します。デフォルト値は false です。
© 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.