美化效果设置

本部分介绍在Unreal Engine中使用SuperMap Hi-Fi 3D SDK for Unreal设置城市精细模型美化效果。

  1. 根据软件安装操作指南,新建工程并安装插件。
  2. 打开\SuperMap HiFi 3D SDK for Unreal\Content\Materials\UE5文件夹,找到美化过程中需要使用的材质函数及相关素材。主要包括:
    • SM_WindowEmissive.uasset:位于Content\Materials\UE5\MaterialFunctions\Utility文件夹,是制作自发光及环境光贴图反射的总材质函数。
    • SM_WindowEmissive_MPC.uasset:位于Content\Materials\UE5\MaterialFunctions\Utility文件夹,用于控制自发光强度及环境光贴图强度的参数。
    • SM_WindowEmissive_YanMo.uasset:位于Content\Materials\UE5\MaterialFunctions\Utility文件夹,用于获取S3M瓦片数据中掩膜纹理的材质函数。
    • SM_WindowEmissive_Texture.uasset:位于Content\Resource\Texture文件夹,是自发光纹理贴图,可根据需要进行修改和替换。
    • SM_WindowEmissive_HDR.uasset:位于Content\Resource\Texture文件夹,是环境光反射纹理贴图,可根据需要进行修改和替换。
    • SM_WindowEmissive_Block.uasset:位于Content\Resource\Texture文件夹,纯黑色纹理,作为默认的掩膜纹理。
  3. 建立SM_WindowEmissive材质函数与相关素材的引用关系,具体如下图所示:
  4. 1代表SM_WindowEmissive材质蓝图,2代表自发光_贴图,3代表Window Emissive Intensity,4代表假反射,5代表HDR Emissive intensity。

  5. 找到并打开内容浏览器->Plugins->SuperMap内容->Materials->UE5->SM_ModelPBR材质,进行如下修改:
    • 增加标号1、2部分的函数并将两个材质函数与相关部分连接上,标号1处为SM_WindowEmissive_YanMo材质函数。标号2处为SM_WindowEmissive材质函数。详情见下图。
      • SM_WindowEmissive_YanMo材质函数左侧与SM_UV连接,右侧连接至SM_WindowEmissive材质函数MaskTexture节点。
      • SM_WindowEmissive材质函数左侧MaskTexture节点与SM_WindowEmissive_YanMo材质函数连接,左侧基础纹理节点连接至SM_ClipPlane材质函数的右侧Color节点。
      • SM_WindowEmissive材质函数右侧粗糙度节点、自发光节点、基础纹理节点、高光度节点分别与SM_ModelPBR材质函数的粗糙度节点、自发光节点、基础纹理节点、高光度节点相连。

  6. 通过调整SM_WindowEmissive材质函数的参数来调整效果。具体参数如下:
    • TexCoord[5]是在瓦片生成时生成的第二重纹理坐标,可用来贴自发光纹理。
    • UVscale是Unreal Engine中使用窗景贴图的缩放比例,比如使用了一张24层楼的窗景贴图,生成瓦片数据时设置的贴图实际大小是3m表示1层楼,则窗景贴图的UVscale=1/24=0.04167。
    • UOffset与VOffset可用于调整窗景贴图在模型上的显示效果。
    • 自发光_贴图是Unreal Engine中的范例窗景贴图素材,可根据需要进行制作替换。
    • SM_WindowEmissive_MPC的参数"Window Emissive Intensity"和"HDR Emissve Intensity",分别控制自发光强度及环境光贴图的强度,可根据需要设置。
  7. 通过SuperMap编辑器控件依次添加瓦片数据。如果是夜晚场景,需要调高Window Emissive Intensity的参数,调低HDR Emissve Intensity的参数。此时单击运行此关卡即可看到效果,具体见下图。
  8. 如果是白天的效果,需要调低Window Emissive Intensity的参数,调高HDR Emissve Intensity的参数,从而增加环境光贴图的反射效果。