SceneEnvironment QML Type

シーンのレンダリング方法を設定します。詳細...

Import Statement: import QtQuick3D
Inherits:

Object3D

Inherited By:

ExtendedSceneEnvironment

プロパティ

詳細説明

SceneEnvironment は、シーンがどのようにレンダリングされるべきかのグローバルプロパティのセットを定義します。

Note: QtQuick3D.Helpers モジュールは、SceneEnvironment を継承し、その上に多くの組み込みエフェクトを追加するExtendedSceneEnvironment タイプを提供します。

SceneEnvironment またはExtendedSceneEnvironment を使用するには、View3Denvironment property を、これらの型のインスタンスに関連付けます。オブジェクトは、例えばこのようにインラインで宣言できます:

View3D {
    environment: SceneEnvironment {
        antialiasingMode: SceneEnvironment.MSAA
        tonemapMode: SceneEnvironment.TonemapModeFilmic
        backgroundMode: SceneEnvironment.SkyBox
        lightProbe: Texture {
            source: "panoramic_hdri_background.hdr"
        }
    }
}

あるいは、環境オブジェクトを個別に定義することもできます。このオブジェクトは、1つ以上のView3D オブジェクトから参照することができます。今回はExtendedSceneEnvironment を使用したコード例です:

ExtendedSceneEnvironment {
    id: myEnv
    vignetteEnabled: true
}

View3D {
    width: parent.width / 2
    environment: myEnv
}

View3D {
    width: parent.width / 2
    x: parent.width / 2
    environment: myEnv
}

機能の概要

ExtendedSceneEnvironmentも参照してください

プロパティ ドキュメント

antialiasingMode : enumeration

このプロパティは、シーンのレンダリング時に適用されるアンチエイリアス モードを制御します。

設定可能な値は次のとおりです:

定数説明
SceneEnvironment.NoAAアンチエイリアスは適用されない。
SceneEnvironment.SSAAスーパーサンプル・アンチエイリアスが適用されます。
SceneEnvironment.MSAAマルチサンプル・アンチエイリアスが適用される。
SceneEnvironment.ProgressiveAAプログレッシブ・アンチエイリアスが適用される。

デフォルト値はSceneEnvironment.NoAA です。

スーパーサンプリング

シーンは高い解像度でレンダリングされ、実際の解像度にスケールダウンされます。

長所:高品質。ジオメトリのシルエットだけでなく、すべてのシーンコンテンツをアンチエイリアスする。

短所:通常、MSAAより高価。ビデオメモリ使用量が増える。Inline を除くすべての renderMode でView3D アイテムでサポートされていますが、この技法は最初にテクスチャにレンダリングすることを意味するため、Underlay または Overlay の renderMode で SSAA を有効にすると、通常は必要ない中間テクスチャとレンダー パスが使用されることになり、パフォーマンス コストが顕著になる可能性があります。レンダーモードがデフォルトの Offscreen の場合のみ、SSAA を使用することをお勧めします。

マルチサンプリング

ジオメトリのエッジがスーパーサンプリングされ、より滑らかなシルエットになります。ただし、このテクニックはジオメトリ内部のマテリアルには影響しません。

長所レンダリングモードに関係なく、View3D アイテムで動作します。エイリアシングが最も目立ちやすいジオメトリシルエッ トで良い結果が得られます。パフォーマンスは、純粋にシステム(GPU)の性能に依存します。

短所:テクスチャや反射の問題には役立たない。ビデオメモリ使用量が増える。性能の低いグラフィックハードウェアで使用するには高価になる可能性がある。renderModeに応じて、ウィンドウごと、または個々のView3D アイテムごとに制御できます。エフェクトが適用されたUnderlay/OverlayまたはOffscreenを使用する場合、MSAAはView3D アイテムごとに制御できます。一方、エフェクトなしのUnderlay/OverlayまたはInlineを使用すると、MSAAはウィンドウごとに制御されます。

注: エフェクト付きUnderlay/OverlayまたはOffscreen以外のrenderMode を持つView3D アイテムでは、マルチサンプリングはQQuickWindow またはQQuickViewQSurfaceFormat を介してのみ有効にできます。これは、そのウィンドウ内の2Dと3Dの両方のすべてのコンテンツに影響します。

プログレッシブ・アンチエイリアス

このプロパティは、シーンに適用されるプログレッシブ・アンチエイリアスのレベルを有効化し、設定します。

