14.4. 3Dシンボルの作成

スタイルマネージャ では、 各ジオメトリタイプに対して、 3Dマップビュー でレンダリングするための3Dシンボルの作成と保存ができます。

他のスタイル設定と同様に、 3d 3Dシンボル タブをクリックし、 symbologyAdd ボタンメニューを展開して、以下のそれぞれについて作成します:

14.4.1. ポイントレイヤ

../../../_images/3d_point_symbol.png

図 14.33 3Dポイントシンボルのプロパティ

  • ポイントシンボルに使用するさまざまな種類の3D Shape を定義できます。これらのShapeでは主に寸法を定義し、その単位はプロジェクトのCRSを参照します。利用可能な種類は以下のとおりです:

    • 半径 によって定義

    • 円柱半径長さ によって定義

    • 立方体大きさ によって定義

    • 円錐上部半径下部半径 および 長さ によって定義

    • 斜面の出力大きさ によって定義

    • トーラス半径短半径 によって定義

    • 3Dモデル、使用する3Dモデルファイル: サポートされているフォーマットは、wavefront .obj.glTF.fbx です。モデルはディスク上のファイル、リモートのURL、プロジェクトの埋め込み のいずれでも構いません。コミュニティが作成したモデルはQGIS Hubのhttps://plugins.qgis.org/wavefronts で共有されています。

    • ビルボードビルボードの高さビルボードのシンボル (通常は マーカーシンボル に基づく)によって定義。シンボルは一定のサイズとなる。3D点群形状の可視化に有用

  • 標高の制約 は、 標高の絶対値(Absolute)地表標高との相対値(Relative) または 地表標高を使う(Terrain) を設定できます。 標高の絶対値 設定は、3次元ベクタレイヤの高さの値が0 から測った絶対値で与えられている場合に使用します。 地表標高との相対値地表標高を使う は、与えられた高さの値を地形の標高値に加えます。

  • シェーディング プロパティを定義することができます。

  • 変換 フレームでは、シンボルにアフィン変換を適用できます。

    • 平行移動(Translation) :物体をx、y、z軸方向に移動

    • 縮尺 :3D図形をリサイズ

    • 回転 :x、y、z軸まわりの回転

14.4.2. ラインレイヤ

../../../_images/3d_line_symbol.png

図 14.34 3Dラインシンボルのプロパティ

  • 高さ の設定の下には、ベクタラインの 押出 の設定があります。ラインがz-値を持っていない場合には、この設定で3Dボリュームを定義することができます。

  • 組み込みのラスタ標高データや他の3Dベクタレイヤがある場合に、 標高の制約 を使用して地形表面に対する3Dラインの位置を定義することができます。

  • 標高の拘束 は、地物がどのように地形に拘束されるのかを定義します。地物の各 頂点 で拘束されるか、または 重心 のいずれかです。

  • シンプルな checkbox3D線として描画 することもできます。

  • シェーディング プロパティを定義することができます。

14.4.3. ポリゴンレイヤ

../../../_images/3d_polygon_symbol.png

図 14.35 3Dポリゴンシンボルのプロパティ

  • 他の3Dシンボル同様、 高さ をCRSの単位で定義できます。また、 dataDefine ボタンを使用して、カスタム式や変数、属性テーブルのエントリなどで値を上書きすることができます。

  • 同様に、z-値の設定が無い場合の 押出 の設定もできます。また、押出にも dataDefine ボタンが使用でき、ベクタレイヤの値を使って各ポリゴンで異なる押し出し結果を得ることができます。

    ../../../_images/3d_extrusion.png

    図 14.36 データ定義の押出

  • 上で説明したものと同様の 標高の制約標高の拘束 を定義することができます。

  • シンボルに適用する カリングモード には、以下の選択肢があります:

    • Cullingなし :この設定は、polygonZ/multipatch データの頂点の順序に一貫性(例:全て時計回りあるいは反時計回り)がない場合に、サーフェスが欠けて見えることを防ぎます。

    • 前面カリング

    • または、 背面カリング

  • ファサード は、表示される面を決定します。可能な値は、 ファサードなし屋根壁と屋根 です。

  • checkbox 背面を追加 :各三角形に背面を追加し、表面・裏面の両方に正しい法線を生成しますが、頂点データ数の増加という犠牲を伴います。このオプションは、シェーディングの問題(例えば頂点の順序が整合していないデータに起因する)を修正するために使用できます。

  • checkbox 法線の反転(試験的) :面の頂点の時計回り・反時計回りを修正するのに便利です。

  • シェーディング プロパティを定義することができます。

  • シンボルの checkbox エッジの出力 を有効にすることができ、 を指定できます。

ヒント

3Dデータのレンダリングのベストな組み合わせ

カリングモード背面を追加 および 法線の反転 はすべて、3Dデータの見た目が正しくない場合に修正するためのオプションです。通常は、あるデータを読み込む場合にはまず カリングモード = 反転背面を追加 = 無効 を試してみるのが良いでしょう。これが最も効率的です。レンダリングが正しく表示されない場合には、 背面を追加 = 有効 と、 カリングモード = Cullingなし を試してみてください。他の組み合わせはより高度で、入力データセットの頂点順序の混ざり具合に応じた一部のシナリオのみで有用です。

14.4.4. テクスチャのシェーディング

シェーディングは、シーンの照明によって隠れてしまうオブジェクトの3Dディテールを明らかにするのに役立ちます。地物の可視化にとって適切なシーン照明の設定に悩む必要がないため、結局のところ、作業がより簡単になる設定項目です。

QGISではさまざまなシェーディング手法を使用できますが、手法が利用できるかどうかはシンボルのジオメトリタイプに依存します:

  • Phongシェーダ :これは、表面が光を反射する方法を、粗い表面の 拡散光 の反射と、光沢のある表面の 鏡面光 の反射( シャイネス(輝き) )の組み合わせとして記述します。また、シーン全体に散乱する弱い光を考慮するための 環境光 のオプションもあります。不透明度 スライダーを使って、半透明のオブジェクトを3Dでレンダリングします。詳細は https://en.wikipedia.org/wiki/Phong_reflection_model#Description を参照してください。

  • Phongシェーダ(テキスチャ): Diffuseテキスチャ として画像が使用される以外は Phongシェーダ と同じです。画像はディスク上のファイル、リモートのURL、または 埋め込みファイルを抽出 を使用できます。テキスチャのスケールテキスチャの回転 が必要です。3Dで半透明のオブジェクトをレンダリングするには 不透明度 スライダーを使用します。

  • CAD(Gooch) :この手法は、エッジラインやハイライトが視覚的に目立つように、中間色のみでシェーディングを行います。 拡散光鏡面光シャイネス オプションに加えて、 Warm カラー(光源に向いている面の色)と Cool カラー(光源とは反対にある面の色)を指定する必要があります。また、拡散色による cool と warm の相対的な寄与は、 アルファBeta のプロパティでそれぞれ制御されます。 https://en.wikipedia.org/wiki/Gooch_shading も参照してください。

  • 埋め込みテキスチャ :3Dモデルの場合に利用可

14.4.5. 適用例

上記で説明した設定を確認するには、https://app.merginmaps.com/projects/saber/luxembourg/tree を見てみましょう。