Qt グラフと Qt Quick 3D の統合

Qt Graphs for 3D は Qt Quick 3D をベースにしているため、Qt Quick 3D のシーンをグラフに統合することができます。

シーン環境

グラフで Qt Quick 3D のシーン環境を調整するには、グラフのenvironment プロパティでSceneEnvironment またはExtendedSceneEnvironment を以下のように定義します:

environment: ExtendedSceneEnvironment {
    aoEnabled: true
    aoDither: true
    ditheringEnabled: true
    lightProbe: Texture {
        textureData: ProceduralSkyTextureData {
            groundBottomColor: "black"
            skyTopColor: "white"
        }
    }
    backgroundMode: SceneEnvironment.SkyBox
    lensFlareEnabled: true
    lensFlareGhostCount: 10
    lensFlareApplyStarburstTexture: true
    lensFlareBloomBias: 0.4
}

サポートされていない機能

アンチエイリアシング・モードやシーン・クリア・カラーを上書きしても機能しません。つまり、SceneEnvironment.antialiasingModeSceneEnvironment.clearColor に値を設定しても何もなりません。ただし、backgroundModeSceneEnvironment.Color に設定されていない場合、背景は設定の影響を受けます。

シーンの統合

Qt Quick 3D のシーンをグラフに統合するには、グラフのimportScene プロパティを、以下の設定でNode に設定します:

importScene: Node {
    Model {
        scale: Qt.vector3d(0.01, 0.01, 0.01)
        source: "#Sphere"
        x: 2.5
        z: 2
        y: 1
        castsReflections: false
        receivesReflections: true
        materials: [
            PrincipledMaterial {
                baseColor: "gold"
                metalness: 1.0
                roughness: 0.1
            }
        ]
        ReflectionProbe {
            boxSize: Qt.vector3d(6, 3, 5)
            boxOffset: Qt.vector3d(-1.5, -1, -1.5)
            parallaxCorrection: true
            quality: ReflectionProbe.High
        }
    }
    Model {
        scale: Qt.vector3d(0.01, 0.01, 0.01)
        source: "#Sphere"
        x: -2.5
        z: -2
        y: 1
        castsReflections: false
        receivesReflections: true
        materials: [
            PrincipledMaterial {
                baseColor: "white"
                metalness: 0.0
                roughness: 0.0
                transmissionFactor: 1.0
                thicknessFactor: 50
            }
        ]
    }
}

グラフのデフォルトの子プロパティは対応する系列であるため、Nodes をグラフの子プロパティとして直接追加しても機能しません。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。