シーンのすべてのコンテンツが動きを止めたとき、カメラはフレーム間でごくわずかに揺れ、それぞれの新しいフレームの結果が前のフレームとブレンドされます。フレームを積み重ねるほど、結果は見栄えが良くなる。

長所シーン内のすべてのコンテンツが静止している場合に素晴らしい結果をもたらす。

短所:視覚的な変化が起きている場合は効果がない。蓄積とブレンドが必要なため、コストがかかる。ビデオメモリ使用量が増える。

注: プログレシング・アンチエイリアシングは、現在マルチビュー・レンダリングではサポートされていません。

アンチエイリアシングの方法については、アンチエイリアシングのベストプラクティスを参照してください。


antialiasingQuality : enumeration

このプロパティは、シーンに適用されるアンチエイリアスのレベルを設定します。動作は使用するantialiasingMode に依存します。antialiasingMode プロパティがNoAA に設定されている場合、このプロパティは影響しません。

可能な値は次のとおりです:

定数説明
SceneEnvironment.MediumSSAA:アンチエイリアシングは1.2倍のスーパーサンプリング解像度を使用します。
MSAA:
。 ProgressiveAA:最終画像に 2 フレームを使用。
SceneEnvironment.HighSSAA:アンチエイリアシングは 1.5 倍のスーパーサンプリング解像度を使用。
MSAA:
。 ProgressiveAA:最終画像に4フレームを使用。
SceneEnvironment.VeryHighSSAA:アンチエイリアシングは 2.0 倍のスーパーサンプリング解像度を使用。
MSAA:
。 ProgressiveAA:最終画像に8フレームを使用。

デフォルト値はSceneEnvironment.High


aoBias : real

このプロパティは、オブジェクトが近距離でアンビエントオクルージョンを示すのを防ぐカットオフ距離を定義します。値が高いほど、アンビエントオクルージョンが見られるまでに必要なオブジェクト間の距離が長くなります。

注意: 影がないはずのオブジェクトにアンビエントオクルージョンの影が見える場合は、値を少し大きくして近い結果を切り取ります。

デフォルト値は0.0です。


aoDistance : real

このプロパティは、アンビエントオクルージョンの影がオブジェクトからどの程度遠くまで広がるかを定義します。距離が離れるほど、パフォーマンスへの影響が大きくなります。

デフォルト値は5.0です。

写真はデフォルトのaoSoftness と最大のaoStrength

aoDistanceの5aoDistanceが1の場合

注意: 画面空間のアンビエントオクルージョンを視覚的に見栄えよくするには、aoStrengthaoSoftness 、 aoDistance 、aoDitheraoBiasaoSampleRate などの関連パラメーターを慎重に調整する必要があります。

aoStrength およびaoSoftnessも参照して ください。


aoDither : bool

このプロパティを有効にすると、アンビエントオクルージョンのシャドウバンドのエッジを散乱させ、滑らかさを向上させます(時々、明らかなパターン化されたアーティファクトが発生する危険性があります)。

注意: カメラのクリッピングプレーン間の距離が非常に大きいと、アンビエントオクルージョンに問題が生じることがあります。アンビエントオクルージョンに奇妙なバンディングが表示される場合は、カメラのclipFar プロパティをコンテンツに近くなるように調整してみてください。

デフォルト値はfalse です。

PerspectiveCamera.clipFar およびOrthographicCamera.clipFarも参照してください


aoEnabled : bool [since 6.5]

アンビエントオクルージョンを有効または無効にします。

デフォルト値はfalse で、これはアンビエント・オクルージョンが無効であることを意味します。

注: aoStrength またはaoDistance が 0 の場合、このプロパティをtrue に設定すると、それらの値も適切に設定され、アンビエント・オクルージョンが有効になります。

注意: 視覚的に見栄えの良いスクリーン空間のアンビエント・オクルージョンを得るには、aoStrength,aoSoftness,aoDistance,aoDither,aoBias,aoSampleRate など、関連する多くのパラメータを慎重に調整する必要があります。

このプロパティは Qt 6.5 で導入されました。

aoStrengthaoDistanceも参照して ください。


aoSampleRate : int

このプロパティは、パフォーマンスを犠牲にして、アンビエントオクルージョンの品質(より多くのグレーのシェード)を定義します。

