LevelOfDetail QML Type

LevelOfDetailは、画面上のサイズに基づいてレンダリングされるエンティティの複雑さを制御する方法を提供します。詳細...

Import Statement: import Qt3D.Render 2.8
In C++: QLevelOfDetail
Inherits:

Component3D

Status: Deprecated

プロパティ

詳細説明

LevelOfDetail を使用すると、観察者からの距離や画面上のサイズに基づいてエンティティの表現を制御できます。

レンダリングのパフォーマンスを向上させるために、非常に小さいオブジェクトは、ジオメトリやテクスチャで、はるかに少ない詳細を使用してレンダリングすることができます。

このコンポーネントは、カメラからの距離または画面サイズとして解釈される値のしきい値を指定することで制御されます。

視点が変わると、currentIndex プロパティは、範囲配列の一致する値を反映するように変更されます。

currentIndex プロパティは、エンティティの有効化または無効化、EntityLoader のソースの変更、マテリアルの変更などに使用できます。

LevelOfDetail コンポーネントは、複数の Entity 間で共有することはできません。

import Qt3D.Core 2.0
import Qt3D.Render 2.0

Entity {
    id: root

    // Scene
    Camera { id: mainCamera }

    LevelOfDetail {
        id: lod
        camera: mainCamera
        thresholds: [20, 35, 50, 65]
        thresholdType: LevelOfDetail.DistanceToCameraThreshold
    }

    GeometryRenderer {
        id: mesh
        view: CylinderMesh {
            property var sliceValues: [20, 10, 6, 4]
            slices: sliceValues[lod.currentIndex]
        }
    }

    Entity {
        id: renderableEntity
        components: [ mesh, lod ]
    }
}

プロパティ ドキュメント

ThresholdType : enumeration

閾値の値の解釈方法を指定します。

  • DistanceToCameraThreshold エンティティから選択されたカメラまでの距離。
  • ProjectedScreenPixelSizeThreshold 選択されたカメラから見て、スクリーン上に投影されたときのエンティティのサイズ(スクリーン空間の外接正方形の辺のピクセル数で表される)。

Qt3DRender::QLevelOfDetail::ThresholdTypeも参照してください


camera : Camera

実際の距離やスクリーンサイズを計算するために利用されるカメラの ID を保持します.


currentIndex : int

range 配列のインデックスで、現在のカメラまでの距離または画面サイズに一致するもの。


thresholdType : int

範囲値の解釈方法を指定します。


thresholds : QList<qreal>

浮動小数点数としての範囲値の配列。最も詳細な表現の値を最初に指定する。

LevelOfDetail::thresholdTypeLevelOfDetail.DistanceToCameraThreshold に設定されている場合、値はカメラ空間座標で昇順に指定されるべきです。

LevelOfDetail::thresholdTypeLevelOfDetail.ProjectedScreenPixelSizeThreshold に設定されている場合、値はスクリーン空間のピクセル単位で降順に指定されるべきです。


volumeOverride : int

距離または画面サイズの評価に使用するものを指定します。

デフォルトは、半径 1 でエンティティのローカル原点を中心とする球です。このプロキシ体積は、カメラまでの距離またはスクリーン投影のサイズを計算するために使用されます。

この値をNULLにすると、エンティティのバウンディングボリュームが使用されます。この外接ボリュームが無効にならないように注意する必要があります。

Qt3DRender::QLevelOfDetailBoundingSphereも参照してください


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