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 に設定したシーンの例:

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

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


depthNear : real

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

例として、このシーンを取り上げます。

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の値が、フォグがSponzaシーンの下部にのみ広がるように設定されています。

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

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

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


mostIntenseY : real

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

注意: デフォルトでは、この値はleastIntenseY よりも小さくなります。 この値が true である限り、フォグは上から下にレンダリングされます。この値が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 です。


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