値は2、3、または4でなければなりません。デフォルト値は 2 です。


aoSoftness : real

このプロパティは、アンビエントオクルージョンのシェーディングのエッジの滑らかさを定義します。

値は0.0から50.0の間でなければなりません。デフォルト値は50.0です。

写真はデフォルトのaoDistance と最大のaoStrength

aoSoftnessの50aoSoftnessの25

注意: 視覚的に美しいスクリーン空間のアンビエントオクルージョンを得るには、aoStrength 、aoSoftness 、aoDistanceaoDitheraoBiasaoSampleRate など、関連する多くのパラメータを注意深く調整する必要があります。

aoStrength およびaoDistanceも参照して ください。


aoStrength : real

このプロパティは、アンビエントオクルージョンの適用量を定義します。アンビエントオクルージョンは、近似グローバルイルミネーションの一種であり、オブジェクトが近くにある場合に無指向性のセルフシャドウを引き起こします。値が100の場合、完全な暗闇の影になり、値が低いほど影が薄く見えます。値を0にするとアンビエントオクルージョンが完全に無効になり、シーンにレンダリングされる3Dオブジェクトの視覚的リアリズムを犠牲にする代わりにパフォーマンスが向上します。

0以外の値は、パフォーマンスに同じ影響を与えます。

デフォルト値は0.0です。最大値は 100.0 です。

値 0 は、aoEnabled を false に設定するのと同じです。

写真はデフォルトのaoSoftnessaoDistance

aoStrengthが0(AO無効)aoStrengthが100の場合aoStrengthが50

注意: 視覚的に見栄えの良いスクリーン空間のアンビエントオクルージョンを得るには、aoStrength、aoSoftnessaoDistanceaoDitheraoBiasaoSampleRate など、関連する多くのパラメータを慎重に調整する必要があります。

aoEnabled,aoDistance,aoSoftnessも参照して ください。


backgroundMode : enumeration

このプロパティは、シーンの背景をクリアするかどうか、またどのようにクリアするかを制御します。

注意: View 3Dをバッキングするカラーバッファのクリアは、常に行われるわけではありません。renderMode プロパティによっては、View3D がクリアを実行しない場合があり、その場合、SceneEnvironment.TransparentSceneEnvironment.Color は何の効果も持ちません。デフォルトのOffscreen render mode (テクスチャへのレンダリング)のみが、すべてのクリアモードをサポートしています。Underlay モードでは、QQuickWindow::setColor() またはWindow.color を使用して、Qt Quick シーンのクリアカラーを制御します。SkyBox は実際のジオメトリの描画を意味するため扱いが異なり、すべてのレンダーモードで同じように動作します。

定数説明
SceneEnvironment.Transparentシーンを透明にします。これは、3D コンテンツを別のアイテムの上にレンダリングするのに便利です。このモードは、View3D がポストプロセッシングを有効化せずに、Underlay または Overlay のレンダーモードを使用している場合には効果がありません。
SceneEnvironment.Colorシーンは、clearColor プロパティで指定された色でクリアされます。このモードは、View3D がポストプロセッシングを有効化せずに Underlay または Overlay の renderMode を使用している場合には影響しません。
SceneEnvironment.SkyBoxシーンはクリアされず、代わりに SkyBox または Skydome がレンダリングされます。スカイボックスは、lightProbe プロパティで定義された HDRI マップを使用して定義されます。
SceneEnvironment.SkyBoxCubeMapシーンはクリアされず、代わりにスカイボックスまたはスカイドームがレンダリングされます。スカイボックスは、skyBoxCubeMap プロパティで定義されたキューブマップを使用して定義されます。

デフォルト値はSceneEnvironment.Transparent

次の例を見てください。Suzanne モデルはbalsam ツールで前処理され、glTF Sample Modelsリポジトリから取得されます。

import QtQuick
import QtQuick3D
import QtQuick3D.Helpers

Item {
    width: 1280
    height: 720

    View3D {
        id: v3d
        anchors.fill: parent

        environment: ExtendedSceneEnvironment {
            backgroundMode: SceneEnvironment.SkyBox
            lightProbe: Texture { source: "00455_OpenfootageNET_field_low.hdr" }

            glowEnabled: true
            glowStrength: 1.25
            glowBloom: 0.25
            glowBlendMode: ExtendedSceneEnvironment.GlowBlendMode.Additive
        }

        DirectionalLight {
        }

        Suzanne {
            scale: Qt.vector3d(50, 50, 50)
            z: -500
        }

        PerspectiveCamera {
            id: camera
        }

        WasdController {
            controlledObject: camera
        }
    }
}

