Lightmapper QML Type
シーンのライトマップベイク設定を指定します。詳細...
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.4 |
| Inherits: |
プロパティ
- adaptiveBiasEnabled : bool
- bias : real
- bounces : int
- denoiseSigma : real
(since 6.10) - indirectLightEnabled : bool
- indirectLightFactor : real
- indirectLightWorkgroupSize : int
- opacityThreshold : real
- samples : int
- source : url
(since 6.10) - texelsPerUnit : real
(since 6.10)
詳細な説明
直接照明および間接照明のベイクを行う際に使用します。これらの設定のほとんどは、すでに生成済みのライトマップを使用してシーンをレンダリングする場合など、それ以外の状況では関係ありません。例外は `source` ですが、これには開発用に適切なデフォルト値が設定されています。
ベイクが成功すると、source で指定された値の単一のファイルが生成されます。このバイナリファイルには、モデルごとのライトマップや、ライトマップ互換のUVを持つメッシュファイルなど、ベイクの結果が含まれています。個々のモデルデータには、BakedLightmap::key を介してアクセスできます。
生成されたライトマップファイルに含まれるデータは、すべて相互に、また現在のシーン状態と密接に結びついています。つまり、元のメッシュファイルやLightmapperの設定を変更したり、シーンにその他の変更を加えたりした場合は、更新された結果を反映させるために、新たなベイクを実行する必要があります。
注: Qt 6.4の時点では 、ライトマップのベイク機能は初期の技術プレビュー段階にあります。今後のリリースにおいて、機能、品質、APIに変更が加えられる可能性があります。
Lightmapper オブジェクトは、以下と組み合わせて機能します:
- Model::bakedLightmap および関連するBakedLightmap 、
- Model::usedInBakedLighting およびModel::texelsPerUnit 、
- Light::bakeMode、
- エンジンの組み込みライトマップベーカーと連携して動作します。
「ライトマップとグローバルイルミネーション」、「Qt Quick 3D - ベイク済みライトマップの例」、および「Qt Quick 3D - SSGI ライトマップの例」も参照してください 。
プロパティのドキュメント
adaptiveBiasEnabled : bool
表面法線に基づいて、追加の動的なバイアスを適用できるようにします。
デフォルト値は true です。
bias : real
ベイク処理中に使用されるレイキャスティングバイアス。アーティファクトが発生した場合は、例えば望ましくない影のパターンを軽減するために、この値を調整してください。多くの場合、デフォルト値で十分です。
デフォルト値は 0.005 です。
bounces : int
サンプルごとの間接光の反射回数の最大値。この値は少なくとも1以上である必要があります。そうでない場合、間接光の計算を行う意味がありません。
デフォルト値は 3 です。
この値は、ライトマップのベイク処理において、パフォーマンスと生成されるライトマップの品質の両方に大きな影響を与えます。
denoiseSigma : real [default: 8, since 6.10]
このプロパティは、非局所平均法に基づくノイズ除去アルゴリズムのシグマ値を定義します。つまり、この値が高いほど、ぼかし効果が強くなります。ノイズを除去しつつ視覚的な特徴を失わないようにするため、この値はできるだけ低く設定するようにしてください。
このプロパティは Qt 6.10 で導入されました。
indirectLightEnabled : bool
通常、この値を変更する必要はありません。デフォルト値は true です。このプロパティを false に設定すると、ライトマップのベイク処理中に間接光の計算が無効になります。その結果、生成されるテクスチャマップには直接光の情報のみが含まれることになります。実行時には、エンジンがテクスチャマップに直接光と間接光の両方の情報が含まれているものと見なして、通常通りそれらを使用し続けます。
indirectLightFactor : real
間接光量の乗数です。厳密に正しいレンダリング結果を得るには値が 1(つまり、間接光量の計算に影響を与えない)である必要がありますが、ライトマップを使用する場合、バウンス回数が少ない場合でも、この値をわずかに高く設定した方が、より見栄えの良い結果が得られることがよくあります。
デフォルト値は 1 です。
indirectLightWorkgroupSize : int
サンプルワークグループのサイズ。これらのワークグループは並列で実行されるよう試みられます(実際の動作は、CPUコア数およびQThreadPool の設定によって異なります)。
デフォルト値は 32 です。サンプル数がデフォルトの 256 である場合、これはモデルごとに 8 つのグループを並列で実行しようとすることになります。
opacityThreshold : real
レイトレーシングによる照明計算を行う際、レイとメッシュの交差判定において、オブジェクトが無視される不透明度(アルファ)の閾値です。不透明度がこの閾値を下回ると、モデル(サブメッシュ)は光源を遮らないため、影も生成されなくなります。
デフォルト値は 0.5 です。
注:ライトマッパーは 、「material's opacity 」および「baseColor alpha 」に加え、「base color map's alpha 」も考慮に入れます。不透明度マップやアルファカットオフ設定など、その他の半透明性の要因は、ライトマップのベイク処理中は無視されます。
samples : int
ライトマップのテクセルあたりのサンプル数。
デフォルト値は 256 です。
この値は、ライトマップのベイク処理におけるパフォーマンスと、生成されるライトマップの品質の両方に大きな影響を与えます。
source : url [default: file:lightmaps.bin, since 6.10]
実行時にライトマップファイルを読み込むためのURL、およびベイクが成功した際の出力ファイルのパス。
ベイク処理の際、出力パスはURLから推定されるため、書き込み可能な通常のファイルパスに解決される必要があります。デフォルトの値は `file:lightmaps.bin` であり、これはファイルが現在の作業ディレクトリに配置され、ベイクが成功すると最終結果が即座に表示されることを意味します。
出力ファイルと同じディレクトリに、.raw というファイルが作成されます。このファイルには、最終的なライトマップファイルを作成する前に使用される追加のライトマップデータが含まれています。これにより、.raw ファイルが存在する場合、実行の合間にシーン全体をベイクし直すことなく、ノイズ除去のみを行うことが可能になります。
ライトマップをQRCリソースとして読み込む場合は、通常の手順で埋め込み、URLに「:/ 」または「qrc:/ 」というプレフィックスを追加する必要があります。以下の例では、リソース経由で埋め込まれたライトマップファイルを常に読み込もうとします。まず、書き込み可能な場所に値を設定してベイクを実行します。次に、生成されたファイルをソースディレクトリにコピーします。 次に、アプリケーションの CMake プロジェクト内で、そのファイルを `/lightmaps ` プレフィックスの下にあるリソースとしてリストすることで、ビルドプロセスがそのファイルを認識し、実行ファイルに組み込むようになります。
Lightmapper {
source: "qrc:/lightmaps/lightmaps.bin"
// will attempt to load from :/lightmaps/lightmaps.bin at runtime
// and write a file to lightmaps/lightmaps.bin when baking.
}このプロパティは Qt 6.10 で導入されました。
texelsPerUnit : real [default: 1, since 6.10]
このプロパティは、単位からテクセルへのスケールを定義します。つまり、1x1 のクワッドで、texelsPerUnitが32 の場合、ライトマップ上ではおよそ32x32 のテクセルを占めることになります。
このプロパティは Qt 6.10 で導入されました。
「Model::texelsPerUnit」も参照してください 。
© 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.