城市建筑建模

使用说明

该工具支持基于建筑物轮廓面数据、建筑高度等必要参数,构建LOD2.0级建筑模型,并在建筑矢量面属性中新增usageType、materialType、lodType字段,分别用于存储建筑类型、材质类型和模型LOD类型。若建模参数中已指定侧面纹理和屋顶纹理字段,则直接使用指定纹理;若未指定,则默认使用系统提供的材质库,并新增material_facade、material_roof字段,分别存储建筑侧面纹理路径和屋顶纹理路径。

系统提供通用城市建筑材质库,其中Commercial、Industrial、Residential文件夹分别对应商业、工业和居民用地类型的材质。各文件夹内按照建筑结构部位细分纹理:FlatRoof为平屋顶纹理、InnerWall为女儿墙/挑檐纹理、PitchedRoof为坡屋顶纹理、LOD2Facades为建筑主体立面纹理,可按需下载使用。

注意:使用同一建筑轮廓面多次建模时,首次建模后,后续建模不得更改usageType、materialType、lodType等字段值,仅可修改该轮廓面属性中记录纹理路径的字段值(如 material_facade、material_roof)。修改后的纹理必须与materialType字段值匹配;修改屋顶纹理时,纹理还需与屋顶类型字段值匹配。侧面纹理为成套纹理,自定义修改时应成套替换,并可参照已有纹理字段值进行修改。

普通材质命名规范

通用结构部位材质(FlatRoof/InnerWall/PitchedRoof)

命名格式:[Mat前缀+建筑类型]_[结构部位]_[具体材质(序号)]。例如:MatResidence_FlatRoof_Shuini(11).jpg。具体规则说明如下:

字段 说明
建筑类型(含Mat前缀) 对应用地类型,统一添加Mat材质前缀,建筑类型包括:MatResidence(住宅)、MatCommercial/MatBussiness(商业)、MatIndustrial(工业)。
结构部位 严格对应建筑结构部位,可选项包括FlatRoof(平屋顶)、InnerWall(女儿墙/挑檐)、PitchedRoof(坡屋顶)。
具体材质 (序号) 用拼音或英文标注具体材质,括号内数字为同类材质下不同纹理样式的编号,例如Shuini(11)=水泥 11 号)。

LOD2 建筑立面材质(LOD2Facades)

命名格式: [Mat前缀+建筑类型]_[建筑层级]_[建筑高度类型+编号]_[立面类型]_[宽度]_[高度]_[行]_[列]_[底层行]。例如:MatResidence_LOD2_MiddleFacade3_front_36_36_4_4_1.jpg,表示:住宅类型、LOD2层级、中层立面编号3、正面纹理,实际宽度36米,高度36米,纵向可划分4行,横向可划分4列,底层行为第1行。

具体规则说明如下:

字段 说明
建筑类型 Residence(住宅)、Commercial/Bussiness(商业)、Industrial(工业),统一添加材质前缀 Mat,与用地类型对应。
建筑层级 指定建筑模型精细层级,例如 LOD2。
建筑高度类型 按建筑高度分类,可带数字编号。可选项包括:LowerFacade(低层)、MiddleFacade(中层)、HigherFacade(高层)。
立面类型 按建筑矢量面边长自动匹配,可选项包括:front(正面,匹配最长边)、side(侧面,匹配次长边)、wall(墙面,匹配极窄边)。
宽度 纹理实际宽度,单位:米。
高度 纹理实际高度,单位:米。
行 不裁剪门窗时纵向最大可划分数。
列 不裁剪门窗时横向最大可划分数。
底层行 底部不参与纵向重复贴图的行数。

PBR材质命名规则

构建带PBR材质的建筑精模,可搭配材质库中 Glass、Metal、Stone等类型使用。PBR材质由 JSON配置文件和贴图文件组组成。

JSON 配置文件命名规则

规则同LOD2Facades普通材质,仅在建筑类型前增加PBRMat前缀。例如:PBRMatResidence_LOD2_MiddleFacade3_front_36_36_4_4_1.json

PBR 贴图文件命名规则

命名格式:M_结构部位/立面类型_材质分类_材质类型_序号_贴图类型,例如M_Facade_Wall_Stone_Terrazzo_05_BaseColorMap.png。具体规则如下:

字段 说明
前缀 固定为 M_,代表 Material(材质),用于统一区分材质文件
结构部位/立面类型 标识贴图对应的建筑结构或立面类型,规则同LOD2Facades普通材质,例如Facade_Wall、PitchedRoof。
材质分类 材质大类与具体类型,以下划线分隔,如Stone_Terrazzo表示石材_水磨石。
序号 数字编号,用于区分同类材质下不同纹理样式。
贴图类型 PBR 标准贴图类型,可选项包括:
  • BaseColorMap:基础色贴图,定义材质基础颜色与纹理;
  • NormalMap:法线贴图,模拟表面凹凸细节;
  • MetallicRoughnessMap:金属度 - 粗糙度贴图,控制金属属性与表面反光;
  • AOMap:环境光遮蔽贴图,增强缝隙阴影与立体感。

参数说明

参数名 参数释义 参数类型
面数据集 输入表征建筑物轮廓面的二维面数据集。 DatasetVector
建筑高度: 直接输入数值或选择属性字段来设置结果建筑模型的高度,单位为米。 String
底部高程
(可选)
直接输入数值或选择属性字段来设置结果建筑模型的底部高程,单位为米。 String
屋顶类型:
(可选)
通过下拉菜单选择代表屋顶类型的属性字段(例如roofType)。系统仅支持以下屋顶类型及其对应字段值,且字段值须与下列英文严格对应:
女儿墙:Parapet;平屋顶:Flat;多坡坡屋顶:Hip;双坡坡屋顶:Gable;单坡坡屋顶:Shed。不支持其他屋顶类型或自定义字段值。
若留空,则按随机规则生成屋顶。
String
资产路径 指定构建建筑模型所需的纹理贴图、屋顶附属物资源等资产的存储路径。 String
侧面纹理字段
(可选)
指定侧面纹理字段。字段存在且其值为相对资产路径的纹理贴图路径时,使用该值作为贴图路径;否则使用默认纹理。 String
屋顶纹理字段
(可选)
指定用于控制屋顶纹理的属性字段。若字段不存在、值为空或无效时,则使用默认纹理。
未启用“自定义屋顶纹理”时,字段值应为相对“资产路径”的屋顶纹理及女儿墙/挂板/挑檐纹理的路径,格式为:屋顶纹理相对路径|女儿墙/挂板/挑檐纹理相对路径,例如:.//Commericial/InnerWall/MatBussiness_ParapetWall(1).jpg|.//Commericial/FlatRppf/MatBussiness_FlatRoof(9).jpg
启用“自定义屋顶纹理”且设置“屋顶纹理路径”时,字段值应为屋顶纹理图片文件名,不包含路径,例如:1.tif。系统将在“屋顶纹理路径”下查找该文件。
String
带纹理
(可选)
设置是否为建筑模型添加纹理贴图。 若不勾选,结果建筑模型将为白模。若不指定资产路径,该参数将无效。 Boolean
构建屋顶附属物
(可选)
设置是否为建筑模型添加屋顶附属物。 若不勾选,结果建筑模型将不包含屋顶附属物。若不指定资产路径,该参数将无效。 Boolean
自定义屋顶纹理
(可选)
勾选后,将启用自定义屋顶纹理,通过设置“屋顶纹理路径”和“屋顶纹理字段”来指定屋顶纹理的存储路径和纹理贴图名。 Boolean
屋顶纹理路径
(可选)
仅当勾选“自定义屋顶纹理”后生效。可手动输入屋顶纹理贴图的存储路径,也可使用纹理提取工具的输出结果。 String
地块矢量面
(可选)
输入用于指定建筑物所在地块用地类型的二维面数据集。位于同一地块的建筑会使用同一材质效果。 DatasetVector
用地类型字段
(可选)
选择用于标识地块用地类型的属性字段,后续用地类型标签将基于该字段的值进行匹配。工具会根据用地类型,选择合适风格的建筑材质。 String
商业用地标签
(可选)
输入用地类型字段中表征商业用地的属性值,各属性值使用逗号分隔,例如:停车场,商业用地。 String
工业用地标签
(可选)
输入用地类型字段中表征工业用地的属性值,各属性值使用逗号分隔,例如:食品厂,纺织厂。 String
居民用地标签
(可选)
输入用地类型字段中表征居民用地的属性值,各属性值使用逗号分隔,例如:小区,公共用地。 String
无值区域用地类型
(可选)
指定无法区分用地类型的区域的类型,可选项包括:居民用地、工业用地、商业用地。 BudingUsageType
精细模型区域面
(可选)
输入用于指定重点区域的二维面数据集,该区域内的建筑物将构建为更复杂的模型。 DatasetVector
目标数据源 指定存储结果模型数据集的数据源。 Datasource
结果数据集名
(可选)
设置结果模型数据集的名称,默认值为building。 String

输出结果

参数名 参数释义 参数类型
结果数据集 结果数据集 Object