DirectionalLight 、ライトプローブのテクスチャをスカイボックスとして使用します:

ライトプローブがない場合はどうなるでしょうか?

backgroundMode: SceneEnvironment.Transparent

ここでは、背景はView3D ではなく、2Dおよび3DシーンをホストするQQuickWindow またはQQuickView によって提供されます。照明はDirectionalLight のみに基づいています。

固定のクリアカラーを使用:

backgroundMode: SceneEnvironment.Color
clearColor: "green"

lightProbe,QQuickWindow::setColor(),Window::color,View3Dも参照してください


clearColor : color

このプロパティは、backgroundMode プロパティにSceneEnvironment.Color を使用する場合に、ビューポートをクリアするために使用される色を定義します。

デフォルト値はQt::black

backgroundModeも参照。


debugSettings : QtQuick3D::DebugSettings [since 6.5]

このプロパティは、レンダラーのデバッグ ツールを設定するために使用されるDebugSettings オブジェクトを指定します。構築中、SceneEnvironment はそれ自体に関連付けられたDebugSettings オブジェクトを自動的に作成するため、カスタムDebugSettings を設定する必要は通常ありません。

ワイヤフレームモードを有効にしてシーンをレンダリングした例:

メッシュの法線ベクトルの可視化:

鏡面照明の寄与を視覚化する:

このプロパティは Qt 6.5 で導入されました。

DebugSettingsも参照してください


depthPrePassEnabled : bool

つまり、メインのレンダリングパスの描画コールを発行する前に、深度バッファを事前に充填するために、単純なシェーダと色の書き込みを無効にしてレンダリングします。

これにより、シーンの内容によってはパフォーマンスが向上します。一般的に、多くのオブジェクトが重なり、高価なフラグメントシェーディングがあるシーンで、このメリットがあります。同時に、レンダラーが不透明オブジェクトの前面から背面へのソート を実行し、それ自体が不要なフラグメントシェーディングを減らすのに役立 つので、Z-prepass が常に大きな改善をもたらすわけではないことは注 目しておく価値があります。

モバイルや組込みシステムで一般的なタイル型レンダリングアーキ テクチャを使用する GPU では、これをfalse に設定するこ とを推奨します。

デフォルト値はfalse です。

注意: 深度テストが無効の場合、このプロパティは影響しません。


depthTestEnabled : bool

デフォルト値はtrue です。デフォルトでは、レンダラーはシーン内のオブジェクトをopaque またはsemi-transparent として分類します。opaque リストのオブジェクト(関連するマテリアルを持つサブメッシュ)は、深度テストと深度書き込みを有効にして最初にレンダリングされ、半透明領域を持たない典型的な 3D オブジェクトに最適な Z カリングを提供します。semi-transparent リストのオブジェクトは、奥行き書き込みを無効にしてレンダリングされますが、奥行きテストは有効のまま(不透明なオブジェクトに対してテストするため)、奥から手前の順番で(カメラからの中心点の距離に基づいてソートされます)レンダリングされます。これにより、node opacity 、またはマテリアルのカラーマップやテクスチャマップによって、表面に半透明の領域がある3Dオブジェクトを正しくブレンド(「シースルー」)することができます。

このプロパティをfalse に設定すると、Z バッファの書き込みとテストは行われず、深度テストはスキップされ、完全に不透明なオブジェクトを含むすべてのオブジェクトが一度にレンダリングされ、背面から前面にソートされます。

このプロパティをfalse に設定することは、ほとんど必要ないはずです。このプロパティは、不透明なオブジェクトが非常に少ないか、前から後ろへソートされたパスが1回で済むように変換されているため、2ラウンドのアプローチではほとんどメリットがないことがわかっているシーンで役立ちます。

注意: このプロパティをfalse に設定すると、特定のシーンでレンダリングエラーが発生することがあります。さらに、カスタムマテリアルやエフェクトのシャドウ、アンビエントオクルージョン、SCREEN_TEXTUREDEPTH_TEXTURE などの一部の機能は、深度バッファの使用を有効にしないと正しく動作しません。

