This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
专业(SIM)
UnigineEditor
界面概述
资源工作流程
版本控制
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

建筑的定制材质和参数

本文回顾了建筑组成的主要概念,以便更深入地理解资源应该如何准备。

另请参阅#

主要概念#

为了生成建筑,我们区分以下两种类型的建筑:

  • 单层建筑,只有一个楼
  • 多层建筑,具有两个或两个以上的地板

单层和多层建筑的概念
  • Underground Basement 是地下室的一部分,位于地形水平之下。 当建筑物在不平坦的地形上生成时需要此部分,否则会部分悬停在地面上。 它的高度由 Underground Basement Height 值控制,默认情况下距离地形高度 3 米。
  • Basement身高由Basement Height值定义和默认是0.7米高以上的地形。
  • Ground Floor 高度由 Row Size 值定义,默认为 3 米高。
  • 单层为上层建筑不需要任何纹理,而地下室的纹理是强制性的,因为它是所有其他的锚在一组纹理。

建筑物变形#

UNIGINE 为生成的建筑物提供了一组内置材质:它们继承自 mesh_base 并根据 命名 规则。 您还可以创建自定义纹理并设置材质。 但是,您的纹理应该满足下面描述的一组要求。

应该为建筑物准备四种类型的纹理:地下室的纹理、带有窗户(有时还有门)的墙壁的纹理、实心墙的纹理和屋顶的纹理。 每个 建筑物部分UV 贴图取决于纹理上显示的墙段的大小。

注意
墙壁的纹理根据它们应用于建筑物的部分而有所不同:如果将纹理应用于 Basement,它应该描绘 BasementUnderground Basement
  • Underground BasementBasement单一结构墙。结构高度对应的高度(总之),所有这些部分和纹理是垂直延伸到建筑的这部分。

    质地为Underground BasementBasement
  • 对于Ground Floor,应用了单独的纹理。 使用 Row Size 值作为楼层高度将纹理高度应用于建筑物。

    Ground Floor的窗户纹理
    Ground Floor的实心纹理
  • 对于Upper Floors,一个带有窗户的墙的单一纹理被应用。

    Upper Floors的窗户纹理
    Upper Floors的实心纹理

    有两个参数Rows per TextureColumns per Texture,它们形成了这个纹理的网格。

    Texture Grid

    带窗户的上层的纹理尽可能地沿着墙壁从一层向上,从中心水平到建筑角落,并根据这些想象的网格线切割,创建一个表面。边缘使用固体纹理平铺,形成另一个表面。

  • 对于Roof,应该应用两种纹理——屋顶和山脊。脊线用于覆盖两个屋顶平面的连接处。

    屋顶纹理
    山脊纹理

    屋顶材质可以按原样使用,也可以根据图像数据更改颜色。 启用 相应的选项 允许将材质反照率乘以从照片数据中获取的颜色。

材质的命名#

注意
每个材质都应该从mesh_base继承。

为了将材质正确应用到Sandworm生成的建筑中,请遵循以下规则:

  • 定义一个前缀,一群材质应用于墙(地下室,一楼,楼上)将使用。

    您可以使用源数据材质作为前缀的材质的价值。在这种情况下,材质将自动适用于所有建筑,这个值分配。

    屋顶材质也可以使用一个键值的源数据作为前缀。在这种情况下,材质将自动适用于所有屋顶,这个值分配。

    如果您的源数据没有材质的细节,您可以选择一个任意的名称。

  • 材质应使用以下名称后缀:

    • *_basement_sw 地下室和地下地下室的材质,一个强制性的材质锚为其他建筑材质,除了屋顶。
    • *_ground_sw Ground Floor墙没有门窗的材质
    • *_ground_windows_sw Ground Floor墙和门窗的材质
    • *_upper_sw Upper Floors墙和门窗的材质
    • *_upper_windows_sw Upper Floors墙没有门窗的材质
    • *_ridge_face_sw 上壁的顶部的材质将在屋顶下方使用。 这种类型的材质仅与平坦的屋顶 一起使用。
    • *_roof_sw 屋顶材质
    • *_ridges_sw 连接屋顶部分的脊线材质

