14.4. 创建3D符号

样式管理器 可帮助您在 3D地图视图 中渲染各种几何图形类型来创建和储存3D符号。

对于其他项,启用 3d 3D符号 选项卡并展开 symbologyAdd 按钮菜单以创建:

14.4.1. 点图层

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

图 14.33 3D点符号的属性

  • 可以定义不同3D类型的 形状 用于点符号。主要是由它们的维度来定义,其单位是指工程的CRS。可用类型包括:

    • 球体半径 定义

    • 圆柱半径长度 定义

    • 立方形大小 定义

    • 圆锥顶部半径底部半径长度 定义

    • 平面大小 定义

    • 圆环半径短半径 定义

    • 3D模型 使用3D模型文件:支持的格式包括波阵面 .obj.glTF.fbx 。模型可以是磁盘上的文件、远程URL或 嵌入工程中 。社区创建的模型是在 QGIS Hub 上共享,网址是 https://plugins.qgis.org/wavefronts

    • BillboardBillboard高度Billboard符号 (通常基于 标记符号) 定义。该符号将具有稳定的尺寸,便于可视化3D点云形状。

  • 海拔限制 可以设置为 绝对相对地形 。当3D矢量的高度值被提供为从 0 开始的绝对测量时,可以使用 绝对 设置。 相对地形 将给定的高程值添加到基础地形高程中。

  • 可以定义 晕渲 属性。

  • 变换 框架下,可以对符号应用仿射变换:

    • 平移 可以在 x、y 和 z 轴移动对象。

    • 比例 可以调整3D形状的大小

    • 旋转角度 围绕 x、y 和 z 轴旋转。

14.4.2. 线图层

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

图 14.34 3D线符号的属性

  • 宽度高度 设置之下,可以定义矢量线的 拉伸 。如果线没有Z值,可以使用此设置定义3D体积。

  • 如果已包含栅格高程或其他3D矢量数据,可以使用 海拔限制 定义3D线相对于基础地形表面的位置。

  • 海拔约束 用于定义如何将要素限制到地形。要素的每个 顶点 都将被限制到地形,或者是 质心

  • 可以 checkbox渲染为简单3D线

  • 可以定义 晕渲 属性。

14.4.3. 多边形图层

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

图 14.35 3D多边形符号的属性

  • 高度 使用CRS单位进行定义。还可以使用 dataDefine 按钮用自定义表达式、变量或属性表条目盖写值

  • 同样,缺少Z值时可能会出现 拉伸 选项。此外,对于拉伸,您可以点击 dataDefine 按钮来使用矢量图层的值,为每个多边形获得不同的结果:

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

    图 14.36 数据定义拉伸

  • 海拔限制海拔约束 可以如上所述进行定义。

  • 应用于符号的 剔除模式 ,可以是:

    • 未剔除: 有助于避免在 polygonZ/multipatch 数据的顶点排序不一致时 (例如,所有顺时针或逆时针方向),看似缺失的表面

    • 正面

    • 后面

  • 渲染外观 确定要显示的面。可使用的值是 无立面立面顶部立面和顶部

  • checkbox 添加背面: 对于每个三角形,创建具有正确法线的正面和背面 - 以增加顶点数据数量为代价。此选项可用于解决晕渲问题 (例如,数据顶点顺序不一致)。

  • checkbox 反转法线 (实验): 可用于修复顺时针方向/逆时针方向的面的顶点顺序

  • 可以定义 晕渲 属性。

  • 可以启用符号的 checkbox 边缘 是否显示,并指定 宽度颜色

提示

组合设置可实现3D数据的最佳渲染效果

剔除模式添加背面反转法线 都是为了在3D数据看起来不正确的情况下修复其外观。通常,在加载某些数据时,最好先尝试 剔除模式=后面添加背面=禁用 - 这是最有效的设置。如果渲染看起来不正确,请尝试 添加背面=启用 ,并保持 剔除模式=未剔除 。其他更高级的组合设置,仅在基于输入数据集的混合程度的某些场景中有效。

14.4.4. 晕渲纹理

晕渲有助于显示对象的3D细节,否则可能会因场景的照明而被隐藏。最终,它是一种更容易使用的材质,因为不需要担心设置是否为恰当的场景照明而影响可视化要素。

QGIS使用了各种晕渲技术,其可用性取决于符号的几何图形类型:

  • 写实 (材质): 将表面反射光线的方式描述为粗糙表面的 漫反射 与有光滑表面的 镜面 反射 (光滑度) 的组合。它还包括一个 环境光 选项,用于考虑整个场景中散射的少量光线。使用 不透明度 滑块以3D形式渲染半透明对象。更多信息,请访问 https://en.wikipedia.org/wiki/Phong_reflection_model#Description

  • 写实纹理 (材质): 与 写实 (材质) 相同,不同之处在于将图像用作 漫反射纹理 。图像可以是磁盘的文件、远程URL或 嵌入到工程中纹理缩放纹理旋转角度 是必需项。使用 不透明度 滑块以3D形式渲染半透明对象。

  • CAD (Gooch着色): 这种技术允许仅在中间色调中使用晕渲处理,从而使边缘线和高光在视觉上保持突显。除了 漫反射高光光滑度 选项外,还需要提供 暖色 (用于面向光源的表面) 和 冷色 (用于背对的表面)。此外,漫反射颜色对冷色和暖色的相对贡献分别由 透明度贝塔 属性控制。另请参阅 https://en.wikipedia.org/wiki/Gooch_shading

  • 具有3D模型形状的 嵌入式纹理

14.4.5. 应用示例

要完成上述设置,您可以查看 https://app.merginmaps.com/projects/saber/luxembourg/tree