1.实现目标
模型压平
功能是GIS系统中的一个常用功能,可以用于模型的替换,数据的对比等。本文在UE5中通过修改材质
的方式实现,实现模型压平的功能,包括常规建模的StaticMesh
,以及CesiumForUnreal的3DTiles
,都可以实现压平效果。并解决压平后出现的闪面
以及高度错乱问题,使最终的效果更加符合俯视的真实效果。GIF动图如下:
2.实现过程
2.1 实现原理
压平即将模型的顶点的高度修改为压平目标高度,可以通过修改顶点着色器等实现。
本文这里是直接基于UE材质的世界位置偏移World Postion Offset
材质节点,在材质中实现顶点渲染的偏移,实际的顶点位置与碰撞体等都未发生变化。为了控制压平的范围,本文选择在Box盒体的范围内进行压平。
2.2 蓝图实现
以下内容是在
Editor
的环境下实现,若需要在Runtime下也有效果,则需要修改部分代码,下文有具体标注。
(1)新建材质参数集,使用Vector参数存储需要压平的空间范围Box的中心点和边界等参数。
<