Fog QML Type

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

Import Statement: import QtQuick3D
Since: Qt 6.5

プロパティ

詳細説明

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 : float

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

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

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

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

colorも参照してください


depthCurve : float

デフォルト値は1.0です。

depthEnabled が true に設定されている場合にのみ適用されます。

depthEnabled参照して ください。


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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。