UE4/Unity绘制地图基础元素-线(上篇)
前言 这篇文章是使用游戏引擎探索地图可视化的开篇。传统的地图渲染通常是在iOS/Android/Web平台进行的,为了探究更酷炫的地图展示,会记录基于UE4/Unity进行地图渲染的探索过程。 地图基础元素 - 线 线作为地图渲染的基本元素,在地图中可以代表各种形式的道路。道路数据通常以离散点串形式存储,因此如何将点串绘制成有宽度的线是渲染最关注的问题。本文记录了绘制有宽度的线的方法,并对优化线展示效果的各种线帽和拐角进行了阐述。 绘制有宽度的线 道路数据通常以离散点串和其对应线宽进行存储,为了在游戏引擎中进行显示,就需要将其扩展为有宽度的线。UE4和Unity都可以使用代码生成Mesh进行基本图元的渲染展示(UE4使用Procedural Mesh Component,Unity使用MeshFilter和MeshRenderer),而Mesh渲染的基本单位是三角形,因此问题就转化为如何根据点串和线宽,构造出一组三角形使其能够拼合产生具有宽度的线。 对于只有两个点的直线,通过获取与直线垂直的向量,向两个方向各扩展lineWidth/2长度产生顶点,划分为三角形即可。 而对于多个离散点构...
