A road grid creation method and device based on Unity engine terrain system is presented. The method includes steps: acquiring sampling points from scene and creating road curve; acquiring vertices of segmented grid and creating vertex reserve array; creating bounding boxes and cutting surfaces of vertices of segmented grid; creating secondary vertex reserve array; creating triangular index number of secondary vertex reserve array. Sublevel vertex reserve array is obtained by cutting secondary vertex reserve array on cutting surface, and sublevel triangle index array is reorganized to obtain sublevel triangle index array; based on cutting surface, sublevel vertex reserve array is obtained by UV array; sublevel vertex reserve array, sublevel triangle index array and UV array are used to create road grid. The road grid creation method and device based on the Unity engine terrain system of the invention can create a road model that fully fits the Unity engine terrain system.
【技术实现步骤摘要】
基于Unity引擎地形系统的道路网格创建方法及装置
本专利技术涉及图像建模
,特别是涉及一种基于Unity引擎地形系统的道路网格创建方法及装置。
技术介绍
Unity是由UnityTechnologies公司开发的一个让开发者创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型三维图形引擎。当前的其他游戏引擎,比如CryENGINE3引擎、虚幻4引擎等,都提供了基于Unity引擎地形系统的创建道路的编辑工具,但是Unity引擎并未给开发者提供基于Unity引擎地形系统的创建道路的编辑工具。创建道路的编辑工具,是一个可以在虚拟三维空间创建模拟现实世界道路模型的工具。创建道路的编辑工具的功能,一般包括,自定义道路的起始点和结束点,调整道路的宽度和高度,调整道路模型的精度,以及将道路模型贴合目标模型等。当前的一些游戏引擎中,使用的在地形上创建道路的方法,主要为延迟渲染、投影器和创建网格的方法。其中,延迟渲染的方法,通过在延迟渲染阶段采样道路贴图绘制到地形上,但是该方法并不支持在移动设备上实现;投影器的方法,则无法渲染自定义的形状;创建网格的方法,则使用依据路径采样点生成网格方法,在地形系统上设置采样点,采样地形的高度,生成道路模型,但该方法也存在着不能完全的贴合地形,以及道路网格的精细度不够的缺陷。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种基于Unity引擎地形系统的道路网格创建方法及装置,能够创建出完全贴合Unity引擎地形系统的道路模型。为实现上述目的,本专利技术提供的基于Unity引擎地形系统的道路网 ...
【技术保护点】
1.一种基于Unity引擎地形系统的道路网格创建方法,其特征在于,包括以下步骤:从场景中获取采样点,创建道路曲线;获取分段网格的顶点,创建顶点预备数组;创建分段网格的顶点的包围盒及切割面;创建次级顶点预备数组;创建次级顶点预备数组的三角形索引数组;采用切割面切割次级顶点预备数组得到子级顶点预备数组,以及重新组织三角形索引数组得到子级三角形索引数组;基于切割面,得到子级顶点预备数组的UV数组;采用子级顶点预备数组、子级三角形索引数组,以及UV数组,创建道路网格。
【技术特征摘要】
1.一种基于Unity引擎地形系统的道路网格创建方法,其特征在于,包括以下步骤:从场景中获取采样点,创建道路曲线;获取分段网格的顶点,创建顶点预备数组;创建分段网格的顶点的包围盒及切割面;创建次级顶点预备数组;创建次级顶点预备数组的三角形索引数组;采用切割面切割次级顶点预备数组得到子级顶点预备数组,以及重新组织三角形索引数组得到子级三角形索引数组;基于切割面,得到子级顶点预备数组的UV数组;采用子级顶点预备数组、子级三角形索引数组,以及UV数组,创建道路网格。2.根据权利要求1所述的基于Unity引擎地形系统的道路网格创建方法,其特征在于,所述获取分段网格的顶点,创建顶点预备数组的步骤,进一步包括步骤:根据道路曲线的总长度和道路网格的构建步长,确定道路网格的网格总段数;根据每一分段网格的中心点的位置、副切线数据和网格宽度信息,计算出每一分段网格的中心点的正副切线方向的顶点位置数据,并将顶点位置数据存储到顶点预备数组。3.根据权利要求1所述的基于Unity引擎地形系统的道路网格创建方法,其特征在于,所述创建次级顶点预备数组的步骤,进一步包括步骤:根据包围盒的最小点和最大点的位置数据,以及采样步长,确定采样面的起始点、结束点和执行步长,采用Unity引擎地形系统中的GetInterpolatedHeight()方法从场景中获得采样点的位置数据,并将采样点的位置数据存储到次级顶点预备数组。4.根据权利要求1所述的基于Unity引擎地形系统的道路网格创建方法,其特征在于,所述采用切割面切割次级顶点预备数组得到子级顶点预备数组的步骤是,使用切割面,并采用裁剪三角面的方法,将次级顶点预备数组中不在切割面内的顶点剔除并生成新的顶点,得到子级顶点预备数组。5.根据权利要求1所述的基于Unity引擎地形系统的道路网格创建方法,其特征在于,所述基于切割面,得到子级顶点预备数组...
【专利技术属性】
技术研发人员:陈童,
申请(专利权)人:苏州蜗牛数字科技股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。