基本的建筑材质可在/core/materials/buildings/文件夹。

命名的例子#

假设我们有一个有建筑物的区域,它可以由砖块或木头制成。如果我们使用具有 特定命名 的 OSM 数据,我们应该为建筑材质使用以下前缀:

建筑 OSM 价值 材质名称
砖做的 brick

brick_basement_sw.mat

brick_ground_sw.mat

brick_ground_windows_sw.mat

brick_upper_sw.mat

brick_upper_windows_sw.mat

brick_ridge_face_sw.mat

用木头做的 wood

wood_basement_sw.mat

wood_ground_sw.mat

wood_ground_windows_sw.mat

wood_upper_sw.mat

wood_upper_windows_sw.mat

wood_ridge_face_sw.mat

然后,这些建筑物的屋顶可以用瓷砖、金属或混凝土覆盖。 根据 OSM 屋顶材质命名,我们应该将屋顶材质命名为:

屋顶 OSM 价值 材质名称
覆盖着瓷砖 roof_tiles

roof_tiles_roof_sw.mat

roof_tiles_ridges_sw.mat

覆盖着金属 metal

metal_roof_sw.mat

metal_ridges_sw.mat

混凝土覆盖 concrete

concrete_roof_sw.mat

concrete_ridges_sw.mat

参数#

以下参数为Buildings对象生成可用:

Generation Mode

建筑生成模式。有两个选择:

  • Auto -材质和屋顶类型自动分配,设置的材质可用/core/materials/buildings/文件夹。
  • Manual -允许配置屋顶材质和类型。选择这种模式使额外的参数。
Base Material Attributes

在源数据属性表中指定建筑材质的列的名称。默认情况下,使用相应的 OpenStreetMap 键。 如有必要,您可以替换它或使用逗号添加另一个键。

Roof Type Attributes

在源数据属性表中指定屋顶形状的列的名称。 默认情况下,使用相应的 OpenStreetMap 键。 如有必要,您可以替换它或使用逗号添加另一个键。

Roof Height Attributes

源数据属性表中指定屋顶高度的列的名称。 默认情况下,使用相应的 OpenStreetMap 键。 如有必要,您可以替换它或使用逗号添加另一个键。

Roof Unit Size (m) 大小的正方形区域的一侧的纹理应用(即一个瓦)。
Use Imagery Color

如果禁用,颜色从屋顶材质使用。如果启用,颜色从Imagery源作为屋顶的颜色。

注意
要使用图像颜色,屋顶材质应启用 Vertex Color 状态,并将顶点颜色反照率设置为 RGB。
Roof Material Attributes

在源数据属性表中指定屋顶材质的列的名称。默认情况下,使用相应的 OpenStreetMap 键。 如有必要,您可以替换它或使用逗号添加另一个键。

Split Length (km)

的大小的网格单元生成的几何将分裂。每个单元的几何形状是代表一个单独的ObjectMeshStatic对象。如果指定的值超过或等于Export Area的大小,一个Static Mesh将生成。

例如,如果您指定100 1000 x1000公里区域,生成的建筑将10 Static Mesh分离对象,100 x100公里。

Min Visibility 最低能见度距离的相机生成的对象(ObjectMeshStatic)开始出现在屏幕上。默认情况下,这个值是-inf
Max Visibility 最大的能见距离生成对象(ObjectMeshStatic)不再是完全可见的:他们可以完全消失或开始淡出。默认情况下,这个值是inf
Min Fade 最小淡入淡出距离,生成的对象 (ObjectMeshStatic) 在该距离上淡入,直到它们完全可见。 沿着这个距离,引擎会自动将细节级别从 0.0(完全不可见)的 Alpha 插入到 1.0(完全可见)。 当相机达到 最小可见距离 并且处于完整可见范围内时,淡入开始。
Max Fade 最大淡出距离,生成的对象 (ObjectMeshStatic) 在该距离上淡出,直到它们完全不可见。 当相机达到 最大可见距离 并且超出完整可见范围时,淡出开始。

