Scene3D QML Type
Scene3D タイプは、Qt3D シーンをQtQuick 2 シーンに統合するために使用されます。詳細...
| Import Statement: | import QtQuick.Scene3D 2.11 |
| Inherits: | |
| Status: | Preliminary |
この型は開発中であり、変更される可能性があります。
プロパティ
- aspects : list<string>
- cameraAspectRatioMode : enumeration
- compositingMode : enumeration
- entity : Entity
- hoverEnabled : bool
- multisample : bool
方法
- void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)
詳細説明
Scene3D タイプは、Entity によって提供される Qt3D シーンをマルチサンプリングされた Framebuffer オブジェクトにレンダリングします。このオブジェクトは、後でマルチサンプリングされていない Framebuffer オブジェクトにブリットされ、アルファが事前に乗算された状態でレンダリングされます。マルチサンプリングが必要ない場合、multisample プロパティをfalse に設定することで回避できます。この場合、Scene3D は、マルチサンプリングされていない Framebuffer オブジェクトに直接レンダリングします。
レンダリングされるシーンが不透明でないマテリアルを含む場合、それらを正しくレンダリングするために、カスタムブレンド引数でそれらのマテリアルを変更する必要があるかもしれません。例えば、PhongAlphaMaterial 、不透明なクリアカラーのシーンで作業する場合、そのマテリアルに:
sourceAlphaArg: BlendEquationArguments.Zero destinationAlphaArg: BlendEquationArguments.One
をマテリアルに追加します。
アプリケーションごとに、1つ以上の Scene3D インスタンスをインスタンス化することはお勧めしません。その理由は、Scene3D インスタンスは、シーン下のQt 3D エンジン全体 (例えば、メモリマネージャ、スレッドプール、レンダー) をインスタンス化するからです。
注意: Scene3D エレメントの visibility を false に設定すると、Qt 3D シミュレーションループが停止します。これは、Qt 3D シミュレーションループ (FrameAction) によって駆動されるプロパティ更新に依存する式に visible プロパティをバインドすることは、決して再評価されないことを意味します。
プロパティのドキュメント
aspects : list<string>
3Dシーンに対して登録されるべきアスペクトのリスト。
例えば、シーンがFrameAction を使用する場合、"logic" のアスペクトをリストに含める必要があります。
"render" アスペクトはハードワイヤードであり、明示的にリストする必要はない。
cameraAspectRatioMode : enumeration
シーン内で見つかったカメラのアスペクト比の計算方法を定義します。
| 定数 | 説明 |
|---|---|
Scene3D.AutomaticAspectRatio | 自動アスペクト比。 |
Scene3D.UserAspectRatio | ユーザー定義のアスペクト比。 |
compositingMode : enumeration
| 定数 | 説明 |
|---|---|
FBO | シーンはフレームバッファオブジェクトにレンダリングされます。これは、プラットフォームやハードウェアによってはコストがかかりますが、より大きな柔軟性を可能にします。自動アスペクト比。このモードは、Scene3D 要素が画面全体を占有しない場合に選択する合成モードで、オプションでサイズ変更やアニメーションを行うこともできます。このモードでは、QML ファイル内のScene3D の位置が、他のQt Quick エレメントに対するスタック順序を制御します。 |
Underlay | FBOを使用するとリソースを消費しすぎる可能性がある、フルスクリーンの3Dシーンに適しています。Scene3D は、QtQuick アンダーレイとして動作します。このモードを使用する場合、Scene3D のサイズとその変形は無視され、レンダリングは画面全体を占めることに注意してください。QMLファイル内のScene3D の位置も影響しません。Qt 3D のコンテンツはQt Quick のコンテンツよりも先に描画されます。Qt Quick のコンテンツがオーバーラップしてQt 3D のコンテンツが隠れてしまわないように注意する必要があります。さらに、このモードを使用する場合、ウィンドウのclearBeforeRenderingは自動的にfalseに設定されます。 |
デフォルト値はFBO です。
entity : Entity [default]
表示する3Dシーンのルートエンティティ。
hoverEnabled : bool
true ホバーイベントを受け付ける場合。
multisample : bool
true マルチサンプルレンダーバッファが要求された場合。
デフォルトでは、マルチサンプリングが有効になっている。OpenGL実装がマルチサンプルレンダーバッファまたはフレームバッファブリットをサポートしていない場合、マルチサンプリングの使用要求は無視されます。
注意: フレームバッファやその他のOpenGLリソースの初期化にコストがかかり、時間がかかる可能性があるため、この値を頻繁に変更することは避けてください。
メソッドのドキュメント
void setItemAreaAndDevicePixelRatio(size area, real devicePixelRatio)
アイテム領域をarea に、ピクセル比率をdevicePixelRatio に設定する。
© 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.