このページでは

Fog QML Type

シーンのフォグ設定を指定します。詳細...

Import Statement: import QtQuick3D
Since: Qt 6.5
Inherits:

QtObject

プロパティ

詳細説明

SceneEnvironmentfog プロパティが有効な Fog オブジェクトに設定されている場合、プロパティはフォグのレンダリングを設定するために使用されます。

霧のシーン

このタイプによって提供される単純なフォグは、マテリアルによって実装されます。これはポストプロセッシングエフェクトではなく、View3D の出力でテクスチャを処理する追加のレンダーパスを伴わないことを意味します。むしろ、PrincipledMaterial またはシェーディングされたCustomMaterial を持つ各レンダリング可能オブジェクト(Model のサブメッシュ)のフラグメントシェーダで実装されます。

フォグはいくつかのプロパティによって設定されます:

例えば、以下のスニペットでは、デフォルトのフォグパラメータを使用して深度フォグ(高さフォグではない)を有効にしています:

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 - シーンエフェクトの例も参照してください

プロパティドキュメント

color : color

霧の色。デフォルト値は "#8099b3" です。

やや彩度を落とした青い霧のシーン

同じシーンで色を青っぽく変更したもの:

青い霧のある風景

densityも参照してください

density : real

フォグ量を制御します。実際には0〜1の範囲の乗数です。デフォルト値は1.0です。値を小さくすると、フォグ効果の強さが減少します。depthEnabled が true に設定されている場合のみ適用されます。

画面上の視覚効果は、トーンマッピングやグロー、ブルームな ど、ExtendedSceneEnvironment の他の設定に影響される場合がありま す。同じ密度値でも、他のエフェクトが有効になっているか、またそれらがどのように設定されているかによって、結果が異なる場合があります。

密度を0.95 に設定したシーンの例:

霧密度95%のシーン

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

霧密度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 などのプロパティで適切な範囲を定義できるように、適切に設定されている必要があります。最初にトランスフォームを調整することなく、そのままインポートされたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。例えば、このページのスクリーンショットの例では、スポンザモデルを使用していますが、これは、glTFソースアセットからbalsam ツールで生成されたインスタンス化されたスポンザコンポーネントに、(100, 100, 100) のスケールを手動で追加適用した後に生成されたものです。これにより、depthNear と depthFar の値を調整することで、見栄えの良い結果を得るのに十分な Z レンジが得られました。

depthNear およびdepthEnabledも参照して ください。

depthNear : real

カメラからの開始距離。デフォルト値は 10.0。depthEnabled が true に設定されている場合のみ適用されます。

例として、最初に depthNear の値を大きくしたシーンを見てみましょう。

より深いシーンフォグに近い値

depthNearの値を小さくすると、カメラからの距離が小さくなり、フォグが効果的にカメラに「近づく」ようになります:

深度が浅いシーン

注意: カメラやモデルを含むシーンは、depthNear やdepthFar などのプロパティで定義できるように、適切に設定されている必要があります。最初にトランスフォームをチューニングせずに、そのままインポートしたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。たとえば、このページのスクリーンショットの例では、スポンザモデルを使用していますが、これは、glTFソースアセットからbalsam ツールで生成されたインスタンス化されたスポンザコンポーネントに、手動で(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の値が、フォグがスポンザシーンの底部のみに広がるように設定されています。

フォグの最小値が小さいシーン

leastIntenseYの値を大きくすると、フォグがより高く広がるようになります。(Y軸が上を向いていることに注意してください)

フォグの最小値が高いシーン

注意: 深度フォグと同様に、シーンは、leastIntenseYとmostIntenseY によってY座標の範囲を定義できるように、適切に設定されることが期待されます。最初にトランスフォームを調整することなく、そのままインポートされたアセットを含むシーンで常にフォグを有効にできるとは思わないでください。たとえば、このページのスクリーンショットの例では、Sponzaモデルを使用していますが、これは、glTF ソースアセットからbalsam ツールで生成されたインスタンス化された Sponza コンポーネントに、手動で(100, 100, 100) の追加スケールを適用した後に生成されたものです。

mostIntenseY およびheightEnabledも参照してください

mostIntenseY : real

霧が最も強くなる位置(Y座標)を指定します。デフォルト値は0です。デフォルト値は 0 です。heightEnabled が true に設定されている場合にのみ適用されます。

注意: デフォルトでは、この値はleastIntenseY よりも小さくなります。 この値が true である限り、フォグは上から下にレンダリングされます。この値がleastIntenseY より大きい場合、フォグは下から上にレンダリングされます。

注意: Y軸は、Qt Quick 3D のシーンでは上向きになります。

注意: 深度フォグと同様に、シーンは、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.