注意: このフラグは、深度バッファまたは深度ステンシルバッファの存在を制御するものではありません。このフラグがfalse に設定されていても、そのようなバッファが割り当てられることがあります。


effects : List<QtQuick3D::Effect>

このプロパティには、ビューポート全体に適用されるポスト処理エフェクトのリストが含まれます。各エフェクトの結果は次のエフェクトに送られるので、順序は重要です。

注意: 技術的な理由により、同じEffect ノードをリストに複数回追加することはサポートされておらず、予期しない結果をもたらします。


fog : QtQuick3D::Fog [since 6.5]

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

デフォルト値は null で、これはフォグがないことを意味します。これは、enabled が false に設定された Fog オブジェクトを設定することと同じです。

このプロパティは Qt 6.5 で導入されました。

Fogも参照してください


lightProbe : QtQuick3D::Texture

このプロパティは、標準的なライトの代わりに、または標準的なライトに加えて、シーンを照らすために使用されるイメージを定義します。

この画像は、ハイダイナミックレンジ画像か、事前に生成されたキューブマップであることが望ましいです。プリベイクすることで、フィルタリングやミップマップ生成に時間がかからないため、実行時のパフォーマンスが大幅に向上します。ソースが.hdrやその他の画像の場合、GPUベースの前処理は画像ファイルを読み込んだ後の実行時に行われるため、特に組み込み機器やモバイルハードウェアでは時間がかかる可能性があります。そのため、.hdr 画像の前処理は、遅くともビルド時に行うことを強く推奨します

注意: このプロパティとsourceItem を組み合わせたテクスチャの使用はサポートされていません。ダイナミックQt Quick コンテンツのすべての mip レベルの事前フィルタリングは、パフォーマンスへの影響から、実際には一般的に妥当ではありません。

イメージベースライティングの詳細については、イメージベースライティングを使用するを参照してください。

注: ライトプローブテクスチャは、プロパティが有効なテクスチャに設定されている場合、backgroundMode に関係なくライティングに使用されます。ただし、backgroundModeSceneEnvironment.SkyBox に設定されている場合、このテクスチャはスカイボックスとしてシーン背景をレンダリングするためにも使用されます。

以下の例は、以下のシーンの環境でbackgroundMode を変えて生成したものです。このシーンには、DirectionLight、PointLightSpotLight がありません。すべてのライティングは、パノラマ HDRI イメージに基づいています。

import QtQuick
import QtQuick3D
import QtQuick3D.Helpers

Item {
    width: 1280
    height: 720

    View3D {
        id: v3d
        anchors.fill: parent

        environment: ExtendedSceneEnvironment {
            backgroundMode: SceneEnvironment.SkyBox
            lightProbe: Texture { source: "00455_OpenfootageNET_field_low.hdr" }

            tonemapMode: SceneEnvironment.TonemapModeFilmic
            sharpnessAmount: 0.4

            glowEnabled: true
            glowStrength: 1.25
            glowBloom: 0.25
            glowBlendMode: ExtendedSceneEnvironment.GlowBlendMode.Additive
        }

        Node {
            scale: Qt.vector3d(100, 100, 100)

            Sponza {
            }

            Suzanne {
                y: 1
                scale: Qt.vector3d(0.5, 0.5, 0.5)
                eulerRotation.y: -90
            }
        }

        PerspectiveCamera {
            id: camera
            y: 100
        }

        WasdController {
            controlledObject: camera
        }
    }
}

上記の環境での結果:

backgroundModeSceneEnvironment.Transparent に切り替えると、次のようになります:

ここでは、3Dシーンのライティングは以前と同じです。つまり、マテリアルは以前と同じようにライティング計算でライトプローブを使用しますが、スカイボックスはレンダリングされません。背景は白です。これは、2Dおよび3DシーンをホストするQQuickWindow のデフォルトのクリアカラーだからです。

lightProbeプロパティの値をデフォルトのnullに戻すことは有効です。これにより、以前関連付けられていたテクスチャの割り当てが解除されます。例えば、Deleteキーを使って、スカイボックスを使ったイメージベースのライティングと、背景のクリアカラーを固定したイメージベースのライティングなしを動的に切り替えてみましょう:

