【技术实现步骤摘要】
一种三维场景生成方法、装置、设备和存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种三维场景生成方法、装置、设备和存储介质。
技术介绍
随着计算机技术的快速发展,三维场景所包含的场景元素越来越丰富。例如,场景元素可以包括可与用户进行交互的场景元素(比如,可移动的箱子等),以及不可与用户进行交互的场景元素(比如,地形、地上的树木、石头等)。目前,现有的三维场景生成方式是:根据手动输入的地形高度图绘制地形,生成地形模型,再将其余的每个场景元素的元素数据逐个进行加载,在相应位置上生成每个场景元素对应的场景模型,从而完成三维场景的生成。可见,现有的三维场景中的每个场景元素都是单独生成的,大大降低了三维场景生成效率。
技术实现思路
本专利技术实施例提供了一种三维场景生成方法、装置、设备和存储介质,以提高三维场景的生成效率。第一方面,本专利技术实施例提供了一种三维场景生成方法,包括:获取三维场景中待生成的每个场景元素对应的元素数据,所述场景元素包括地形场景元素和非地形场景元素;根据所述非地形场景元素对应的元素数据,确定各个所述非地形场景元素中的不可交互场景元素;基于场景底平面,对各个所述不可交互场景元素进行网格碰撞检测,确定出与所述地形场景元素可堆叠的不可交互场景元素,作为第一场景元素;基于预设高度投影方式和所述元素数据,将所述地形场景元素与各个所述第一场景元素进行组合投影,生成组合地形模型。第二方面,本专利技术实施例还提供了一种三维场景生成装置,包 ...
【技术保护点】
1.一种三维场景生成方法,其特征在于,包括:/n获取三维场景中待生成的每个场景元素对应的元素数据,所述场景元素包括地形场景元素和非地形场景元素;/n根据所述非地形场景元素对应的元素数据,确定各个所述非地形场景元素中的不可交互场景元素;/n基于场景底平面,对各个所述不可交互场景元素进行网格碰撞检测,确定出与所述地形场景元素可堆叠的不可交互场景元素,作为第一场景元素;/n基于预设高度投影方式和所述元素数据,将所述地形场景元素与各个所述第一场景元素进行组合投影,生成组合地形模型。/n
【技术特征摘要】
1.一种三维场景生成方法,其特征在于,包括:
获取三维场景中待生成的每个场景元素对应的元素数据,所述场景元素包括地形场景元素和非地形场景元素;
根据所述非地形场景元素对应的元素数据,确定各个所述非地形场景元素中的不可交互场景元素;
基于场景底平面,对各个所述不可交互场景元素进行网格碰撞检测,确定出与所述地形场景元素可堆叠的不可交互场景元素,作为第一场景元素;
基于预设高度投影方式和所述元素数据,将所述地形场景元素与各个所述第一场景元素进行组合投影,生成组合地形模型。
2.根据权利要求1所述的方法,其特征在于,基于预设高度投影方式和所述元素数据,将所述地形场景元素与各个所述第一场景元素进行组合投影,生成组合地形模型,包括:
根据所述地形场景元素对应的位置信息和网格信息,在三维场景中相应位置上加载所述地形场景元素对应的网格;
根据每个所述第一场景元素对应的位置信息和网格信息,在三维场景中相应位置上加载每个所述第一场景元素对应的网格;
对加载的各个网格进行高度投影,生成地形高度图,并根据所述地形高度图生成组合地形;
根据所述地形场景元素对应的位置信息和材质信息,以及各个所述第一场景元素对应的位置信息和材质信息,确定所述组合地形对应的材质通道图;
基于所述材质通道图,对所述组合地形进行渲染,生成组合地形模型。
3.根据权利要求1所述的方法,其特征在于,基于场景底平面,对各个所述不可交互场景元素进行网格碰撞检测,确定出与所述地形场景元素可堆叠的不可交互场景元素,作为第一场景元素,包括:
根据预先设置的每个所述不可交互场景元素对应的网格标签,对各个所述不可交互场景元素进行筛选,获得网格标签为基石网格的目标不可交互场景元素;
检测每个所述目标不可交互场景元素对应的目标网格是否与场景底平面存在网格碰撞,并将存在网格碰撞的目标不可交互场景元素添加至当前列表中;
检测当前剩余的各个目标不可交互场景元素中是否存在与当前列表中的至少一个目标不可交互场景元素存在网格碰撞的目标不可交互场景元素;
若是,则将存在网格碰撞的当前剩余的目标不可交互场景元素添加至当前列表中,并基于更新后的当前剩余的目标不可交互场景元素和当前列表,返回执行所述检测当前剩余的各个目标不可交互场景元素中是否存在与当前列表中的至少一个目标不可交互场景元素存在网格碰撞的目标不可交互场景元素的操作;
若否,则将当前列表中的每个目标不可交互场景元素确定为与所述地形场景元素可堆叠的第一场景元素。
4.根据权利要求3所述的方法,其特征在于,检测当前剩余的各个目标不可交互场景元素中是否存在与当前列表中的至少一个目标不可交互场景元素存在网格碰撞的目标不可交互场景元素,包括:
针对当前剩余的每个目标不可交互场景元素而言,若检测到当前剩余的目标不可交互场景元素与当前列表中的至少一个目标不可交互场景元素存在网格交叠,则检测当前剩余的该目标不可交互场景元素的底面是否处于当前列表中存在网格交叠的目标不可交互场景元素的网格内部;
若是,则确定当前剩余的该目标不可交互场景元素存在网格碰撞。
5.根据权利要求3所述的方法,其特征在于,在根据预先设置的每个所述不可交互场景元素对应的网格标签,对各个所述不可交互场景元素进行筛选,获得网格标签为基石网格的目标不可交互场景元素之前,还包括:
针对场景元素数据库中的每个预设场景元素而言,根据该预设场景元素对应的网格信息,确定该预设场景元素对应的各个网格顶点位置坐标信息;
根据各个网格顶点位置坐标信息,检测该预设场景元素对应的每个网格顶点是否满足预设基石条件;
若各个网格顶点均满足预设基石条件,则确定该预设场景元素对应的网格标签为基石网格,并存储该预设场景元素的底面位置信息;
若存在至少一个网格顶点不满足预设基石条件,则确定该预设场景元素对应的网格标签为非基石网格。
6.根据权利要求5所述的方法,其特征在于,根据各个网格顶点位置坐标信息,检测该预设场景元素对应的每个网格顶点是否满足预设基石条件,包括:
将该预设场景元素对应的每个网格顶点逐个作为第一网格顶点;
检测第一网...
【专利技术属性】
技术研发人员:王杰,
申请(专利权)人:上海米哈游网络科技股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。