SceneEnvironment QML Type
シーンのレンダリング方法を設定します。詳細...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Inherited By: |
プロパティ
- antialiasingMode : enumeration
- antialiasingQuality : enumeration
- aoBias : real
- aoDistance : real
- aoDither : bool
- aoEnabled : bool
(since 6.5) - aoSampleRate : int
- aoSoftness : real
- aoStrength : real
- backgroundMode : enumeration
- clearColor : color
- debugSettings : QtQuick3D::DebugSettings
(since 6.5) - depthPrePassEnabled : bool
- depthTestEnabled : bool
- effects : List<QtQuick3D::Effect>
- fog : QtQuick3D::Fog
(since 6.5) - lightProbe : QtQuick3D::Texture
- lightmapper : Lightmapper
- oitMethod : enumeration
(since 6.11) - probeExposure : real
- probeHorizon : real
- probeOrientation : vector3d
- scissorRect : rect
(since 6.5) - skyBoxCubeMap : QtQuick3D::CubeMapTexture
(since 6.4) - skyboxBlurAmount : real
(since 6.4) - specularAAEnabled : bool
(since 6.4) - temporalAAEnabled : bool
- temporalAAMode : enumeration
(since 6.11) - temporalAAStrength : real
- tonemapMode : enumeration
(since 6.0)
詳細説明
SceneEnvironment は、シーンがどのようにレンダリングされるべきかのグローバルプロパティのセットを定義します。
Note: QtQuick3D.Helpers モジュールは、SceneEnvironment を継承し、その上に多くの組み込みエフェクトを追加するExtendedSceneEnvironment タイプを提供します。
SceneEnvironment またはExtendedSceneEnvironment を使用するには、View3D のenvironment 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
}機能の概要
- アンチエイリアス設定。このトピックの概要については、「アンチエイリアシングのベストプラクティス」を参照してください。関連するプロパティはantialiasingMode,antialiasingQuality,specularAAEnabled,temporalAAEnabled,temporalAAStrength です。また、ExtendedSceneEnvironment を使用する場合は、fxaaEnabled を使用する方法もあります。
- スクリーン空間アンビエントオクルージョン。関連するプロパティはaoEnabled,aoStrength,aoBias,aoDistance,aoDither,aoSampleRate,aoSoftness です。SSGI もアンビエントオクルージョンを提供し、パフォーマンスが高くなる可能性はありますが、より質の高い結果が得られることが多いことに注意してください。SceneEnvironment のアンビエントオクルージョンとExtendedSceneEnvironment の SSGI を一緒に有効にするのは避けてください。
- クリアカラー、スカイボックス、イメージベースライティング。IBL の詳細については、Using Image-Based Lighting を参照してください。関連するプロパティはbackgroundMode,clearColor,lightProbe,probeExposure,probeHorizon,probeOrientation,skyboxBlurAmount,skyBoxCubeMap です。
- トーンマッピング。tonemapMode は、グラフィックスパイプラインの最後でハイダイナミックレンジのカラー値を0~1の範囲に変換するために使用されるトーンマッピング方法を設定します。ExtendedSceneEnvironment は、トーンマッピング計算を調整するために使用できるwhitePoint やsharpnessAmount などの追加のプロパティをいくつか提供しています。
- デプスバッファの設定。関連するプロパティはdepthPrePassEnabled,depthTestEnabled です。
- ポストプロセス効果。ExtendedSceneEnvironment で提供されるビルトイン・ポストプロセッシング・エフェクトに加え、アプリケーションはEffect タイプを介して独自のカスタム・エフェクトを提供できます。effects プロパティはEffect インスタンスのリストです。
- マテリアルのワイヤーフレームモードや特定のカラーコントリビューションのみのレンダリングなど、ビジュアライゼーションの設定をデバッグします。これは、debugSettings プロパティから参照されるDebugSettings オブジェクトによって制御されます。これらの設定のほとんどは、DebugView アイテムがシーンに追加されたときに、インタラクティブに制御することもできます。
- フォグの設定。フォグを有効にするには、fog プロパティに適切に設定されたFog オブジェクトを設定します。
- ライトマップのベイク設定。シーン内のいくつかのモデルにプリベイクされたライトマップが使用されている場合、lightmapper プロパティに設定されたLightmapper オブジェクトは、ベイクプロセス中に使用される設定を定義します。
- シザーの設定。ビューポートとは異なるシザーを適用するには、scissorRect プロパティを設定します。
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 またはQQuickView のQSurfaceFormat を介してのみ有効にできます。これは、そのウィンドウ内の2Dと3Dの両方のすべてのコンテンツに影響します。
プログレッシブ・アンチエイリアス
このプロパティは、シーンに適用されるプログレッシブ・アンチエイリアスのレベルを有効化し、設定します。
シーンのすべてのコンテンツが動きを止めたとき、カメラはフレーム間でごくわずかに揺れ、それぞれの新しいフレームの結果が前のフレームとブレンドされます。フレームを積み重ねるほど、結果は見栄えが良くなる。
長所シーン内のすべてのコンテンツが静止している場合に素晴らしい結果をもたらす。
短所:視覚的な変化が起きている場合は効果がない。蓄積とブレンドが必要なため、コストがかかる。ビデオメモリ使用量が増える。
注: プログレシング・アンチエイリアシングは、現在マルチビュー・レンダリングではサポートされていません。
アンチエイリアシングの詳細については、アンチエイリアシングのベストプラクティスを参照してください。
antialiasingQuality : enumeration
このプロパティは、シーンに適用されるアンチエイリアスのレベルを設定します。動作は使用するantialiasingMode に依存します。antialiasingMode プロパティがNoAA に設定されている場合、このプロパティは効果を持ちません。
可能な値は次のとおりです:
| 一定 | 説明 |
|---|---|
SceneEnvironment.Medium | SSAA:アンチエイリアシングは1.2倍のスーパーサンプリング解像度を使用します。 MSAA: 。 ProgressiveAA:最終画像に2フレームを使用。 |
SceneEnvironment.High | SSAA:アンチエイリアシングは 1.5 倍のスーパーサンプリング解像度を使用。 MSAA: 。 ProgressiveAA:最終画像に4フレームを使用。 |
SceneEnvironment.VeryHigh | SSAA:アンチエイリアシングは 2.0 倍のスーパーサンプリング解像度を使用。 MSAA: 。 ProgressiveAA:最終画像に8フレームを使用。 |
デフォルト値はSceneEnvironment.High
aoBias : real
このプロパティは、オブジェクトが近距離でアンビエントオクルージョンを示すのを防ぐカットオフ距離を定義します。値を大きくすると、アンビエントオクルージョンが見られるまでに必要なオブジェクト間の距離が長くなります。
注意: 影がないはずのオブジェクトにアンビエントオクルージョンの影が見える場合は、値を少し大きくして近い結果を切り取ってください。
デフォルト値は0.0です。
aoDistance : real
このプロパティは、アンビエントオクルージョンの影がオブジェクトからどのくらい離れて広がるかをおおまかに定義します。距離が離れるほど、パフォーマンスへの影響が大きくなります。
デフォルト値は5.0です。
写真はデフォルトのaoSoftness と最大のaoStrength :
| aoDistanceの5 | aoDistanceが1の場合 |
|---|---|
|
|
注意: 画面空間のアンビエントオクルージョンを視覚的に見栄えよくするには、aoStrength 、aoSoftness 、 aoDistance 、aoDither 、aoBias 、aoSampleRate などの関連パラメーターを慎重に調整する必要があります。
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 で導入されました。
aoStrength とaoDistanceも参照して ください。
aoSampleRate : int
このプロパティは、パフォーマンスを犠牲にしてアンビエントオクルージョンの品質(より多くのグレーのシェード)を定義します。
値は2、3、または4でなければなりません。デフォルト値は2です。
aoSoftness : real
このプロパティは、アンビエントオクルージョンのシェーディングのエッジをどの程度滑らかにするかを定義します。
値は0.0から50.0の間でなければなりません。デフォルト値は50.0です。
写真はデフォルトのaoDistance と最大のaoStrength :
| aoSoftnessの50 | aoSoftnessの25 |
|---|---|
|
|
注意: 視覚的に美しいスクリーン空間のアンビエントオクルージョンを得るには、aoStrength 、aoSoftness、aoDistance 、aoDither 、aoBias 、aoSampleRate など、関連する多くのパラメータを注意深く調整する必要があります。
aoStrength およびaoDistanceも参照して ください。
aoStrength : real
このプロパティは、アンビエントオクルージョンの適用量を定義します。アンビエントオクルージョンとは、近似グローバルイルミネーションの一種で、オブジェクトが近くにある場合、無指向性のセルフシャドウが発生します。値が100の場合、完全な暗闇の影になり、値が低いほど影が薄く見えます。値を0にするとアンビエントオクルージョンを完全に無効にし、シーンにレンダリングされる3Dオブジェクトの視覚的リアリズムを犠牲にする代わりにパフォーマンスを向上させます。
0以外の値は、パフォーマンスに同じ影響を与えます。
デフォルト値は0.0です。最大値は 100.0 です。
値 0 は、aoEnabled を false に設定するのと同じです。
写真はデフォルトのaoSoftness とaoDistance :
| aoStrengthが0(AO無効) | aoStrengthが100の場合 | aoStrengthが50 |
|---|---|---|
|
|
|
注意: 視覚的に見栄えの良いスクリーン空間のアンビエントオクルージョンを得るには、aoStrength、aoSoftness 、aoDistance 、aoDither 、aoBias 、aoSampleRate など、関連する多くのパラメータを慎重に調整する必要があります。
aoEnabled,aoDistance,aoSoftnessも参照して ください。
backgroundMode : enumeration
このプロパティは、シーンの背景をクリアするかどうか、またどのようにクリアするかを制御します。
注意: View 3Dをバックアップするカラーバッファのクリアは、常に行われるわけではありません。renderMode プロパティによっては、View3D はそれ自体でクリアを実行しないことがあり、その場合、SceneEnvironment.Transparent とSceneEnvironment.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_TEXTURE 、DEPTH_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 に関係なくライティングに使用されます。ただし、backgroundMode がSceneEnvironment.SkyBox に設定されている場合、このテクスチャはスカイボックスとしてシーン背景をレンダリングするためにも使用されます。
以下の例は、以下のシーンの環境でbackgroundMode を変えて生成したものです。このシーンには、DirectionLight、PointLight 、SpotLight がありません。すべてのライティングは、パノラマ 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 } } }
上記の環境での結果:


backgroundMode をSceneEnvironment.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スカイボックステクスチャが得られ、スカイボックスとしても、画像ベースのライティングにも使用できるようになりました:

backgroundMode 、Using Image-Based Lighting、Pre-generating IBL cubemap、probeExposure 、probeHorizon 、probeOrientation 、ProceduralSkyTextureDataも参照してください 。
lightmapper : Lightmapper
このプロパティが有効な Lightmapper オブジェクトに設定されている場合、ライトマップのベイク時に、そのオブジェクトで指定された設定が考慮されます。
デフォルト値はNULLで、すべてのベイク関連設定にデフォルト値を使用することを意味します。
ライトマップをベイクする方法の詳細については、Lightmapper ドキュメントを参照してください。
ライトマップがアプリケーションに関係なく、ベイクされたライティングが生成されない場合、このプロパティと関連オブジェクトは実際には何の役にも立ちません。
Model::usedInBakedLighting,Model::bakedLightmap,Light::bakeMode,Lightmapperも参照して ください。
oitMethod : enumeration [since 6.11]
このプロパティは Order Independent Transparency メソッドを保持する。このプロパティを有効な OIT メソッドに設定すると、レンダラーが正しい深度順序で透明ピクセルをレンダリングします。
設定可能な値は次のとおりです:
| 定数 | 説明 |
|---|---|
SceneEnvironment.OITNone | OITはオフになっています。 |
SceneEnvironment.OITWeightedBlended | 順序に依存しない透明度を近似します。 |
SceneEnvironment.OITLinkedList | オーダーに依存しない正確な透明度。 |
デフォルトはNone 、order independent transparencyはオフ。
重み付きブレンド
これは順序に依存しない透過の近似です。透過フラグメントはオフスクリーンバッファにレンダリングされ、各フラグメントにはカメラからの距離に基づいて重み付けが適用されます。このバッファは、各ピクセルの重み付けを解除した後、バックバッファにブレンドされます。この方法は、すべてのフラグメントに対してソースオーバー合成ルールに従わないため、結果は正しい結果とは異なりますが、この方法は古いハードウェアでも動作し、他のより厳密な方法よりも高速です。
リンクされたリスト
これは正確な順序に依存しない透明化です。透過フラグメントは、レンダーパスでリンクリストにレンダリングされ、合成パスで深さ順にソートされてブレンドされます。
注記: OITは、SLES 3.1以下のデバイスではMSAAで動作しない場合があります。このようなデバイスでOITを使用したい場合は、MSAAを使用しないことを推奨します。
注記: 順序に依存しない透過性は、ソースオーバーブレンドモードにのみ適用されます。シーンに他のブレンドモードのオブジェクトが含まれている場合、OIT は無効になります。
このプロパティは Qt 6.11 で導入されました。
probeExposure : real
このプロパティは、ライトプローブが発する光の量を変更します。トーンマッピングの一部は露出マッピングであり、このプロパティはライトプローブの光の値がどのようにトーンマッピングされるかを調整します。
デフォルトでは、露出は1.0に設定されています。
注意: このプロパティは、tonemapMode がSceneEnvironment.TonemapModeNone に設定されている場合、効果を持ちません。
lightProbe 、probeHorizon 、probeOrientationも参照してください 。
probeHorizon : real
このプロパティは、値を増加させて定義すると、環境の下半分に暗闇(黒)を追加し、照明が主に画像の上部から来るように強制します(下半分からの特定の反射を除去します)。このプロパティは、地面からのライトプローブの反射を不明瞭にする効果を持つグランドプレーンを考慮するのに便利です。これは、ライトプローブの寄与が、シーンの内容を考慮することなく画像から直接来るために必要である。
probeHorizonプロパティの期待値範囲は0.0~1.0です。この範囲外の値は、期待される範囲にクランプされます。
デフォルトでは、probeHorizonは0.0に設定されており、これはライトプローブ全体が調整なしで使用されることを意味します。
注意: probeHorizonプロパティはマテリアルのライティングにのみ影響し、スカイボックスのレンダリングには影響しません。
lightProbe,probeExposure,probeOrientationも参照してください 。
probeOrientation : vector3d
このプロパティは、ライトプローブの向きを定義します。Orientation は、x, y, z 軸上のオイラー角(度)で定義されます。
注意: この値は、lightProbe テクスチャに設定されているテクスチャの回転やオフセットと組み合わせて、lightProbe テクスチャのサンプリング方法を補強します。
lightProbe 、probeHorizon 、probeExposureも参照してください 。
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 の場合、テンポラル・アンチエイリアスは効果を持ちません。
注: ProgressiveAAを使用する場合、テンポラルAAはシーンのアニメーション中に適用されます。ただし、temporalAAMode がSceneEnvironment.TAADefault の場合に限ります。言い換えれば、ProgressiveAAは、シーンが静止しているときには適用されません:ProgressiveAA は、temporalAAMode がSceneEnvironment.TAAMotionVector に設定されているときは、効果がありません。
長所:長所:カメラが揺れ動くため、他の方法では失われるディテールを見つけることができる。
短所:動きの速いオブジェクトは1フレームのゴーストを引き起こす。
注意: Temporal Antialiasingは現在マルチビューレンダリングではサポートされていないため、VR/ARアプリケーションでは使用しないでください。
temporalAAMode : enumeration [since 6.11]
テンポラル・アンチエイリアス・モードを制御する。テンポラルAAは、複数のフレームにまたがる情報をブレンドすることで、ちらつきやエイリアシングを低減する。
| 定数 | 説明 |
|---|---|
SceneEnvironment.TAADefault | 基本的なテンポラルフィルタリングのために、現在のフレームと前のフレームをブレンドします。 |
SceneEnvironment.TAAMotionVector | モーションベクトルを使用してフレーム間のピクセルの動きを追跡し、アニメーションシーンに優れた品質を提供します。 |
デフォルトはSceneEnvironment.TAADefault 。
注: Temporal AA は、動きの速いオブジェクトやカメラの急激な動きでゴーストのアーティファクトを引き起こす可能性があります。
注: フレームレートが一定の場合に最も効果的です。フレームレートの変動は効果を低下させます。
このプロパティは Qt 6.11 で導入されました。
temporalAAStrength : real [default: 0.3]
このプロパティは、時間的な動き(アンチエイリアス)の量を変更します。これは、temporalAAEnabled プロパティがtrueで、temporalAAMode プロパティがSceneEnvironment.TAADefaultのときのみ効果があります。
temporalAAEnabledも参照してください 。
tonemapMode : enumeration [since 6.0]
このプロパティは、レンダリング前に色がどのようにトーンマップされるかを定義します。Qt Quick 3D のすべてのレンダリングは線形色空間で実行されるため、多くの場合、表示不可能な色値が生成される可能性があります。tonemapMode は、色を表示可能な範囲に再マッピングするために使用される手法を決定します。
デフォルト値はSceneEnvironment.TonemapModeLinear
| 一定です。 | 説明 |
|---|---|
SceneEnvironment.TonemapModeNone | すべてのトーンマッピングがバイパスされます。このモードは、ポスト処理エフェクトを実行するときに便利です。 |
SceneEnvironment.TonemapModeLinear | リニアトーンマッピングが適用されます。色はガンマ補正され、sRGB 色空間で返されます。 |
SceneEnvironment.TonemapModeAces | Academy Color Encoding System トーンマッピングが適用されます。 |
SceneEnvironment.TonemapModeHejlDawson | Hejl-Dawson トーンマッピングが適用されます。 |
SceneEnvironment.TonemapModeFilmic | Filmic トーンマッピングが適用されます。 |
これらの異なるモードの例については、ExtendedSceneEnvironment を参照してください。
注意: ポストプロセッシングエフェクトを使用する場合、ほとんどのエフェクトはトーンマッピングされていないリニアカラーデータを想定しています。アプリケーションから提供され、Effect タイプを介して実装されたカスタムエフェクトでは、Qt 6.5 以降のエフェクトはリニアカラーデータで動作することを前提としており、トーンマッピングはチェーンの最後のエフェクトの出力で自動的に実行されることを知っておくことが重要です。トーンマッピングを完全にカスタマイズする必要がある場合は、SceneEnvironment.TonemapModeNone の値を設定して内蔵のトーンマッパーを無効にし、代わりにチェーンの最後のエフェクトのカラー値で適切な調整を行うことを検討してください。これは、ExtendedSceneEnvironment の組み込みエフェクトには適用されません。なぜなら、これらのエフェクトは、組み込みエフェクトのどのような組み合わせが環境で有効になっているかに関係なく、自動的に適切なトーンマッピングを行うからです。
このプロパティは Qt 6.0 で導入されました。
© 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.








