ExtendedSceneEnvironment QML Type
SceneEnvironment よく使われるレンダリング効果を提供する。詳細...
Import Statement: | import QtQuick3D.Helpers |
Since: | Qt 6.5 |
Inherits: |
プロパティ
- adjustmentBrightness : real
- adjustmentContrast : real
- adjustmentSaturation : real
- colorAdjustmentsEnabled : bool
- depthOfFieldBlurAmount : real
- depthOfFieldEnabled : bool
- depthOfFieldFocusDistance : real
- depthOfFieldFocusRange : real
- ditheringEnabled : bool
- exposure : real
- fxaaEnabled : bool
- glowBlendMode : int
- glowBloom : real
- glowEnabled : bool
- glowHDRMaximumValue : real
- glowHDRMinimumValue : real
- glowHDRScale : real
- glowIntensity : real
- glowLevel : int
- glowQualityHigh : bool
- glowStrength : real
- glowUseBicubicUpscale : bool
- lensFlareApplyDirtTexture : bool
- lensFlareApplyStarburstTexture : bool
- lensFlareBloomBias : real
- lensFlareBloomScale : real
- lensFlareBlurAmount : real
- lensFlareCameraDirection : vector3d
- lensFlareDistortion : real
- lensFlareEnabled : bool
- lensFlareGhostCount : int
- lensFlareGhostDispersal : real
- lensFlareHaloWidth : real
- lensFlareLensColorTexture : Texture
- lensFlareLensDirtTexture : Texture
- lensFlareLensStarburstTexture : Texture
- lensFlareStretchToAspect : real
- lutEnabled : bool
- lutFilterAlpha : real
- lutSize : real
- lutTexture : Texture
- sharpnessAmount : real
- tonemapMode : enumeration
- vignetteColor : color
- vignetteEnabled : bool
- vignetteRadius : real
- vignetteStrength : real
- whitePoint : real
詳細な説明
ExtendedSceneEnvironment
はQtQuick3D のSceneEnvironment タイプを拡張したもので、よく使われるエフェクトのコレクションが組み込まれています。これらのエフェクトは、制御するエフェクトの名前を先頭に持つ一連のプロパティを通して公開されます。
これらのエフェクトを 1 つ以上有効にすると、SceneEnvironment のeffects リストに後処理エフェクトを手動で追加するのと同様の結果が得られます。しかし、ExtendedSceneEnvironment は、スタンドアロンでは利用できないエフェクトを提供し、さらに重要な点として、有効化されたエフェクトを効率的に組み合わせることで、必要な追加のレンダーパスの数を減らし、シーンに個別のポストプロセッシングエフェクトを適用するよりも大幅にパフォーマンスを向上させることができます。ExtendedSceneEnvironmentはまた、より複雑なマルチパスエフェクトや、複数のエフェクトを有効にして一緒に組み合わせた場合でも、トーンマッピングとうまく連携します。これは、スタンドアロンエフェクトでは必ずしもそうではありませんでした。
注意: SceneEnvironment のeffects リストに追加の後処理エフェクトが追加された場合、それらのエフェクトはExtendedSceneEnvironment タイプで提供されるエフェクトの前に適用されます。
トーンマッピングなど、SceneEnvironment の一部の機能は継承され、ExtendedSceneEnvironment の追加プロパティで拡張されます。たとえば、SceneEnvironment は、tonemapMode プロパティを提供しますが、ExtendedSceneEnvironment では、トーンマッパの露出、ホワイトポイント、シャープネス、ディザリングの設定も制御できるようになります。ただし、ExtendedSceneEnvironment はすべてをSceneEnvironment から継承するため、tonemapMode プロパティは重複しません。したがって、トーンマッピングモードの基本設定は、View3D にどのタイプの環境が関連付けられていても使用できますが、追加プロパティは ExtendedSceneEnvironment を使用する場合にのみ使用できます。スクリーンスペースアンビエントオクルージョン(SSAO)やフォグなどのその他のエフェクトは、完全にSceneEnvironment の一部であり、どちらのタイプの環境でも使用できます。
ExtendedSceneEnvironment を使い始める
ExtendedSceneEnvironment が提供する追加機能を使用するには、View3D をそのインスタンスに関連付けます。QtQuick3D.Helpers
モジュールのインポートを忘れないでください。
import QtQuick3D import QtQuick3D.Helpers View3D { environment: ExtendedSceneEnvironment { tonemapMode: SceneEnvironment.Filmic vignetteEnabled: true // ... } }
注意: エフェクトのパラメータを試して値を調整し、希望する視覚的な結果を得るには、値を変更したときにレンダリングシーンで即座にフィードバックされるスライダのようなコントロールを使って視覚的に行うと、より生産的になることがよくあります。そのため、Qt Design Studio のようなデザイナーツールや、Qt Quick 3D - Scene Effects Exampleのようなテストベッドを使用することは、視覚的に魅力的な高品質のシーンを設定する場合に推奨されます。
注意: SceneEnvironment を ExtendedSceneEnvironment に切り替えると、シングルパスのエフェクトがSceneEnvironment's effect list に追加された場合と同じように、少なくとも1回のレンダーパスが自動的に追加されます。 これは、個々のポストプロセスステップがいくつ有効になっているかに関係なく当てはまります。(より複雑なエフェクトは、1つ以上の追加レンダーパスを含む場合があります)。
利用可能なエフェクト
以下は、SceneEnvironment から継承された機能を含む、ExtendedSceneEnvironment が提供するエフェクトと関連機能の概要です。
- Tonemapping - 色を表示する前に、高解像度範囲から 0 ~ 1 の範囲にトーンマップする方法を制御します。ExtendedSceneEnvironment は、露出、白色点、シャープネス、ディザリングの制御を追加します。
tonemapMode,exposure,whitePoint,ditheringEnabled のプロパティで制御します。
- Color adjustments - 明るさ、コントラスト、彩度の調整。
プロパティcolorAdjustmentsEnabled,adjustmentBrightness,adjustmentContrast,adjustmentSaturation によって制御されます。
- Color grading ルックアップテーブル(LUT)テクスチャ経由。
プロパティlutEnabled,lutSize,lutFilterAlpha で制御。
- Depth of field
プロパティdepthOfFieldEnabled,depthOfFieldFocusDistance,depthOfFieldFocusRange,depthOfFieldBlurAmount によって制御されます。
- Glow and bloom
プロパティによって制御されるglowEnabled,glowQualityHigh,glowUseBicubicUpscale,glowStrength,glowIntensity,glowBloom,glowBlendMode,glowHDRMaximumValue,glowHDRMinimumValue,glowHDRScale.
- Vignette
プロパティによって制御されるvignetteEnabled,vignetteStrength,vignetteColor,vignetteRadius.
- Lens flare
プロパティによって制御されるlensFlareEnabled,lensFlareBloomBias,lensFlareGhostDispersal,lensFlareGhostCount,lensFlareHaloWidth,lensFlareStretchToAspect,lensFlareDistortion,lensFlareBlurAmount,lensFlareApplyDirtTexture,lensFlareApplyStarburstTexture,lensFlareCameraDirection,lensFlareLensColorTexture,lensFlareLensDirtTexture,lensFlareLensStarburstTexture.
- Screen space ambient occlusion - 提供: 。SceneEnvironment
SceneEnvironment::aoEnabled,SceneEnvironment::aoStrength,SceneEnvironment::aoDistance,SceneEnvironment::aoSoftness,SceneEnvironment::aoDither,SceneEnvironment::aoSampleRate,SceneEnvironment::aoBias によって制御される。
- Fog - 提供: .これはポスト処理タイプのエフェクトではなく、シーン内のレンダリング可能なオブジェクトのマテリアルに適用されます。SceneEnvironment
SceneEnvironment::fog プロパティに関連付けられたFog オブジェクトによって制御されます。
- Antialiasing - マルチサンプリング、スーパーサンプリング、プログレッシブ・アンチエイリアシング、スペキュラ・アンチエイリアシング、テンポラル・アンチエイリアシングは、 によって提供されます。 は、 を使用するオプションを追加します。SceneEnvironment ExtendedSceneEnvironment a form of FXAA
FXAAはfxaaEnabled 。その他のアンチエイリアスモードは、SceneEnvironment::antialiasingMode 、SceneEnvironment::temporalAAEnabled 、SceneEnvironment::temporalAAStrength 、SceneEnvironment::specularAAEnabled によって制御されます。
SceneEnvironment およびQt Quick 3D - Scene Effects Exampleも参照してください 。
プロパティ ドキュメント
adjustmentBrightness : real |
シーンの明るさを調整します。
明るさ 1 | 明るさ 4 |
---|---|
adjustmentContrast : real |
シーンのコントラストを調整します。
コントラスト1 | コントラスト 4 |
---|---|
adjustmentSaturation : real |
シーンの彩度を調整します。
彩度 1 | 彩度4 |
---|---|
colorAdjustmentsEnabled : bool |
色の調整を有効にします。
colorAdjustmentsEnabledも参照してください 。
depthOfFieldBlurAmount : real |
フォーカス範囲外のオブジェクトに適用されるぼかしの量。適切な値は0から10 の範囲です。値 0 の場合、追加のぼかしは適用されません。
ぼかし量 0 | ぼかし量 15 |
---|---|
depthOfFieldEnabled : bool |
被写界深度ぼかし効果を有効にします。
depthOfFieldFocusDistance : real |
カメラからの距離を設定します。
ここでは、Sponzaシーンに100
のスケールを適用しています。これは、視界の奥と手前にぼかしを適用するのに適した大きな範囲を持つためです。下の写真は、フォーカス距離753、フォーカス範囲482で撮影したものです。
depthOfFieldFocusRange : real |
depthOfFieldFocusDistance 、ピントは完全に合っている。その後、手前も奥も同じ距離でピントが完全にボケていく。
ditheringEnabled : bool |
バンディング・アーティファクトを減らすためにディザリングを有効にする。
exposure : real |
トーンマッパーが使用する露出レベル。
フィルムトンマッピング、露出8 | 露出を0.5に設定したフィルム調トンマッピング。 |
---|---|
fxaaEnabled : bool |
高速近似アンチエイリアス(FXAA)を有効にします。
FXAA無効 | FXAA有効 |
---|---|
glowBlendMode : int |
グロー効果のブレンドモード。
使用可能なモードは次のとおりです:
- ExtendedSceneEnvironment.GlowBlendMode.Additive。
- ExtendedSceneEnvironment.GlowBlendMode.Screen
- ExtendedSceneEnvironment.GlowBlendMode.SoftLight
- ExtendedSceneEnvironment.GlowBlendMode.Replace
Additive
は、空や太陽が見えるような屋外のシーンで推奨されることが多いのですが、屋内環境ではデフォルトの 。SoftLight
Replace
.GlowBlendMode.Replaceはブレンディングを実行せず、グロー/ブルーム効果が実際のコンテンツとブレンドされる寄与のみを表示します。実際には、グロー/ブルーム効果のパラメータを設定する際の実験やトラブルシューティングに役立ちます。
ブレンドモード | 例 |
---|---|
グロー無効 | |
加算 | |
スクリーン | |
ソフトライト | |
置換 |
glowBloom : real |
グロー効果に適用されるブルームの量を設定します。0から1の値が想定される。
glowHDRMinimumValue 、glowHDRMaximumValue 、glowHDRScale 、glowBloom の各値は、グロー/ブルーム効果によって生成されるluminance feedback
の量を制御します。
実際には、glowStrength 、glowIntensity 、glowBloomの値は、しばしば望ましい結果を達成するために一緒に調整されます。
例えば、4つのグロー・レベルが有効で、強さが1.5、強度が1である場合:
glowBloomを0に設定 | glowBloomを0.5に設定 |
---|---|
glowHDRMaximumValue : real |
グローの最大輝度をハイダイナミックレンジで設定する。値の範囲は0から 256まで。
glowHDRMinimumValue 、glowHDRMaximumValue、glowHDRScale 、およびglowBloom の値を合わせて、グロー/ブルーム効果によって生成されるluminance feedback
の量を制御する。
glowHDRMinimumValue : real |
グローの最小輝度をハイダイナミックレンジで設定する。期待される値は0から 4の範囲である。
glowHDRMinimumValue、glowHDRMaximumValue 、glowHDRScale 、glowBloom の各値を合わせて、グロー/ブルーム効果によって生成されるluminance feedback
の量を制御する。
glowHDRScale : real |
HDRグローのブリードスケール。期待される値は0から8 の範囲です。
glowHDRMinimumValue 、glowHDRMaximumValue 、glowHDRScale 、glowBloom の各値を合わせて、グロー/ブルーム効果によって生成されるluminance feedback
の量を制御します。
glowIntensity : real |
グロー強度。期待される値は0から8 の範囲です。
強度は事実上、累積されたグロー・カラー(すべてのレベルを含む)のスケール・ファクター(乗数)である。
実際には、glowStrength 、glowIntensity、glowBloom の値は、望ましい結果を得るために、しばしば一緒に調整されます。
例えば、glowStrength 1.0、glowBloom 0.25:
glowIntensityを0.25 | 1.25のglowIntensity |
---|---|
glowLevel : int |
どのブラーパスがグロー効果に適用されるかを設定します。全部で7段階あります。
どのレベルも設定されていない場合、グローは視覚効果を持ちません。
例えば、グローレベル1と 6を有効にするには、2つの列挙型をORするだけです:
glowLevel = (ExtendedSceneEnvironment.GlowLevel.One | ExtendedSceneEnvironment.GlowLevel.Six)
グローレベル値 | 例 |
---|---|
一つ | |
つ|2つ | |
つ|2つ|3つ | |
つ|2つ|3つ|4つ |
glowQualityHigh : bool |
グロー効果の品質を向上させるために、ダウンサンプリング時にグローに使用するサンプルを増やします。
注意: これを有効にすると、レンダリング品質とパフォーマンスがトレードオフになります。代わりにdithering を使用できるかどうか検討してください。
glowStrength : real |
グローの強さ。使用可能な値は0から 2です。
強さは、レベルごとに適用されるスケールファクター(乗数)です。つまり、glowLevel で有効になっているレベルが多ければ多いほど、glowStrength が大きいほど効果が顕著になります。
実際には、glowStrength、glowIntensity 、glowBloom の値は、多くの場合、望ましい結果を得るために一緒に調整される。
例えば、glowIntensity が1.0、glowBloom が0.25、最初の4つのレベルが有効な場合:
glowStrengthが0.5 | 1.5のglowStrength |
---|---|
glowUseBicubicUpscale : bool |
グロー効果のエイリアシング・アーティファクトとボックス化を低減します。
注意: バイキュービックのアップスケーリングを使用すると、パフォーマンスが犠牲になります。代わりにdithering 。
lensFlareApplyDirtTexture : bool |
lensFlareApplyStarburstTexture : bool |
レンズフレアにスターバーストテクスチャを適用するかどうかを設定します。
スターバースト テクスチャ 無効 | デフォルトスターバーストテクスチャ有効 |
---|---|
lensFlareLensStarburstTexture も参照して ください。
lensFlareBloomBias : real |
レンズフレアのブルームを開始するレベルを設定します。
バイアス値はハイダイナミックレンジのカラー値から差し引かれ、結果は0にクランプされます。つまり、シーンによっては、レンズフレアを目立たせるために、かなり低い値、例えば1以下に設定する必要がある場合があります。そのため、デフォルトは0.95となっている。一方、色の範囲が広い場合は、より大きな値がより理にかなっているかもしれません。
0.81のバイアス | 0.31のバイアス |
---|---|
lensFlareBloomScale : real |
レンズフレア・ブルーム効果のスケールを設定します。期待されるスケール値は0から20 の範囲です。
実際には、lensFlareBloomBias を差し引いたゼロクランプのカラー値の乗数として機能します。
スケール2、バイアス0.81 | スケール20、バイアス0.81 |
---|---|
lensFlareBlurAmount : real |
レンズフレアに適用するぼかしの量を設定します。0から50 の範囲で設定。
ぼかし量を0に設定 | ぼかし量を30に設定 |
---|---|
lensFlareCameraDirection : vector3d |
シーン内のカメラの向きを設定します。
lensFlareDistortion : real |
レンズフレアの色収差量を設定します。期待値の範囲は0から20 です。
ディストーションを0に設定 | ディストーションを15に設定 |
---|---|
lensFlareEnabled : bool |
レンズフレアを有効にします。
有効にすると、最初に調整するプロパティは通常lensFlareBloomBias です。
lensFlareGhostCount : int |
レンズフレアのゴーストの量を設定します。期待される値は0から20 です。
ゴースト数 2 | ゴースト数 16 |
---|---|
lensFlareGhostDispersal : real |
レンズフレアゴースト間の距離を設定します。設定可能な値は0~5 です。値は0より大きくする必要があります。
ゴースト分散 0.25 | ゴースト分散0.90 |
---|---|
lensFlareHaloWidth : real |
レンズフレアのハローの大きさを設定します。0から1 の範囲で設定します。
lensFlareLensColorTexture : Texture |
レンズフレアのレンズカラーに使用するグラデーション画像。
デフォルトでは256x256のテクスチャが使用されます:
lensFlareLensDirtTexture : Texture |
lensFlareLensStarburstTexture : Texture |
レンズフレアのスターバースト効果を増強するノイズ画像。lensFlareApplyStarburstTexture が有効なときのみ効果があります。
デフォルトでは内蔵ノイズテクスチャが使用されます:
lensFlareStretchToAspect : real |
レンズフレアのハローの丸みの補正係数を設定します。
lutEnabled : bool |
ルックアップテーブル(LUT)を使ったカラーグレーディングを可能にする。ルックアップテーブルはテクスチャとして与えられる。
lutFilterAlpha : real |
シーンに混ぜるカラーグレーディングの量を設定します。値は0から 1の間であることが期待されます。
lutSize : real |
LUTテクスチャのサイズを設定します。テクスチャのサイズは
width = lutSize * lutSize
とheight = lutSize
lutTexture : Texture |
ルックアップテクスチャのソース。テクスチャが設定されていない場合は、組み込みのIDテーブルが使用されます。
下の写真は256x16のサイズのテクスチャの例で、デフォルトのlutSize 16と一致しています。
このエフェクトの結果:
sharpnessAmount : real |
シャープネス量を設定します。有効な値は0.0
(オフ)から1.0
(フル)です。
シャープネスを0に設定したフィルムトンマッピング | シャープネスを1に設定したフィルム調トンマッピング |
---|---|
tonemapMode : enumeration |
このプロパティは、レンダリング前の色のトーンマッピング方法を定義します。Qt Quick 3D のレンダリングはすべてリニアカラースペースで行われるため、多くの場合、表示できないカラー値が生成される可能性があります。tonemapMode は、表示可能な範囲に色を再マッピングするために使用される手法を決定します。
デフォルト値はSceneEnvironment.TonemapModeLinear
一定です。 | 説明 |
---|---|
SceneEnvironment.TonemapModeNone | すべてのトーンマッピングがバイパスされます。このモードは、ポスト処理エフェクトを実行するときに便利です。 |
SceneEnvironment.TonemapModeLinear | リニアトーンマッピングが適用されます。色はガンマ補正され、sRGB色空間で返されます。 |
SceneEnvironment.TonemapModeAces | Academy Color Encoding System トーンマッピングが適用されます。 |
SceneEnvironment.TonemapModeHejlDawson | Hejl-Dawson トーンマッピングが適用されます。 |
SceneEnvironment.TonemapModeFilmic | Filmic トーンマッピングが適用されます。 |
注: 後処理エフェクトを使用する場合、多くのエフェクトはトーンマッピングされていないリニアカラーデータを期待します。この場合、SceneEnvironment.TonemapModeNone
値を使用して、内蔵トーンマッピングをバイパスすることが重要です。ExtendedSceneEnvironment の内蔵エフェクトは自動的に適切なトーンマッピングを行うため、これは適用されません。
トーンマップモード | 例 |
---|---|
なし | |
リニア | |
エース | |
ヘジルドーソン | |
フィルム調 |
vignetteColor : color |
ヴィネット効果の色を設定します。
例えば、半径 4、強さ 15 で赤に変更します:
vignetteEnabled : bool |
ヴィネット効果を有効にします。
vignetteRadius : real |
ビネット効果の半径を設定します。範囲は0から5 です。
半径0.35 | 半径 5.0 |
---|---|
vignetteStrength : real |
ビネット効果の強さを設定します。0から15 の範囲で設定します。
強さ15 | 強さ10 |
---|---|
whitePoint : real |
トーンマッピング有効時の白の基準値。値は 0 より大きくなければならない。
注: この値は、SceneEnvironment.TonemapModeLinear を使用する場合は無視されます。
白色点を 0.1 に設定したフィルミッ クトーンマッピング | 白色点を 1 に設定したフィルムのトンマッピング |
---|---|
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。