除了基本的参数,可用于Auto代,以下参数可用Manual代模式:

基本参数:

基础建筑参数

基础参数调整建筑墙壁的外观。

Base Material Distribution
  • Attribute + Random -该值取自属性。如果属性不包含值,材质是应用随机。
  • Random -材质应用随机从Random Material List包含的材质。
Random Material List 生成的材质列表将被应用到建筑。只有基材(*_basement)显示每组。其他材质从这个组被称为使用前缀,这应该是相同的所有材质的一群。每种材质右侧的数字表示其频率。每个材质左侧的切换允许启用/禁用它。
Column Size (m) 一个纹理列的宽度,以米为单位。 纹理 单元 被映射到建筑物墙壁上的这个宽度。
Columns per Texture 一个纹理中的列数。 该值允许形成 网格 以获得更精确的纹理映射。 映射到一层以上墙壁上的纹理被分割成网格,以便适当切割,避免像窗户的一部分这样的视觉工件。
Row Size (m) 一排的高度,以米为单位。 事实上,这是一个楼层高度。 纹理 单元 映射到建筑物墙壁上的这个高度。
Rows per Texture 一个纹理中的行数。 该值允许形成 网格 以获得更精确的纹理映射。 映射到底层以上墙壁的纹理被分割成一个网格,以便正确切割,避免像窗户一样的视觉伪影。
Floor Number
  • Attribute + Random -该值取自属性。如果属性不包含值,地板的数量从Floor Number Range应用随机。
  • Random -的数量从Floor Number Range地板是随机分配的。
Floor Number Range 最小和最大楼层编号值。 如果没有可用数据或 FloorNumber 设置为 Random,则此范围内的随机值将用作楼层号。
屋顶参数:

屋顶参数

屋顶参数调整的屋顶。

Roof Type Distribution
  • Attribute + Random 该值取自属性。如果属性不包含值,则从可用的屋顶类型中随机应用Roof Types应用。
  • Random - 屋顶类型是从可用的 Roof Types.
Roof Type

带有概率乘数的屋顶类型。 有以下类型的屋顶可供选择:

Flat

Flat roof

Skillion

Skillion roof

Gabled

Gabled roof

Hipped

Hipped roof

您可以删除根本不需要排除它们的屋顶类型。 您可以通过单击 Plus 按钮并在下拉窗口中选择它来添加先前删除的类型。

注意
如果同一屋檐类型设置一次,行接近底部的值集将计数。

如果一个建立自上而下的形式不同于矩形,这将是平屋顶。其他类型的建筑物屋顶是不可用。

Roof Height Distribution
  • Attribute + Random -该值取自属性。如果属性不包含值,屋顶高度是随机取自用户定义高度范围相应的屋顶类型。
  • Random -屋顶高度可用高度范围的随机分配相应的屋顶类型。
Roof Type Height

高度范围(最小和最大可能的高度)相应的屋顶类型。一个随机值取自这个范围内,如果必要的。平屋顶的高度值定义了屋顶栏杆的高度。

注意
如果同一屋檐类型设置一次,行接近底部的值集将计数。
Roof Material Distribution
  • Attribute + Random -该值取自属性。如果属性不包含值,屋顶材质取自material屋顶设置相应的类型。
  • Random 屋顶材质被指定为对应的屋顶类型的集合。
Roof Type Material 屋顶材质设置相应的类型。您可以启用或禁用材质,避免不正确的使用不合适的材质类型的屋顶,例如,禁用平屋顶的瓦片,因为这是虚构的。
注意
如果同一屋檐类型设置一次,行接近底部的值集将计数。
通用参数:

常用参数

通用参数调整的地下室,可见性的建筑,建筑对象的分割成行业。

Underground Basement Height (m) 地下室地下部分的高度。用于地面凹凸不平的表面,建筑物部分悬浮在地面上。默认值是3米。您可以将此值设置为0.7要显示如果您不需要它。
Basement Height (m) 地下室的高度高于地形水平。默认值是3米。您可以将此值设置为0要显示如果您不需要它。
最新更新: 2023-06-23
Build: ()