environment: ExtendedSceneEnvironment {
    id: env

    backgroundMode: SceneEnvironment.SkyBox
    lightProbe: iblTex

    tonemapMode: SceneEnvironment.TonemapModeFilmic
    sharpnessAmount: 0.4

    glowEnabled: true
    glowStrength: 1.25
    glowBloom: 0.25
    glowBlendMode: ExtendedSceneEnvironment.GlowBlendMode.Additive
}

Texture {
    id: iblTex
    source: "00455_OpenfootageNET_field_low.hdr"
}

focus: true
Keys.onDeletePressed: {
    if (env.backgroundMode == SceneEnvironment.SkyBox) {
        env.backgroundMode = SceneEnvironment.Color;
        env.clearColor = "green";
        env.lightProbe = null;
    } else {
        env.backgroundMode = SceneEnvironment.SkyBox;
        env.lightProbe = iblTex;
    }
}

Deleteキーを押すと、次のようになります。Deleteキーを押すと、次のような結果になります。ここで使用したシーンにはライトがないため、すべての3Dモデルが真っ黒に見えることを覚えておいてください。

lightProbeは、イメージファイル(一般的に.hdrや.ktx)からデータを取得するTextureインスタンスと組み合わせて使用するのが一般的ですが、インメモリ(procedurally generated image data )を使用するTextureと関連付けるのも理にかなっています。この典型的な例は、画像データがQtQuick3D.Helpers モジュールからProceduralSkyTextureData によって生成される Texture です:

backgroundMode: SceneEnvironment.SkyBox
lightProbe: Texture {
    textureData: ProceduralSkyTextureData {
    }
}

これにより、プロシージャルに生成されたHDRスカイボックステクスチャが得られ、スカイボックスとしても、画像ベースのライティングにも使用できるようになりました:

backgroundModeUsing Image-Based LightingPre-generating IBL cubemapprobeExposureprobeHorizonprobeOrientationProceduralSkyTextureDataも参照してください


lightmapper : Lightmapper

このプロパティが有効な Lightmapper オブジェクトに設定されると、ライトマップをベイクするときに、そのオブジェクトで指定された設定が考慮されます。

デフォルト値はNULLで、これはすべてのベイク関連設定にデフォルト値を使用することを意味します。

ライトマップをベイクする方法の詳細については、Lightmapper ドキュメントを参照してください。

ライトマップがアプリケーションに関係なく、ベイクされたライティングが生成されない場合、このプロパティと関連オブジェクトは実際には何の役にも立ちません。

Model::usedInBakedLighting,Model::bakedLightmap,Light::bakeMode,Lightmapperも参照して ください。


probeExposure : real

このプロパティは、ライトプローブが発する光の量を変更します。トーンマッピングの一部は露出マッピングであり、このプロパティは、ライトプローブ内の光の値がどのようにトーンマッピングされるかを調整します。

デフォルトでは、露出は1.0に設定されています。

注意: このプロパティは、tonemapModeSceneEnvironment.TonemapModeNone に設定されている場合、効果を持ちません。

lightProbe,probeHorizon,probeOrientationも参照してください


probeHorizon : real

このプロパティは、値を大きくして定義すると、環境の下半分に暗さ(黒)を追加し、照明が主に画像の上部から来るようにします(そして、下半分からの特定の反射を取り除きます)。このプロパティは、地面からのライトプローブの反射を不明瞭にする効果を持つグランドプレーンを考慮するのに便利です。これは、ライトプローブの寄与が、シーンの内容を考慮することなく画像から直接来るために必要である。

probeHorizonプロパティの期待値範囲は0.0~1.0です。この範囲外の値は、期待される範囲にクランプされます。

デフォルトのprobeHorizonは0.0に設定されており、これはライトプローブ全体が調整なしで使用されることを意味します。

注意: probeHorizonプロパティはマテリアルのライティングにのみ影響し、スカイボックスのレンダリングには影響しません。

lightProbe,probeExposure,probeOrientationも参照してください


probeOrientation : vector3d

このプロパティは、ライトプローブの向きを定義します。向きは、x、y、z 軸のオイラー角(度)で定義されます。

注意: この値は、lightProbe テクスチャに設定されたテクスチャの回転やオフセットと組み合わせて、lightProbe テクスチャのサンプリング方法を補強します。

lightProbeprobeHorizonprobeExposureも参照してください


scissorRect : rect [since 6.5]

このプロパティは、左上端を [0, 0] とするシザー矩形をビュー座標で定義します。

このプロパティは Qt 6.5 で導入されました。


skyBoxCubeMap : QtQuick3D::CubeMapTexture [since 6.4]

このプロパティは、背景モードがSkyBoxCubeMap の時にスカイボックスとして使用されるキューブマップを定義します。

このプロパティは Qt 6.4 で導入されました。


skyboxBlurAmount : real [since 6.4]

このプロパティは、backgroundMode プロパティにSceneEnvironment.SkyBox を使用する場合に、スカイボックスをどの程度ぼかすかを決定します。デフォルト値は0.0 で、これはぼかしがないことを意味します。

使用可能な値の範囲は 0.0 ~ 1.0 で、その他の値はすべてこの範囲に固定されます。

このプロパティは Qt 6.4 で導入されました。


specularAAEnabled : bool [since 6.4]

このプロパティを有効にすると、スペキュラエイリアシングが緩和されます。スペキュラエイリアシングは、明るいドットの形で見えることが多く、カメラを動かしたときにちらつくことがあります。

デフォルト値はfalseです。

スペキュラAA無効スペキュラ AA 有効

このプロパティは Qt 6.4 で導入されました。


temporalAAEnabled : bool [default: false]

このプロパティを有効にすると、一時的なアンチエイリアシングが使用されます。

カメラはフレーム間でわずかに揺れ、それぞれの新しいフレームの結果は前のフレームとブレンドされます。

注: antialiasingMode が MSAA の場合、テンポラル・アンチエイリアスは効果を持ちません。

注: ProgressiveAAantialiasingMode と組み合わせた場合、シーンがアニメーションするときはtemporalAAが使用され、アニメーションが停止するとProgressiveAAが使用されます。

長所:長所:カメラが揺れ動くため、他の方法では失われる本当のディテールが見つかる。

短所:動きの速いオブジェクトはワンフレームのゴーストを引き起こす。

注意: テンポラル・アンチエイリアシングは現在マルチビュー・レンダリングではサポートされていないため、VR/ARアプリケーションでは使用しないでください。


temporalAAStrength : real [default: 0.3]

このプロパティは、時間的な動き(アンチエイリアス)の量を変更します。これは、temporalAAEnabled プロパティがtrueの場合にのみ効果があります。

temporalAAEnabledも参照してください


tonemapMode : enumeration [since 6.0]

このプロパティは、レンダリング前の色のトーンマップ方法を定義します。Qt Quick 3D のレンダリングはすべてリニアカラー空間で行われるため、多くの場合、表示できないカラー値が生成される可能性があります。tonemapMode は、色を表示可能な範囲に再マッピングするために使用される手法を決定します。

デフォルト値はSceneEnvironment.TonemapModeLinear

一定です。説明
SceneEnvironment.TonemapModeNoneすべてのトーンマッピングがバイパスされます。このモードは、ポスト処理エフェクトを実行するときに便利です。
SceneEnvironment.TonemapModeLinearリニアトーンマッピングが適用されます。色はガンマ補正され、sRGB色空間で返されます。
SceneEnvironment.TonemapModeAcesAcademy Color Encoding System トーンマッピングを適用。
SceneEnvironment.TonemapModeHejlDawsonHejl-Dawson トーンマッピングが適用されます。
SceneEnvironment.TonemapModeFilmicフィルミック・トーンマッピングが適用される。

これらの異なるモードの例については、ExtendedSceneEnvironment を参照してください。

注意: ポストプロセッシングエフェクトを使用する場合、ほとんどのエフェクトはトーンマッピングされていないリニアカラーデータを想定しています。アプリケーションから提供され、Effect タイプを介して実装されたカスタムエフェクトでは、Qt 6.5 以降のエフェクトはリニアカラーデータで動作することを前提としており、トーンマッピングはチェーンの最後のエフェクトの出力で自動的に実行されることを知っておくことが重要です。トーンマッピングを完全にカスタマイズする必要がある場合は、SceneEnvironment.TonemapModeNone の値を設定して内蔵のトーンマッパーを無効にし、代わりにチェーンの最後のエフェクトのカラー値で適切な調整を行うことを検討してください。これは、ExtendedSceneEnvironment の組み込みエフェクトには適用されません。なぜなら、これらのエフェクトは、組み込みエフェクトのどのような組み合わせが環境で有効になっているかに関係なく、自動的に適切なトーンマッピングを行うからです。

このプロパティは Qt 6.0 で導入されました。


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