CN113066183A - 虚拟场景生成方法、装置、计算机设备和存储介质 - Google Patents

虚拟场景生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113066183A
CN113066183A CN202110466543.2A CN202110466543A CN113066183A CN 113066183 A CN113066183 A CN 113066183A CN 202110466543 A CN202110466543 A CN 202110466543A CN 113066183 A CN113066183 A CN 113066183A
Authority
CN
China
Prior art keywords
scene
terrain
dimensional
area
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110466543.2A
Other languages
English (en)
Inventor
丁子力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110466543.2A priority Critical patent/CN113066183A/zh
Publication of CN113066183A publication Critical patent/CN113066183A/zh
Priority to PCT/CN2022/081332 priority patent/WO2022227910A1/zh
Priority to US17/985,102 priority patent/US20230074265A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请涉及一种虚拟场景生成方法、装置、计算机设备和存储介质。所述方法包括:获取与真实场景对应的三维空间数据和场景分布数据;从所述三维空间数据中提取地形特征;按照所述地形特征生成三维地形模型;从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。采用本方法能够高效精准地生成与真实场景相似的虚拟场景。

Description

虚拟场景生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机视觉技术领域,特别是涉及一种虚拟场景生成方法、装置、计算机设备和存储介质。
背景技术
在计算机图形学中,虚拟场景是指计算机通过数字通讯技术勾勒出的数字化场景。随着图形学技术的发展,通过创建虚拟场景能够实现各种想象的虚幻场景、仿真环境等,例如虚拟场景可以应用于游戏、影视特效等各种应用场景。
在相关技术中,要么需要人工手动对虚拟场景中的每个对象进行单独建模,这种方式需要耗费大量的人力成本来手动构建虚拟场景。要么是结合程序化工具根据指定的信息,如范围和高度等,来随机生成虚拟场景,这种方式生成的虚拟场景可能存在逻辑不合理的情况,仍需要耗费大量的人力成本来手动修复虚拟场景。因此,使用传统方法构建虚拟场景,存在构建成本高昂且十分耗时的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够高效精准地生成与真实场景对应的虚拟场景的虚拟场景生成方法、装置、计算机设备和存储介质。
一种虚拟场景生成方法,所述方法包括:
获取与真实场景对应的三维空间数据和场景分布数据;
从所述三维空间数据中提取地形特征;
按照所述地形特征生成三维地形模型;
从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
一种虚拟场景生成装置,所述装置包括:
数据获取模块,用于获取与真实场景对应的三维空间数据和场景分布数据;
特征提取模块,用于从所述三维空间数据中提取地形特征;
地形生成模块,用于按照所述地形特征生成三维地形模型;
所述特征提取模块还用于从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
场景生成模块,用于在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
在一个实施例中,所述三维空间数据包括地形空间数据和覆盖对象空间数据;所述特征提取模块还用于从所述地形空间数据中提取地形特征;所述地形生成模块还用于根据所述地形特征生成三维地形模型;根据所述覆盖对象空间数据,确定所述三维地形模型中的地表覆盖区域;在所述地表覆盖区域中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
在一个实施例中,所述特征提取模块还用于根据所述地形空间数据中相邻地形点之间的高度差值,确定地形特征;所述地形生成模块还用于根据所述地形特征,确定所述地形空间数据中各地形区域对应的地形类型;按照所述地形类型,在所述地形区域中添加相应的地表属性信息;根据添加地表属性信息后的地形空间数据,生成三维地形模型。
在一个实施例中,所述地形生成模块还用于在所述三维地形模型中,确定所述覆盖对象空间数据中地表覆盖点所对应的地形点;根据所述地表覆盖点与对应地形点的高度差值,选取目标地表覆盖点;确定扩充区域与所述三维地形模型的交叠区域;所述扩充区域,是基于目标地表覆盖点进行扩充得到的区域;根据所述交叠区域,确定所述三维地形模型中的地表覆盖区域。
在一个实施例中,所述地形生成模块还用于确定所述地表覆盖区域中的地表覆盖对象的生成参数信息;根据所述生成参数信息在所述地表覆盖区域生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
在一个实施例中,所述特征提取模块还用于基于所述场景分布数据,确定所述真实场景中场景对象在所述三维地形模型中的位置和高度;根据所述位置和所述高度,生成所述场景对象对应的三维场景对象数据;从所述三维场景对象数据中,提取所述场景对象的场景对象特征。
在一个实施例中,所述特征提取模块还用于若所述场景分布数据包括所述真实场景中场景对象的原始位置,根据所述原始位置,确定所述场景对象在所述三维地形模型中的位置和高度;若所述场景分布数据包括所述场景对象的原始位置和原始高度,根据所述原始位置和原始高度,确定所述场景对象在所述三维地形模型中的位置和高度。
在一个实施例中,所述场景生成模块还用于根据所述场景对象特征,生成与所述场景对象相应的初始场景对象模型;根据所述场景对象的对象类型,对相应所述初始场景对象模型添加符合所述对象类型的场景对象属性信息,得到与所述场景对象相匹配的场景对象模型;将所述场景对象模型添加至所述三维地形模型中,得到与所述真实场景对应的虚拟场景。
在一个实施例中,所述场景生成模块还用于确定所述场景对象模型在所述三维地形模型中对应的地形区域;对所述地形区域进行平滑处理,得到平滑后的地形区域;将所述场景对象模型添加至所述三维地形模型中平滑后的地形区域,得到与所述真实场景对应的虚拟场景。
在一个实施例中,所述场景生成模块还用于将所述场景对象模型在所述三维地形模型中对应的位置区域,以及所述位置区域的相邻区域,确定为与所述场景对象模型对应的地形区域;根据所述场景对象模型的底面与所述位置区域的高度差值,对所述位置区域的高度值进行更新;根据更新后的位置区域的高度值,对所述相邻区域的高度值进行平滑处理,得到平滑后的地形区域。
在一个实施例中,所述虚拟场景生成装置还包括对齐处理模块,用于将所述场景分布数据对应的场景区域,与所述三维空间数据对应的场景区域进行对齐处理,得到场景对齐区域;从所述场景分布数据中,选取与所述场景对齐区域相匹配的场景分布数据,得到对齐后的场景分布数据;所述数据获取模块还用于获取与真实场景对应的三维空间数据和对齐后的场景分布数据。
在一个实施例中,所述场景分布数据中包括场景对象对应的点集数据;所述对齐处理模块还用于对于第一对象类型的场景对象,若所述场景对齐区域内具有所述场景对象的完整的点集数据,则从所述场景分布数据中,选取所述完整的点集数据;若所述场景对齐区域内具有所述场景对象的不完整的点集数据,则从所述场景分布数据中剔除所述场景对象对应的完整的点集数据;对于第二对象类型的场景对象,从所述场景分布数据中,选取所述场景对象在所述场景对齐区域内的点集数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取与真实场景对应的三维空间数据和场景分布数据;
从所述三维空间数据中提取地形特征;
按照所述地形特征生成三维地形模型;
从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取与真实场景对应的三维空间数据和场景分布数据;
从所述三维空间数据中提取地形特征;
按照所述地形特征生成三维地形模型;
从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令时实现以下步骤:
获取与真实场景对应的三维空间数据和场景分布数据;
从所述三维空间数据中提取地形特征;
按照所述地形特征生成三维地形模型;
从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
上述虚拟场景生成方法、装置、计算机设备和存储介质,获取与真实场景对应的三维空间数据和场景分布数据后,从三维空间数据中提取地形特征,并按照地形特征自动生成三维地形模型,由此能够高效地生成具有真实场景的地形特征的三维地形模型。然后从场景分布数据中,提取真实场景中场景对象的场景对象特征;进而在三维地形模型中,生成与场景对象特征对应的场景对象模型,从而自动生成完整的与真实场景对应的虚拟场景。通过从与真实场景对应的三维空间数据和场景分布数据中,分别提取出的地形特征和场景对象特征,进而基于地形特征和场景对象特征自动生成三维的虚拟场景,由此能够高效精准地自动生成具有真实场景的特征、且符合现实逻辑的虚拟场景。
附图说明
图1为一个实施例中虚拟场景生成方法的应用环境图;
图2为一个实施例中虚拟场景生成方法的流程示意图;
图3为另一个实施例中虚拟场景生成方法的流程示意图;
图4为一个实施例中生成三维地形模型的示意图;
图5为一个实施例中在三维地形模型中生成地表覆盖对象的示意图;
图6为一个实施例中生成场景对象模型的示意图;
图7为一个实施例中将场景对象模型添加至三维地形模型的示意图;
图8为一个实施例中对场景对象模型对应的地形区域进行平整的示意图;
图9为一个实施例中将场景分布数据与三维空间数据进行对齐的示意图;
图10为一个实施例中生成虚拟场景的整体流程示意图;
图11为一个实施例中预设的编辑器插件的界面示意图;
图12为一个实施例中展示基于三维点云数据自动生成地形模型的示意图;
图13为一个实施例中得到的最终的虚拟场景的示意图;
图14为一个实施例中通过可视化编辑引擎对虚拟场景再次编辑的示意图;
图15为一个实施例中分步生成虚拟场景的效果示意图;
图16为一个实施例中真实场景与虚拟场景的效果示意图;
图17为一个实施例中虚拟场景生成装置的结构框图;
图18为一个实施例中计算机设备的内部结构图;
图19为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的虚拟场景生成方法,可以应用于计算机设备中。计算机设备可以为终端或服务器。可以理解的是,本申请提供的虚拟场景生成方法可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。
本申请提供的虚拟场景生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。具体地,终端102可以采集或获取与真实场景对应的三维空间数据和场景分布数据,并发送至服务器104。服务器104获取到与真实场景对应的三维空间数据和场景分布数据后,则从三维空间数据中提取地形特征,按照地形特征生成三维地形模型;从场景分布数据中,提取真实场景中场景对象的场景对象特征;在三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的虚拟场景。然后服务器104还可以将生成的与真实场景对应的虚拟场景返回至终端102,并在终端102中展示虚拟场景。
其中,终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
可以理解,本申请各实施例中的虚拟场景生成方法,采用云技术、人工智能以及计算机视觉技术等,能够有效实现自动生成与真实场景相似的虚拟场景。所生成的虚拟场景,可以应用于游戏开发、视频制作、地图领域、交通领域如智能交通***等各种场景。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。其中,云计算(CloudComputing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务,提供资源的网络被称为“云”。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作***)、存储设备、网络设备。可以理解,本申请的虚拟场景生成方法,可以采用云技术,将与真实场景对应的三维空间数据和场景分布数据上传至云平台,基于云计算对三维空间数据和场景分布数据进行计算处理,从而能够高效地进行三维重建计算得到与真实场景对应的虚拟场景。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。可以理解,本申请的虚拟场景生成方法,就是基于计算机视觉技术,对三维空间数据和场景分布数据进行三维物体重建,从而能够高效精准地生成与真实场景对应的虚拟场景。
本申请虚拟场景生成方法,可以基于真实场景对应的三维空间数据和场景分布数据,自动生成与真实场景相似的虚拟场景。所生成的虚拟场景,可以是通过模拟还原真实场景的道路分布和地形分布等场景元素,得到的三维的道路地形模拟场景,可以进一步辅助生成电子地图或完善电子地图,从而能够有效提高电子地图的精度。
可以理解,所生成的虚拟场景,还可以是通过模拟真实场景中的道路环境,得到的道路模拟场景,从而能够高效精准地自动生成与真实场景相符的三维的道路模拟场景。道路模拟场景,则可以应用于智能交通***或道路交通***等场景,能够进一步辅助车辆安全控制和道路协同管理,充分实现车路的有效协同以保证交通安全和通行效率,从而形成安全、高效和环保的道路交通***。
在一个实施例中,如图2所示,提供了一种虚拟场景生成方法,以该方法应用于计算机设备为例进行说明,该计算机设备具体可以是图1中的终端或服务器,可以理解的是,该方法还可以应用于包括终端和服务器的***,并通过终端和服务器的交互实现。本实施例中,虚拟场景生成方法包括以下步骤:
S202,获取与真实场景对应的三维空间数据和场景分布数据。
可以理解,虚拟场景,是指计算机通过数字通讯技术勾勒出的数字化场景,包括二维虚拟场景和三维虚拟场景,可以用虚拟化技术手段来真实模拟出现世界的各种物质形态、空间关系等信息。其中,三维虚拟场景能够更加美观地展示物体的形态,同时也能更加直观地展示虚拟现实世界。例如,三维虚拟场景下的物体可以包括地形、树木、道路、建筑等中的至少一种。
其中,真实场景,是指现实世界中真实存在的场景。例如,可以包括野外区域场景、乡镇区域场景、城市区域场景等中的至少一种。
三维空间数据,可以用于表示真实场景区域中的场景元素的空间信息,例如物体的位置、形态、大小分布等各方面的信息,是对真实场景中存在的具有定位的物体的定量描述,可以用来构建三维空间数据模型。
可以理解,三维空间数据,具体可以是真实场景中空间点的三维点集数据,也即三维几何数据。三维空间数据具体可以包括三维点云数据、三维遥感数据、摄影测量数据等中的至少一种。其中,三维点云数据可以是基于卫星射线扫描、地面激光扫描、雷达扫描等中的至少一种,扫描真实场景所得到的点数据集合。三维遥感数据可以是基于遥感技术对目标进行探测获取得到目标的空间数据。摄影测量数据可以是基于摄影测量技术采集被测物体得到的位置、形状、大小等信息。
场景分布数据,是指真实场景区域中的场景元素的分布数据,例如物体的位置、大小分布等信息。其中,场景分布数据可以包括二维的数据,也可以包括三维的数据。场景分布数据具体可以包括物体的二维位置分布信息和高度信息,例如,可以包括地理数据、地图数据等中的至少一种。其中,场景分布数据的形式可以包括数字、文字、图像和图形等中的至少一种。
具体地,计算机设备首先获取预先采集的与真实场景对应的三维空间数据和场景分布数据,然后基于三维空间数据和场景分布数据重建与真实场景相符的虚拟场景。
S204,从三维空间数据中提取地形特征。
其中,地形是指地物形状和地貌的总称,指地表面的形态,具体可以指地表以上分布的固定物体所共同呈现出的高低起伏的各种状态,例如地理中的陆地地形包括平原、高原、丘陵、盆地、山地等基本地形形态。
可以理解,地形特征是指地形中的地势变化特征或地面的起伏形态特征。地形特征可以用于描述地表起伏、地势变化、海拔变化、各种地形区域所占比例、及地形分布等方面的信息。
其中,三维空间数据中包括多个空间点的三维空间数据,例如具体可以为空间点的三维坐标数据。可以理解,根据多个空间点的三维空间数据,则可以构建出相应的三维模型。
具体地,计算机设备获取真实场景对应的三维空间数据后,则对三维空间数据进行特征提取,以提取出三维空间数据中表征地形分布状态的地形特征,例如具体可以是地势变化特征。
S206,按照地形特征生成三维地形模型。
其中,三维地形模型是建立虚拟场景中的地形环境的骨架,是构建三维的虚拟场景的基础。
可以理解,对于三维空间数据中多个空间点的三维点集数据,可以将每个空间点作为顶点,每个顶点具有对应的空间数据,例如三维坐标数据。通过将每个顶点连接起来,生成三维地形网格。然后则可以基于三维地形网格按照地形特征,生成具有地形特征的三维地形模型。
具体地,计算机设备提取出三维空间数据中的地形特征后,则可以根据这些三维空间数据按照地形特征,生成对应的三维地形模型。由此能够自动生成具有真实场景的地形特征的三维地形模型。
S208,从场景分布数据中,提取真实场景中场景对象的场景对象特征。
其中,场景对象是指真实场景中的物体,例如真实场景中的建筑、道路等。场景对象特征,是用于描述物体对象的位置、形态、分布、大小、对象类型等中的至少一种的特征信息。
计算机设备获取场景分布数据后,则对场景分布数据进行特征提取,以提取出真实场景中场景对象的场景对象特征。具体地,计算机设备首先从场景分布数据中提取每一个场景对象对应的场景分布数据,然后针对每一个场景对象,从场景分布数据中提取场景对象的位置、形态、分布、大小、对象类型等特征,以得到场景对象的场景对象特征。
S210,在三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的虚拟场景。
其中,场景对象模型,是指每一个场景对象对应的三维模型。例如,若场景对象为建筑,则可以根据建筑的特征生成三维的建筑模型。
在其中一个实施例中,所生成的三维地形模型可以是包括了地表固有对象特征的三维地形模型。其中,地表固有对象特征,是指地表固有对象对应的特征;地表固有对象,是指地形表面上原始存在的对象,例如地表对象和地表覆盖对象。基于地表对象和地表覆盖对象,则可以得到完整的三维地形模型。
通过在三维地形模型中,添加与场景对象特征对应的场景对象模型,则可以自动生成完整的与真实场景对应的虚拟场景。
具体地,计算机设备生成三维地形模型后,则根据场景分布数据中与真实场景中各个场景对象的场景对象特征,自动生成与每个场景对象对应的场景对象模型,并将场景对象模型添加至三维地形模型中相应的位置,从而得到与真实场景对应的虚拟场景。
上述虚拟场景生成方法中,计算机设备获取与真实场景对应的三维空间数据和场景分布数据后,从三维空间数据中提取地形特征,并按照地形特征自动生成三维地形模型,由此能够高效地生成具有真实场景的地形特征的三维地形模型。然后从场景分布数据中,提取真实场景中场景对象的场景对象特征;进而在三维地形模型中,生成与场景对象特征对应的场景对象模型,从而自动生成完整的与真实场景对应的虚拟场景。通过从与真实场景对应的三维空间数据和场景分布数据中,分别提取出的地形特征和场景对象特征,进而基于地形特征和场景对象特征自动生成三维的虚拟场景,由此能够高效精准地自动生成具有真实场景的特征、且符合现实逻辑的虚拟场景。
在一个实施例中,如图3所示,提供了另一种虚拟场景生成方法,包括以下步骤:
S302,获取与真实场景对应的三维空间数据和场景分布数据;三维空间数据包括地形空间数据和覆盖对象空间数据;
S304,从地形空间数据中提取地形特征,根据地形特征生成三维地形模型;
S306,根据覆盖对象空间数据,确定三维地形模型中的地表覆盖区域;
S308,在地表覆盖区域中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
S310,从场景分布数据中,提取真实场景中场景对象的场景对象特征;
S312,在包括地表覆盖对象的三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的虚拟场景。
本实施例中的三维空间数据具体可以是真实场景中固有物体对应的空间数据。例如,真实场景的固有物体,包括地形、植被等中的至少一种。
其中,地形空间数据,是指真实场景中的地形点对应的三维空间数据。覆盖对象空间数据,是指地形表面上的地表覆盖对象所对应的三维空间数据。地表覆盖对象,是指覆盖在地形表面上的物体对象,具体可以是地表固有对象,例如植被、树木等。地表覆盖区域,是指地形表面上的地表覆盖对象所覆盖的区域。
计算机设备获取与真实场景对应的三维空间数据和场景分布数据,其中,三维空间数据中包括了地形空间数据和覆盖对象空间数据。可以理解,地形空间数据和覆盖对象空间数据均包括相应的位置信息,具体可以为同一坐标系下的位置信息。
具体地,计算机设备首先对地形空间数据进行特征提取,并根据提取出的地形特征生成初始的三维地形模型。然后,计算机设备则根据覆盖对象空间数据与地形空间数据对应的位置信息,确定地表覆盖对象在三维地形模型中的位置,从而确定地表覆盖对象在三维地形模型中的地表覆盖区域。然后,计算机设备在地表覆盖区域中生成地表覆盖对象,也就是在初始的三维地形模型中添加地表覆盖对象对应的三维模型,从而得到包括地表覆盖对象的三维地形模型。
计算机设备进而根据从场景分布数据中提取出的场景对象特征,在包括地表覆盖对象的三维地形模型中,添加与场景对象特征对应的场景对象模型,从而自动与真实场景对应的虚拟场景。
本实施例中,通过首先根据三维空间数据中的地形空间数据和覆盖对象空间数据自动生成包括地表覆盖对象的三维地形模型后,然后根据场景分布数据在三维地形模型中生成场景对象模型,从而高效地自动生成完整的与真实场景对应的虚拟场景。
在一个实施例中,从地形空间数据中提取地形特征,包括:根据地形空间数据中相邻地形点之间的高度差值,确定地形特征;
根据地形特征生成三维地形模型,包括:根据地形特征,确定地形空间数据中各地形区域对应的地形类型;按照地形类型,在地形区域中添加相应的地表属性信息;根据添加地表属性信息后的地形空间数据,生成三维地形模型。
可以理解,地形空间数据中可以包括多个地形点对应的地形点集数据,具体包括地形点的三维坐标,三维坐标可以为(x,y,z)轴对应的坐标。可以理解的是,计算机设备可以直接利用地形空间数据生成初始的地形模型,例如三维地形网格。
计算机设备进而对地形空间数据中相邻地形点的三维坐标进行分析,针对每一个地形点,遍历每一个地形点与其周围相邻的地形点并计算高度差值。其中,高度差值,是指两个地形点的高度之间的差值。然后根据高度差值计算出相邻地形点之间的地形特征,具体可以为地势变化特征,例如“坡度”。坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平方向的距离的比叫做坡度或坡比。
然后,计算机设备根据地形特征,确定地形空间数据中各地形区域对应的地形类型。具体地,以地形特征为坡度特征为例,每一种地形类型设有对应的坡度阈值范围。
计算机设备则根据计算出的相邻地形点之间的坡度值,将坡度值在同一坡度阈值范围内的地形点标记为属于对应地形类型的同一片地形区域。具体地,计算相邻地形点的坡度值的公式可以为:
Figure BDA0003044255160000131
其中,slope相邻地形点之间的坡度值,为dpoint_1,dpoint_2为相邻地形点分别对应的三维坐标。例如,坡度阈值范围值为10-90的地形区域对应的地形类型可以为斜坡类型;坡度阈值范围值为0-10的地形区域对应的地形类型可以为平地类型。
然后计算机设备对每个地形区域,添加与所属地形类型对应的地表属性信息。其中,地表属性信息,是指用于表征地形表面的属性的信息,例如材质、结构属性等信息。其中,材质是表示模型表面对光线如何反应的属性集合,即物体的质地,包括纹理、色彩光滑度、透明度、反射率、折射率、发光度等信息。
计算机设备通过对每个地形区域添加与所属地形类型对应的材质,例如,可以对斜坡类型的地形区域添加预设的沙土材质,对平地类型的地形区域添加预设的草地材质。在另一个实施例中,计算机设备可以针对多个相同地形类型的地形区域,添加对应地形类型下不同材质类别的材质。例如,可以对多个相同地形类型的地形区域标记变化标识,具体可以采用随机标记的方式,例如,将两个均属于平地的地形类型的地形区域,标记为“平地1”和“平地2”,然后为“平地1”“平地2”分别附上两种不同的草地材质。由此能够有效体现出地形的变化,从而高效地生成三维地形模型。
在一个具体的实施例中,地形空间数据具体可以为地形点云数据,原始的地形点云数据仅包括每个地形点的位置信息。如图4所示,为一个实施例中生成三维地形模型的示意图。计算机设备获取原始的地形点云数据4a后,可以首先基于原始的地形点云数据生成初始地形4b,初始地形4b可以是直接将原始的地形点云数据进行连接生成的。然后基于地形点云数据提取地形特征4c,并标记各地形区域对应的地形类型。进而对每个地形区域添加所属地形类型对应的材质属性信息,则生成三维地形模型4d。
本实施例中,通过地形点云数据提取出地形特征后,基于地形特征添加与所属地形类型对应的材质属性信息,由此能够高效地生成与真实场景的地形相符的三维地形模型。
在一个实施例中,根据覆盖对象空间数据,确定三维地形模型中的地表覆盖区域,包括:在三维地形模型中,确定覆盖对象空间数据中地表覆盖点所对应的地形点;根据地表覆盖点与对应地形点的高度差值,选取目标地表覆盖点;确定扩充区域与三维地形模型的交叠区域;扩充区域,是基于目标地表覆盖点进行扩充得到的区域;根据交叠区域,确定三维地形模型中的地表覆盖区域。
可以理解,地形空间数据和覆盖对象空间数据是同一真实场景区域内的空间数据,具体包括为同一坐标系下的地形点对应的三维坐标,以及地表覆盖点对应的三维坐标。
其中,覆盖对象空间数据中地表覆盖点所对应的地形点,是指与地表覆盖点具有交叠位置的对应地形点。交叠位置,具体可以是指地表覆盖点与地形点具有相同的平面位置信息。例如,地表覆盖点与地形点均包括对应的(x,y,z)坐标信息,若地表覆盖点与地形点的(x,y)坐标信息相同,则表示该地形点,是与地表覆盖点具有交叠位置的对应地形点。
其中,交叠区域,是指目标地表覆盖点进行扩充得到的区域,与三维地形模型中地形点对应的区域之间的相交区域。
计算机设备根据地形空间数据生成三维地形模型后,则根据地形空间数据中地形点对应的三维坐标,以及覆盖对象空间数据中地表覆盖点对应的三维坐标,确定地表覆盖点在三维地形模型中所对应的地形点,即地表覆盖点在三维地形模型中所覆盖的地形点。然后根据地表覆盖点与对应地形点的高度差值,选取所需的目标地表覆盖点。
具体地,计算机设备可以根据地表覆盖点以及地形点对应的(x,y,z)坐标信息中的(x,y)坐标信息,确定覆盖对象空间数据中地表覆盖点所对应的地形点。可以理解,三维坐标中可以利用z轴坐标信息表示高度信息。然后计算机设备根据地表覆盖点以及地形点对应的z轴坐标信息,计算地表覆盖点与对应地形点的高度差值,将高度差值满足选取条件的地表覆盖点确定为目标地表覆盖点。
例如,地表覆盖点与对应地形点的高度差值计算公式可以如下:
foliage[n].height=foliage[n].y-ground(foliage[n].x,foliage[n].z).y;
其中,n表示地表覆盖点的编号,foliage[n]表示第n个地表覆盖点;foliage[n].height表示地表覆盖点与对应地形点的高度差值,也就是地表覆盖点相对于对应地形点的高度值。foliage[n].y表示植被点n在y轴的坐标;ground(foliage[n].x,foliage[n].z).y表示与地表覆盖点n在x,z轴坐标相同的地形点所对应的y轴坐标。
然后,计算机设备针对所选取的每一个目标地表覆盖点,对每个目标地表覆盖点进行扩充,得到扩充区域。可以理解,扩充是指在原有基础上继续扩大和增加。对目标地表覆盖点进行扩充处理,也就是基于目标地表覆盖点扩充预设范围的区域。
例如,对目标地表覆盖点进行扩充处理,包括对目标地表覆盖点进行平面扩充、球体扩充和椎体扩充处理等中的至少一种,但不限于此。其中,平面扩充处理,是指直接以目标地表覆盖点为中心,扩充预设范围的区域,即得到扩充区域。球体扩充处理,是指以每个目标地表覆盖点为球体中心,按照预设的膨胀参数即球体半径扩充为对应的球体模型,扩充后的球体模型即为每个目标地表覆盖点对应的扩充区域。椎体扩充处理,是指以每个目标地表覆盖点为椎体顶点,按照预设的椎体扩充参数扩充为对应的锥体模型,如圆锥体模型,扩充后的锥体模型即为每个目标地表覆盖点对应的扩充区域。
计算机设备进而确定目标地表覆盖点对应的扩充区域,与三维地形模型的交叠区域,以根据交叠区域确定三维地形模型中最终的地表覆盖区域。具体地,计算机设备可以将扩充区域与三维地形模型处于同一平面的地形区域,确定为交叠区域,也就是将与扩充区域对应的(x,y)坐标信息一致的地形点所对应的地形区域,确定为交叠区域。在另一个实施例中,若扩充区域包括对应的(x,y,z)坐标信息,则可以将与扩充区域对应的(x,y,z)坐标信息一致的地形点所对应的地形区域,确定为交叠区域。
在其中一个实施例中,计算机设备还可以根据场景分布数据中的场景对象,在三维地形模型中对应的位置区域,将交叠区域中包括场景对象的位置区域剔除。进一步地,计算机设备还可以将三维地形模型中地形坡度超过预设阈值的地形区域,例如地形坡度大于75度的地形区域,从交叠区域中剔除。计算机设备则将剔除场景对象的位置区域和地形坡度超过预设阈值的地形区域后的交叠区域,确定为三维地形模型中最终的地表覆盖区域。
本实施例中,由于真实场景对应的覆盖对象空间数据可能存在噪点,以覆盖对象空间数据为植被点云数据为例,一个植被可能由多个点组成,直接按照植被点云数据生成地表覆盖对象,可能会导致生成的冗余的地表覆盖对象较多。因此,通过根据地表覆盖点与对应地形点的高度差值,选取目标地表覆盖点后,再根据目标地表覆盖点对应的扩充区域与三维地形模型的交叠区域,重新确定三维地形模型中的地表覆盖区域,以在地表覆盖区域生成地表覆盖对象,从而能够更加精准地生成与真实场景相似且符合分布逻辑的地表覆盖对象。
在一个实施例中,在地表覆盖区域中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型,包括:确定地表覆盖区域中的地表覆盖对象的生成参数信息;根据生成参数信息在地表覆盖区域生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
可以理解,地表覆盖对象的生成参数信息,是指用于生成地表覆盖对象的参数,例如,可以包括生成数量、生成位置、地表覆盖对象的大小、分布形态等中的至少一种参数信息。
计算机设备确定三维地形模型中的地表覆盖区域后,则可以直接在地表覆盖区域中生成地表覆盖对象。具体地,计算机设备可以按照预设的生成方式,确定地表覆盖区域中的地表覆盖对象的生成参数信息。例如,可以按照地表覆盖区域的区域大小,确定与该区域大小相对应的地表覆盖对象的生成参数信息。在另一个实施例中,还可以随机确定地表覆盖区域中的地表覆盖对象的生成参数信息。
计算机设备进而根据生成参数信息确定地表覆盖区域中地表覆盖对象的生成位置,并根据获取与生成参数信息相匹配的预设的地表覆盖对象对应的三维模型,然后将地表覆盖对象的三维模型添加至地表覆盖区域中地表覆盖对象的生成位置,从而得到包括地表覆盖对象的三维地形模型。
在一个具体的实施例中,计算机设备可以采用撒点方式在地表覆盖区域中生成地表覆盖对象。即在地表覆盖区域中确定地表覆盖对象的生成点以及生成参数信息,然后在地表覆盖区域中的生成点添加与生成参数信息相匹配的预先绘制的地表覆盖对象对应的三维模型,从而得到包括地表覆盖对象的三维地形模型。
在一个具体的实施例中,覆盖对象空间数据具体可以为覆盖对象点云数据,例如,以覆盖对象点云数据为植被点云数据为例,如图5所示,为一个实施例中在三维地形模型中生成地表覆盖对象的示意图。计算机设备获取原始的覆盖对象点云数据5a后,首先基于原始的覆盖对象点云数据计算在三维地形中的地表覆盖区域5b,然后在地表覆盖区域5b进行重新撒点,以确定地表覆盖区域中的地表覆盖对象的生成点5c。然后基于地表覆盖对象的生成点5c,在三维地形模型中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型5d。
本实施例中,通过从覆盖对象空间数据中选取的目标地表覆盖点对应的扩充区域,在三维地形模型中对应的交叠区域,确定三维地形模型中的地表覆盖区域,然后在地表覆盖区域中重新生成地表覆盖对象,从而能够更加精准地生成与真实场景相似且符合分布逻辑的地表覆盖对象。
在一个实施例中,从场景分布数据中,提取真实场景中场景对象的场景对象特征,包括:基于场景分布数据,确定真实场景中场景对象在三维地形模型中的位置和高度;根据位置和高度,生成场景对象对应的三维场景对象数据;从三维场景对象数据中,提取场景对象的场景对象特征。
可以理解,场景分布数据,可以包括真实场景中场景点的分布数据,也可以包括一些物体结构的分布数据。例如,场景分布数据可以包括地图数据或OSM数据(OpenStreetMap,开源的道路和地形分布数据)等中的至少一种。场景分布数据的形式可以包括图像形式、数组形式以及XML(Extensible Markup Language,可扩展标记语言)形式等中的任意一种。
其中,场景对象对应的三维场景对象数据,可以表示场景对象对应的三维空间数据。具体地,场景分布数据中可以包括二维的原始位置数据。
计算机设备获取场景分布数据后,则从场景分布数据中,提取真实场景中场景对象的分布数据。其中,分布数据包括原始位置和原始高度等中的至少一种。可以理解,高度是指从地面或基准面向上到某处的距离,也就是从物体的底部到顶端的距离。真实场景中场景对象的原始高度,即场景对象的底部到顶端的距离。
具体地,计算机设备可以仅提取所需的场景对象的场景分布数据中的原始位置。例如,所需的场景对象可以包括建筑、道路等中的至少一种,但不限于此。
计算机设备进而根据场景对象的原始位置,确定场景对象在三维地形模型中的位置和高度。计算机设备还可以根据场景对象的原始位置和原始高度,确定场景对象在三维地形模型中的位置和高度,由此能够得到场景对象的三维数据。
然后,计算机设备则根据场景对象在三维地形模型中的位置和高度,生成场景对象的三维空间数据,具体可以生成场景对象对应的三维坐标。例如,可以将场景对象在三维地形模型中的位置和高度,转化为三维点云数据。从而能够精准地获得场景对象在三维地形中的三维空间数据。计算机设备进而从三维场景对象数据中,提取场景对象的场景对象特征,具体可以包括位置、大小、类型、法线等特征,以生成最终的三维场景对象模型。从而能够快速精准地生成与真实场景中的场景对象相匹配的三维场景对象模型。
在一个实施例中,基于场景分布数据,确定真实场景中场景对象在三维地形模型中的位置和高度,包括:若场景分布数据包括真实场景中场景对象的原始位置,根据原始位置,确定场景对象在三维地形模型中的位置和高度;若场景分布数据包括场景对象的原始位置和原始高度,根据原始位置和原始高度,确定场景对象在三维地形模型中的位置和高度。
可以理解,场景分布数据中可以仅包括场景点或物体结构的二维的位置数据,也可以包括场景点或物体结构的二维的位置数据以及高度数据。例如,场景分布数据可以包括二维的地图数据和高度数据。其中,高度数据可以是从场景分布数据库中获取的各个场景点或物体结构的高度数据,还可以是根据地图数据对各个场景点或物体结构的高度数据预先标记的高度数据。
具体地,计算机设备获取场景分布数据后,若场景分布数据中包括真实场景中场景对象的原始位置,计算机设备则根据原始位置,确定场景对象在三维地形模型中的位置和高度。例如,计算机设备可以根据场景对象的对象类型和原始位置对应的区域大小,对场景对象分配相应的高度。具体可以根据对象类型对应的高度范围,对场景对象随机分配高度;还可以按照区域大小分配相适应的高度。
若场景分布数据包括场景对象的原始位置和原始高度,计算机设备则直接根据原始位置和原始高度,确定场景对象在三维地形模型中的位置和高度,从而能够高效精准地在三维地形模型中生成与真实场景中场景对象相符的场景对象模型。
在一个实施例中,在三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的虚拟场景,包括:根据场景对象特征,生成与场景对象相应的初始场景对象模型;根据场景对象的对象类型,对相应初始场景对象模型添加符合对象类型的场景对象属性信息,得到与场景对象相匹配的场景对象模型;将场景对象模型添加至三维地形模型中,得到与真实场景对应的虚拟场景。
可以理解,场景对象属性信息,是用于表征场景对象模型表面的属性的信息,例如材质、结构属性等信息。以通过对场景对象的三维集合模型的模型表面添加属性信息后,得到各场景对象对应的完整的场景对象模型。
计算机设备从场景分布数据中提取出所需的场景对象对应的场景对象特征后,首先根据场景对象特征自动构建对应的三维几何模型。具体地,场景对象特征可以包括场景对象所包括的每个点对应的位置、大小、法线、类型等特征信息,计算机设备进而可以根据场景对象所包括的每个点对应的场景对象特征,生成初始的三维几何模型,即初始场景对象模型。
然后,计算机设备则对每个初始场景对象模型,添加与对象类型对应的属性信息,以生成完整的场景对象模型。例如,通过对初始场景对象模型添加相应的材质信息,则可以得到具有材质属性的较为完整的场景对象模型。计算机设备进而将场景对象模型添加至三维场景中对应的位置,即可得到包括场景对象的虚拟场景。
在一个具体的实施例中,场景分布数据中包括场景对象的平面分布信息,例如,以场景对象为建筑为例,如图6所示,为一个实施例中生成场景对象模型的示意图。计算机设备从场景分布数据获取建筑的平面分布信息6a,平面分布信息中包括建筑所占的位置区域和高度。计算机设备进而根据建筑所占的位置区域和高度,生成建筑对应的建筑边界盒6b。例如,通过基于建筑所占的位置区域拉伸对应的高度,从而生成三维的建筑边界盒。其中,边界盒,是指外切于场景对象的矩形盒子。然后,计算机设备将建筑对应的边界盒,将转换为建筑对应的三维空间数据,例如可以转换为对应的点云数据6c,并为每个点标记对应的场景对象特征,场景对象特征包括位置、大小、法线、建筑属性等中的至少一种,其中,建筑属性包括楼层数、房顶、墙壁、拐角、屋檐等属性信息。计算机设备进而可以根据建筑的点云数据6c,生成三维的初始场景对象模型6d。
其中,建筑的平面分布信息,可以包括建筑所占位置区域的平面内的多个点对应的分布信息,例如二维坐标信息。将建筑的平面分布信息转换为建筑对应的三维空间数据时,可以对平面上的每个点进行复制,具体可以根据建筑的高度进行点的复制,从而得到建筑的更新后的点集。例如,可以将建筑的原点集与复制点集命名为point和dpoint,并使这两个点集处于同一个边界盒几何体中,然后进行如下处理:
dpoint[n].y=point[n].y+point[n].height;
其中,n表示建筑点集中点的编号,dpoint[n].y表示复制点的坐标,point[n].y表示原始点的坐标,point[n].height表示原始点的高度信息。通过根据建筑的高度进行点的复制,由此能够得到建筑的三维点集数据。
例如,计算机设备还可以采用三维计算机图形软件中的包围盒处理工具,如Houdini软件中的包围盒处理工具,将不同形状的几何体转化为平均分布的点集。从而得到较为精准的建筑的三维点集数据并生成建筑模型。然后对三维点集数据添加建筑属性信息和材质属性信息,以根据不同建筑属性信息对建筑模型附上相应的材质,从而生成与场景对象相匹配的场景对象模型。
本实施例中,通过基于场景分布数据中二维的平面分布信息和高度信息,转化为对应的三维空间数据,由此能够有效地生成场景对象对应的三维的场景对象模型,从而能够高效精准地生成与真实场景相似的虚拟场景。
在一个实施例中,将场景对象模型添加至三维地形模型中,得到与真实场景对应的虚拟场景,包括:确定场景对象模型在三维地形模型中对应的地形区域;对地形区域进行平滑处理,得到平滑后的地形区域;将场景对象模型添加至三维地形模型中平滑后的地形区域,得到与真实场景对应的虚拟场景。
其中,场景对象模型在三维地形模型中对应的地形区域,是指场景对象模型所占的位置区域,在三维地形模型中所对应的地形的区域。
可以理解的是,地形区域中的地形,可能是高低不平的地形。对于每个完整的场景对象模型所对应的地形区域中的地形,需要为平整的地形,也就是所对应的地形区域需要位于同一平面内。平滑处理,即表示将地形区域内的地形,平整处理为同一平面内的地形。
具体地,计算机设备生成场景对象模型后,将场景对象模型添加至三维地形模型的过程中,首先确定场景对象模型在三维地形模型中所对应的地形区域,并对所对应的地形区域进行平滑处理。具体地,计算机设备可以根据场景对象模型的底面的三维空间数据,对所对应的地形区域进行平滑处理,也就是将所对应的地形区域中的地形点,与场景对象模型的底面的点置于同一平面内。例如,计算机设备可以直接将场景对象模型的底面的三维空间数据,更新为所对应的地形区域中地形点的三维空间数据,由此使得地形区域中的地形点,与场景对象模型的底面的点在同一平面内,从而得到平滑后的地形区域。
计算机设备进而将场景对象模型,添加至三维地形模型中平滑后的地形区域,得到与真实场景对应的三维的虚拟场景。
在一个具体的实施例中,如图7所示,为一个实施例中将场景对象模型添加至三维地形模型的示意图。参照图7,以场景对象为建筑为例,对应的场景对象模型则为建筑模型。若直接在三维地形中生成建筑模型,则会得到与地形高度不契合的建筑模型7a。因此,计算机设备则需要更新建筑模型的高度坐标以及对应地形区域的高度坐标。例如,计算机设备可以采用基于y轴的垂直射线方式获取高度信息7b,并进一步建筑模型在三维地形模型中对应的地形区域进行平滑处理,以平整对应地形区域7c。例如,其中一个建筑模型在三维地形模型中对应的地形区域,为地形区域7c1。
具体地,计算机设备可以缓存地形对应的地形点云数据和建筑点集数据。首先根据每个建筑的建筑点集数据中y轴坐标信息,获取每个建筑的底面的建筑点,也就是遍历并查找出y坐标值最小的建筑点,并删除y不为该值的其余建筑点。例如,可以将筛选出的y坐标值最小的建筑点命名为flatbuilding,并对建筑点flatbuilding新增一个空的属性height,用于存储建筑点flatbuilding更新后的高度。
基于y轴射线方式的表达式,具体可以如下:
flatbuilding[n].height=flatbuilding[n].y-groundmaxY(flatbuilding[n].x,flatbuilding[n].z).y;
其中,flatbuilding[n]表示筛选出的建筑底面的建筑点,flatbuilding[n].height表示建筑点flatbuilding更新的高度值,groundmaxY(x,z)表示地形点在x,z轴坐标分别为x,z处,y值最大的地形点。groundmaxY(flatbuilding[n].x,flatbuilding[n].z).y表示与建筑点flatbuilding[n]的x,z轴坐标相同的地形点中,y值最大的地形点的y坐标值。
对于该建筑底面的每个点,对所对应的地形区域中每个地形点做如下处理:
ground(flatbuilding[n].x,flatbuilding[n].z).y=flatbuilding[n].height;
其中,ground(flatbuilding[n].x,flatbuilding[n].z).y表示地形区域中的每个地形点更新后的y坐标值。
然后对于建筑的每一个建筑点,对所有点作如下处理:
Building[n].y=Building[n].y-flatbuilding[n].height;
其中,Building[n].y表示建筑模型的建筑点n的y坐标值,也就是将建筑模型中所有建筑点的y坐标值进行更新,从而将建筑整体移动到平整过的地面,由此能够得到平滑处理的地形区域,并生成契合地形高度的建筑模型7d。
本实施例中,通过在将场景对象模型添加至三维地形模型的过程中,对场景对象模型在三维地形模型中对应的地形区域进行平滑处理,由此能够使得场景对象模型的底面和高度精准地与对应的地形区域相匹配和契合。
在一个实施例中,确定场景对象模型在三维地形模型中对应的地形区域,包括:将场景对象模型在三维地形模型中对应的位置区域,以及位置区域的相邻区域,确定为与场景对象模型对应的地形区域;对地形区域进行平滑处理,得到平滑后的地形区域,包括:根据场景对象模型的底面与位置区域的高度差值,对位置区域的高度值进行更新;根据更新后的位置区域的高度值,对相邻区域的高度值进行平滑处理,得到平滑后的地形区域。
其中,场景对象模型在三维地形模型中对应的位置区域,也就是在三维地形模型中,与场景对象模型处于相同平面的地形所对应的区域。可以理解,位置区域的相邻区域,是指该位置区域的***区域,例如可以是与位置区域距离预设范围的***区域。
可以理解的是,对与场景对象模型所一一对应的地形区域进行平滑处理后,平滑后的地形区域可能与周围的相邻区域存在落差的情况。因此,计算机设备可以对场景对象模型所对应的地形区域,以及周围的相邻区域均进行平滑处理。
具体地,计算机设备将场景对象模型在三维地形模型中对应的位置区域,以及位置区域的相邻区域,确定为与场景对象模型对应的需要进行平滑处理的地形区域。计算机设备首先根据场景对象模型的底面与位置区域的高度差值,对位置区域的高度值进行更新。例如,计算机设备可以将场景对象模型的底面的y坐标值,更新为位置区域中最大y坐标值的地形点对应的y坐标值,然后对位置区域中的每个地形点的y坐标值进行更新,均更新为场景对象模型的底面更新后的y坐标值,从而得到平滑后的位置区域。
然后,计算机设备则进一步根据位置区域更新后的y坐标值,对该位置区域的相邻区域进行平滑处理。例如,可以按照预设的权重,对相邻区域地形点的y坐标值进行加权平滑处理,从而对位置区域以及对应的相邻区域进行平滑过度。
具体地,如图8所示,为一个实施例中对场景对象模型对应的地形区域进行平整的示意图。其中,矩形区域为场景对象模型在三维地形模型中对应的位置区域8a,椭圆形区域中除位置区域8a外的区域,为与位置区域8a的相邻区域8b。其中,可以将相邻区域8b按照预设比例划分为多个子区域,即子区域8b1、子区域8b2和子区域8b3,并对每个子区域分配相应的平滑权重,例如,以位置区域8a的平滑权重为1为例,子区域8b1对应的平滑权重可以为0.8,子区域8b2对应的平滑权重可以为0.6,子区域8b3对应的平滑权重可以为0.4。对位置区域8a进行平滑处理后,然后按照分配的平滑权重分别对相邻区域8b中的多个子区域加权平滑处理。例如,位置区域8a为百分之百平滑后的高度值,平滑权重为0.8,则表示相应地形点的最终高度平滑后的高度值*0.8+原地形点高度值*0.2。通过对相邻区域进行加权平滑处理,相邻区域平整后的高度会则与原地形进行加权融合,从而能够有效实现过渡平滑的效果。
在一个实施例中,上述虚拟场景生成方法还包括:将场景分布数据对应的场景区域,与三维空间数据对应的场景区域进行对齐处理,得到场景对齐区域;从场景分布数据中,选取与场景对齐区域相匹配的场景分布数据,得到对齐后的场景分布数据;获取与真实场景对应的三维空间数据和场景分布数据,包括:获取与真实场景对应的三维空间数据和对齐后的场景分布数据。
其中,三维空间数据和场景分布数据是根据同一真实场景对应的场景区域获取的,例如,可以是基于真实场景中相同经纬度信息对应的场景区域,分别获取该经纬度信息对应的场景区域范围内的三维空间数据和场景分布数据。
可以理解,同一场景区域范围内的三维空间数据和场景分布数据,可能存在范围不一致或一致性不高的情况。因此,计算机设备还可以对获取的三维空间数据和场景分布数据进行对齐的预处理。
具体地,计算机设备获取与真实场景对应的三维空间数据和场景分布数据后,首先将场景分布数据对应的场景区域,与三维空间数据对应的场景区域进行对齐处理,得到场景对齐区域。例如,所获取的场景分布数据可能与三维空间数据的场景区域并不是完全一致的,计算机设备则将场景分布数据对应的场景区域,与三维空间数据对应的场景区域进行对齐,或者将三维空间数据对应的场景区域,与场景分布数据对应的场景区域进行对齐。
然后,计算机设备从场景分布数据中,选取与场景对齐区域相匹配的场景分布数据,得到对齐后的场景分布数。也就是基于三维空间数据对应的场景区域,从场景分布数中提取该场景区域内的场景分布数据,或者基于场景分布数据的场景区域,从三维空间数据中提取该场景区域内的三维空间数据,由此使得场景分布数据对应的场景区域,与三维空间数据对应的场景区域是完全对齐的。
计算机设备进而获取与真实场景对应的三维空间数据和对齐后的场景分布数据,以进一步基于三维空间数据和对齐后的场景分布数据,从而能够更加高效精准地自动生成与真实场景对应的虚拟场景。
在一个实施例中,场景分布数据中包括场景对象对应的点集数据;从场景分布数据中,选取与场景对齐区域相匹配的场景分布数据,包括:对于第一对象类型的场景对象,若场景对齐区域内具有场景对象的完整的点集数据,则从场景分布数据中,选取完整的点集数据;若场景对齐区域内具有场景对象的不完整的点集数据,则从场景分布数据中剔除场景对象对应的完整的点集数据;对于第二对象类型的场景对象,从场景分布数据中,选取场景对象在场景对齐区域内的点集数据。
可以理解,场景对象对应的点集数据,是指每个场景对象由至少一个点组成,每个点包括对应的分布信息,例如坐标信息以及所属结构、对象类型等属性信息。其中,每个场景对象对应的点集数据可以视为对应的节点结构数据。
计算机设备将场景分布数据对应的场景区域,与三维空间数据对应的场景区域进行对齐处理,得到对齐后的场景对齐区域后,然后从场景分布数据中,选取与场景对齐区域相匹配的场景分布数据。
其中,相匹配的场景分布数据,可以是指完全在场景对齐区域内的场景分布数据。第一对象类型的场景对象和第二对象类型的场景对象,可以是指不同类型属性的场景对象。其中,第一对象类型可以是指结构较小或所占区域较小的场景对象,例如建筑、车辆、石头等物体对象。第二对象类型可以是指结构较大或所占区域较大的场景对象,例如道路、河流、湖泊、公园等物体对象。
具体地,计算机设备从场景分布数据中,选取与场景对齐区域相匹配的场景分布数据时,针对第一对象类型的场景对象,当场景对齐区域内具有场景对象的完整的点集数据,则仅选取完整的点集数据。对于场景对齐区域内具有场景对象的不完整的点集数据,则从场景分布数据中剔除场景对象对应的完整的点集数据。也就是只从场景分布数据中选取在场景对齐区域内,具有完整的场景对象的点集数据。由此能够有效防止出现不完整的第一对象类型的场景对象的情况。
对于第二对象类型的场景对象,通常结构较大或所占区域较大,因此计算机设备可以直接从场景分布数据中,选取场景对象在场景对齐区域内的点集数据。也就是若第二对象类型的场景对象分布在场景对齐区域内以及场景对齐区域外时,则仅提取场景对象在场景对齐区域内的部分点集数据。
在一个具体的实施例中,场景分布数据可以是从预设数据库中获取的,在导出场景分布数据时,可能不会完全按照所确定的区域导出,可能导致数据中心点不可控。因此获取的场景分布数据和三维空间数据可能存在不对齐的情况。具体地,计算机设备可以采用预设的脚本自动对场景分布数据和三维空间数据进行对齐处理。其中,脚本是指采用特定的描述性语言,按照一定的格式编写的可执行文件。本实施例中预设的脚本,用于自动对场景分布数据和三维空间数据进行对齐处理,并处理多余数据,使得场景分布数据能够与三维空间数据自动对齐,而无需手动进行干预处理,以提高场景分布数据和三维空间数据对齐处理效率。
如图9所示,为一个实施例中将场景分布数据与三维空间数据进行对齐的示意图。计算机设备可以将原始的场景分布数据对应的示意图92,以及三维空间数据对应的场景区域框92a,置于相同的平面中进行区域对齐,具体可以将场景分布数据对应的示意图92和场景区域框92a相重合的区域,确定为场景对齐区域,即图9中场景区域框92a对应的区域。然后对于对齐后的场景分布数据和三维空间数据94,对场景对齐区域94a外的多余数据94b进行去除处理。具体可以采用预设的脚本96对多余数据94b进行去除处理并自动对齐,以得到自动对齐后的场景分布数据和三维空间数据98。
其中,场景分布数据中包括场景对象对应的点集数据,即场景对象的结构数据,点集数据为一个或多个点所构成的组合。对场景对齐区域94a外的多余数据94b进行去除处理时,可以根据场景对象的对象类型,判定删除场景对象的点集数据中的部分点集数据还是完整点集数据。
具体地,计算机设备根据场景对齐区域94a的位置信息,例如经纬度信息,对场景分布数据中每个场景对象的点集数据进行遍历,并筛选出场景对齐区域94a外的点,删除该点并将该点所属的结构索引存储到对应的标记数组中。然后根据场景对象的对象类型,对标记数组中结构索引对应的结构数据进行处理。若场景对象的对象类型为第一对象类型,例如建筑等完整结构,则完全删除对应的结构数据。若场景对象的对象类型为第二对象类型,例如道路等结构,则仅删除场景对齐区域94a外的道路的点。由此能够防止出现半边建筑等奇怪结构的情况。
在一个具体的实施例中,计算机设备可以采用预设的编辑器插件,利用真实场景对应的三维空间数据和场景分布数据,自动生成与真实场景相似的虚拟场景。其中,预设的编辑器插件,可以是基于可视化编辑引擎的编辑器插件,例如基于UE4(Unreal Engine,虚幻引擎)的编辑器插件。编辑器插件中包括多种工具插件,如建筑创建工具、场景创建工具、地面平整工具和地形创建工具等中的至少一种。
如图10所示,为一个实施例中生成虚拟场景的整体流程示意图,计算机设备获取真实场景对应的三维空间数据和场景分布数据后,基于编辑器插件100,首先根据三维空间数据10a生成地形模型1002和地形模型中的植被模型1004,然后根据场景分布数据10b,在地形模型1002中生成建筑模型1006和道路模型1008,从而得到与真实场景对应的虚拟场景。
具体地,如图11所示,为一个实施例中预设的编辑器插件的界面示意图。以计算机设备为终端为例,终端中部署有编辑器插件,并在终端展示编辑器插件的界面110,编辑器插件的界面110中包括菜单区域112、场景预览区域114、创建工具区域116以及参数设置区域118等。其中,创建工具区域116包括地形创建工具116a、场景创建工具116b、地面平整工具116c、建筑创建工具116d、植被创建工具116e、道路创建工具116f以及测试工具116g。其中,菜单区域112包括编辑器插件中的多种菜单功能控件,例如文件选择、编辑设置参数设置等。测试工具116g可以用于对生成的局部模型或最终的虚拟场景进行测试处理。
用户可以通过终端获取真实场景对应的三维空间数据和场景分布数据。具体地,以三维空间数据为三维点云数据,场景分布数据为OSM数据为例,用户可以将获取的三维点云数据和OSM数据添加至相应的工具插件中,然后则会在编辑器插件中自动生成对应的虚拟场景。例如,用户可以首先利用终端将三维点云数据1122导入地形创建工具116a中。然后基于预先设置的参数,自动生成对应的初始的地形模型。其中,生成的初始的地形模型中,包括各种地形类型的地形区域,以及每个地形区域包括与所属地形类型对应的地表属性信息,例如添加有与所属地形类型对应的材质信息。如图12所示,在编辑器插件的界面110的场景预览区域114中,展示了基于三维点云数据自动生成的初始的地形模型的示意图。
然后终端可以进一步根据植被创建工具116e在初始的地形模型中,生成地表覆盖对象例如树木模型等,从而得到三维地形模型。同时,针对还可以将场景分别数据导入场景创建工具116b中,场景创建工具116b中可以对场景分布数据进行对齐处理等预处理。然后终端可以通过建筑创建工具116d和道路创建工具116f基于场景分布数据,在三维地形模型中分别生成建筑模型和道路模型等场景对象模型,还可以通过地面平整工具116c,对建筑模型和道路模型对应的地形区域进行平滑处理,然后将建筑模型和道路模型添加至三维地形模型中对应平滑后的地形区域,从而得到最终的虚拟场景。如图13所示,为一个实施例中得到的最终的虚拟场景的示意图。
在一个实施例中,终端利用预设的编辑器插件生成最终的虚拟场景后,还可以采用常见的可视化编辑引擎,例如UE4(Unreal Engine,虚幻引擎)编辑引擎,对所生成的虚拟场景进行再次编辑。Unreal Engine引擎中包括Landscape***(即地形***)、Spline***(即道路***)以及Foliage***(即植被***)等。具体地,预设的编辑器插件,可以是基于常见的可视化编辑引擎生成的三维场景编辑程序,其中,预设的编辑器插件中可以配置与可视化编辑引擎对应的接口,使得预设的编辑器插件能够对接常见的可视化编辑引擎的编辑***,从而实现通过常见的可视化编辑引擎,对生成的虚拟场景进行制作管线的对接以及二次编辑。
如图14所示,为一个实施例中通过可视化编辑引擎对虚拟场景再次编辑的示意图。终端通过预设的编辑器插件生成与真实场景对应的虚拟场景后,可以采用可视化编辑引擎140,如Unreal Engine引擎的地形***1402对虚拟场景中的地形模型14a进行编辑处理,采用Unreal Engine引擎中的道路***1404对虚拟场景中的地形模型14b进行编辑处理,以及采用Unreal Engine引擎中的植被***1406对虚拟场景中的地形模型14c进行编辑处理,从而高效地对虚拟场景进行二次编辑。
在一个测试实施例中,计算机设备获取场景区域尺寸为8km*8km的真实场景对应的三维空间数据和场景分布数据,按照上述虚拟场景生成方法,生成与真实场景对应的虚拟场景所消耗的生成时间为20分钟。如图15所示,一个实施例中分步生成虚拟场景的效果示意图。其中,计算机设备可以首先根据三维空间数据生成三维地形模型15a,然后根据场景分布数据,在三维地形模型15a中生成建筑模型15b和道路模型15c。然后计算机设备进而在三维地形模型15a中生成植被模型,从而得到最终的虚拟场景15d。通过将真实场景对应的数据转换为位置信息,然后传递至预设的编辑器插件,通过预设的编辑器插件生成三维的场景模型,并自动附上材质等属性信息,从而快速地自动生成虚拟场景,使得虚拟场景的程序化生成效率较高,便于快速迭代,相较于传统的程序化生成虚拟场景的方式,本实施例中的虚拟场景生成方法所消耗的时间能够缩减至一半,大大提高了虚拟场景自动生成的效率。
如图16所示,为真实场景与虚拟场景的效果示意图。其中,真实场景的示意图可以采用卫星图或摄影图等进行示意。参照图16,真实场景可以包括野外场景区域和乡村场景区域等场景区域。真实场景可以采用真实场景卫星图示意。通过获取真实野外场景区域16a对应的三维空间数据和场景分布数据,可以根据三维空间数据和场景分布数据生成与真实野外场景区域16a对应的虚拟场景的俯视图16b。通过获取真实乡村场景区域16c对应的三维空间数据和场景分布数据,可以根据三维空间数据和场景分布数据生成与真实乡村场景区域16c对应的虚拟场景的俯视图16d。从图16中的效果对比图中可以看出,所生成的虚拟场景与真实场景的相似度较高,对真实场景的还原度也较高,精准地还原出了真实场景中的场景分布情况。
本申请还提供一种应用场景,该应用场景为三维游戏场景,具体可以应用于开放世界类型的三维游戏场景。该三维游戏场景应用上述的虚拟场景生成方法。具体地,开放世界类型的三维游戏场景中包括开放世界地形,其中开放世界地形是开放世界式的任务空间,通常包括与开放世界地形对应的超大范围的地图。传统的三维游戏场景通常是结合程序化工具根据手动指定的信息,如范围和高度等,依靠随机性来生成三维游戏场景中的大地形。但这种方式生成出的地形可能存在不符合现实逻辑的情况。
本实施例中,计算机设备可以在游戏开发***中部署预设的编辑器插件,即用于制作游戏场景的编辑器程序。具体地,计算机设备首先获取与真实场景对应的三维空间数据和场景分布数据,然后通过预设的编辑器插件,从三维空间数据中提取地形特征,并按照地形特征生成三维地形模型。并从场景分布数据中,提取真实场景中场景对象的场景对象特征。进而在三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的三维的虚拟游戏场景。由此能够高效精准地生成与真实场景相似的、且符合现实逻辑的三维游戏场景。
本申请还另外提供一种应用场景,该应用场景为三维环境模拟场景,例如交通道路模拟场景、旅游环境模拟场景、建筑物模拟场景等,该三维环境模拟场景应用上述的虚拟场景生成方法。针对各种环境下的三维环境演示场景,可以自动生成与真实场景相似的虚拟场景。
具体地,计算机设备首先获取预设区域范围的真实场景对应的三维空间数据和场景分布数据,然后从三维空间数据中提取地形特征,并按照地形特征生成三维地形模型。并从场景分布数据中,提取真实场景中场景对象的场景对象特征。进而在三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的三维的虚拟演示场景。由此能够高效精准地生成与真实场景相似的、且符合现实逻辑的三维环境模拟场景。
其中,基于真实场景中交通道路对应的三维空间数据和场景分布数据,能够自动生成与真实场景中的交通道路分布情况相符的交通道路模拟场景,所生成的交通道路模拟场景,能够用于辅助智能交通***,例如通过在车载终端展示所生成的交通道路模拟场景,能够辅助识别当前的道路环境以提高通行效率。
基于真实场景中旅游环境或建筑物对应的三维空间数据和场景分布数据,能够自动生成与真实场景中的旅游环境相似的旅游环境模拟场景,以及与真实场景中的建筑物相似的建筑物模拟场景,由此能够高效地自动生成与真实场景中的场景元素相似的虚拟场景,从而能够精准地模拟还原出真实场景中的场景环境以及场景物体等场景元素。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图17所示,提供了一种虚拟场景生成装置1700,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据获取模块1702、特征提取模块1704、地形生成模块1706和场景生成模块1708,其中:
数据获取模块1702,用于获取与真实场景对应的三维空间数据和场景分布数据。
特征提取模块1704,用于从三维空间数据中提取地形特征。
地形生成模块1706,用于按照地形特征生成三维地形模型。
特征提取模块1704还用于从场景分布数据中,提取真实场景中场景对象的场景对象特征。
场景生成模块1708,用于在三维地形模型中,生成与场景对象特征对应的场景对象模型,得到与真实场景对应的虚拟场景。
在一个实施例中,三维空间数据包括地形空间数据和覆盖对象空间数据;特征提取模块1704还用于从地形空间数据中提取地形特征;地形生成模块1706还用于根据地形特征生成三维地形模型;根据覆盖对象空间数据,确定三维地形模型中的地表覆盖区域;在地表覆盖区域中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
在一个实施例中,特征提取模块1704还用于根据地形空间数据中相邻地形点之间的高度差值,确定地形特征;地形生成模块1706还用于根据地形特征,确定地形空间数据中各地形区域对应的地形类型;按照地形类型,在地形区域中添加相应的地表属性信息;根据添加地表属性信息后的地形空间数据,生成三维地形模型。
在一个实施例中,地形生成模块1706还用于在三维地形模型中,确定覆盖对象空间数据中地表覆盖点所对应的地形点;根据地表覆盖点与对应地形点的高度差值,选取目标地表覆盖点;确定扩充区域与三维地形模型的交叠区域;扩充区域,是基于目标地表覆盖点进行扩充得到的区域;根据交叠区域,确定三维地形模型中的地表覆盖区域。
在一个实施例中,地形生成模块1706还用于确定地表覆盖区域中的地表覆盖对象的生成参数信息;根据生成参数信息在地表覆盖区域生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
在一个实施例中,特征提取模块1704还用于基于场景分布数据,确定真实场景中场景对象在三维地形模型中的位置和高度;根据位置和高度,生成场景对象对应的三维场景对象数据;从三维场景对象数据中,提取场景对象的场景对象特征。
在一个实施例中,特征提取模块1704还用于若场景分布数据包括真实场景中场景对象的原始位置,根据原始位置,确定场景对象在三维地形模型中的位置和高度;若场景分布数据包括场景对象的原始位置和原始高度,根据原始位置和原始高度,确定场景对象在三维地形模型中的位置和高度。
在一个实施例中,场景生成模块1708还用于根据场景对象特征,生成与场景对象相应的初始场景对象模型;根据场景对象的对象类型,对相应初始场景对象模型添加符合对象类型的场景对象属性信息,得到与场景对象相匹配的场景对象模型;将场景对象模型添加至三维地形模型中,得到与真实场景对应的虚拟场景。
在一个实施例中,场景生成模块1708还用于确定场景对象模型在三维地形模型中对应的地形区域;对地形区域进行平滑处理,得到平滑后的地形区域;将场景对象模型添加至三维地形模型中平滑后的地形区域,得到与真实场景对应的虚拟场景。
在一个实施例中,场景生成模块1708还用于将场景对象模型在三维地形模型中对应的位置区域,以及位置区域的相邻区域,确定为与场景对象模型对应的地形区域;根据场景对象模型的底面与位置区域的高度差值,对位置区域的高度值进行更新;根据更新后的位置区域的高度值,对相邻区域的高度值进行平滑处理,得到平滑后的地形区域。
在一个实施例中,上述虚拟场景生成装置1700还包括对齐处理模块,用于将场景分布数据对应的场景区域,与三维空间数据对应的场景区域进行对齐处理,得到场景对齐区域;从场景分布数据中,选取与场景对齐区域相匹配的场景分布数据,得到对齐后的场景分布数据;数据获取模块1702还用于获取与真实场景对应的三维空间数据和对齐后的场景分布数据。
在一个实施例中,场景分布数据中包括场景对象对应的点集数据;对齐处理模块还用于对于第一对象类型的场景对象,若场景对齐区域内具有场景对象的完整的点集数据,则从场景分布数据中,选取完整的点集数据;若场景对齐区域内具有场景对象的不完整的点集数据,则从场景分布数据中剔除场景对象对应的完整的点集数据;对于第二对象类型的场景对象,从场景分布数据中,选取场景对象在场景对齐区域内的点集数据。
关于虚拟场景生成装置的具体限定可以参见上文中对于虚拟场景生成方法的限定,在此不再赘述。上述虚拟场景生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图18所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种虚拟场景生成方法。
在一个实施例中,提供了另一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图19所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种虚拟场景生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图18和图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种虚拟场景生成方法,其特征在于,所述方法包括:
获取与真实场景对应的三维空间数据和场景分布数据;
从所述三维空间数据中提取地形特征;
按照所述地形特征生成三维地形模型;
从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
2.根据权利要求1所述的方法,其特征在于,所述三维空间数据包括地形空间数据和覆盖对象空间数据;所述从所述三维空间数据中提取地形特征包括:
从所述地形空间数据中提取地形特征;
所述按照所述地形特征生成三维地形模型,包括:
根据所述地形特征生成三维地形模型;
根据所述覆盖对象空间数据,确定所述三维地形模型中的地表覆盖区域;
在所述地表覆盖区域中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
3.根据权利要求2所述的方法,其特征在于,所述从所述地形空间数据中提取地形特征,包括:
根据所述地形空间数据中相邻地形点之间的高度差值,确定地形特征;
所述根据所述地形特征生成三维地形模型,包括:
根据所述地形特征,确定所述地形空间数据中各地形区域对应的地形类型;
按照所述地形类型,在所述地形区域中添加相应的地表属性信息;
根据添加地表属性信息后的地形空间数据,生成三维地形模型。
4.根据权利要求2所述的方法,其特征在于,所述根据所述覆盖对象空间数据,确定所述三维地形模型中的地表覆盖区域,包括:
在所述三维地形模型中,确定所述覆盖对象空间数据中地表覆盖点所对应的地形点;
根据所述地表覆盖点与对应地形点的高度差值,选取目标地表覆盖点;
确定扩充区域与所述三维地形模型的交叠区域;所述扩充区域,是基于目标地表覆盖点进行扩充得到的区域;
根据所述交叠区域,确定所述三维地形模型中的地表覆盖区域。
5.根据权利要求2所述的方法,其特征在于,所述在所述地表覆盖区域中生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型,包括:
确定所述地表覆盖区域中的地表覆盖对象的生成参数信息;
根据所述生成参数信息在所述地表覆盖区域生成地表覆盖对象,得到包括地表覆盖对象的三维地形模型。
6.根据权利要求1所述的方法,其特征在于,所述从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征,包括:
基于所述场景分布数据,确定所述真实场景中场景对象在所述三维地形模型中的位置和高度;
根据所述位置和所述高度,生成所述场景对象对应的三维场景对象数据;
从所述三维场景对象数据中,提取所述场景对象的场景对象特征。
7.根据权利要求6所述的方法,其特征在于,所述基于所述场景分布数据,确定所述真实场景中场景对象在所述三维地形模型中的位置和高度,包括:
若所述场景分布数据包括所述真实场景中场景对象的原始位置,根据所述原始位置,确定所述场景对象在所述三维地形模型中的位置和高度;
若所述场景分布数据包括所述场景对象的原始位置和原始高度,根据所述原始位置和原始高度,确定所述场景对象在所述三维地形模型中的位置和高度。
8.根据权利要求1所述的方法,其特征在于,所述在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景,包括:
根据所述场景对象特征,生成与所述场景对象相应的初始场景对象模型;
根据所述场景对象的对象类型,对相应所述初始场景对象模型添加符合所述对象类型的场景对象属性信息,得到与所述场景对象相匹配的场景对象模型;
将所述场景对象模型添加至所述三维地形模型中,得到与所述真实场景对应的虚拟场景。
9.根据权利要求8所述的方法,其特征在于,所述将所述场景对象模型添加至所述三维地形模型中,得到与所述真实场景对应的虚拟场景,包括:
确定所述场景对象模型在所述三维地形模型中对应的地形区域;
对所述地形区域进行平滑处理,得到平滑后的地形区域;
将所述场景对象模型添加至所述三维地形模型中平滑后的地形区域,得到与所述真实场景对应的虚拟场景。
10.根据权利要求9所述的方法,其特征在于,所述确定所述场景对象模型在所述三维地形模型中对应的地形区域,包括:
将所述场景对象模型在所述三维地形模型中对应的位置区域,以及所述位置区域的相邻区域,确定为与所述场景对象模型对应的地形区域;
所述对所述地形区域进行平滑处理,得到平滑后的地形区域,包括:
根据所述场景对象模型的底面与所述位置区域的高度差值,对所述位置区域的高度值进行更新;
根据更新后的位置区域的高度值,对所述相邻区域的高度值进行平滑处理,得到平滑后的地形区域。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述方法还包括:
将所述场景分布数据对应的场景区域,与所述三维空间数据对应的场景区域进行对齐处理,得到场景对齐区域;
从所述场景分布数据中,选取与所述场景对齐区域相匹配的场景分布数据,得到对齐后的场景分布数据;
所述获取与真实场景对应的三维空间数据和场景分布数据,包括:
获取与真实场景对应的三维空间数据和对齐后的场景分布数据。
12.根据权利要求11所述的方法,其特征在于,所述场景分布数据中包括场景对象对应的点集数据;所述从所述场景分布数据中,选取与所述场景对齐区域相匹配的场景分布数据,包括:
对于第一对象类型的场景对象,若所述场景对齐区域内具有所述场景对象的完整的点集数据,则从所述场景分布数据中,选取所述完整的点集数据;
若所述场景对齐区域内具有所述场景对象的不完整的点集数据,则从所述场景分布数据中剔除所述场景对象对应的完整的点集数据;
对于第二对象类型的场景对象,从所述场景分布数据中,选取所述场景对象在所述场景对齐区域内的点集数据。
13.一种虚拟场景生成装置,其特征在于,所述装置包括:
数据获取模块,用于获取与真实场景对应的三维空间数据和场景分布数据;
特征提取模块,用于从所述三维空间数据中提取地形特征;
地形生成模块,用于按照所述地形特征生成三维地形模型;
所述特征提取模块还用于从所述场景分布数据中,提取所述真实场景中场景对象的场景对象特征;
场景生成模块,用于在所述三维地形模型中,生成与所述场景对象特征对应的场景对象模型,得到与所述真实场景对应的虚拟场景。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202110466543.2A 2021-04-28 2021-04-28 虚拟场景生成方法、装置、计算机设备和存储介质 Pending CN113066183A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110466543.2A CN113066183A (zh) 2021-04-28 2021-04-28 虚拟场景生成方法、装置、计算机设备和存储介质
PCT/CN2022/081332 WO2022227910A1 (zh) 2021-04-28 2022-03-17 虚拟场景生成方法、装置、计算机设备和存储介质
US17/985,102 US20230074265A1 (en) 2021-04-28 2022-11-10 Virtual scenario generation method and apparatus, computer device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110466543.2A CN113066183A (zh) 2021-04-28 2021-04-28 虚拟场景生成方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN113066183A true CN113066183A (zh) 2021-07-02

Family

ID=76568224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110466543.2A Pending CN113066183A (zh) 2021-04-28 2021-04-28 虚拟场景生成方法、装置、计算机设备和存储介质

Country Status (3)

Country Link
US (1) US20230074265A1 (zh)
CN (1) CN113066183A (zh)
WO (1) WO2022227910A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744399A (zh) * 2021-09-09 2021-12-03 网易(杭州)网络有限公司 地形分层数据处理方法、装置、设备及机器可读储存介质
CN113763508A (zh) * 2021-08-27 2021-12-07 广州市城市规划勘测设计研究院 一种基于虚拟引擎的矢量数据处理方法、装置及介质
CN114022624A (zh) * 2021-11-04 2022-02-08 深圳须弥云图空间科技有限公司 生成路网的方法、装置、存储介质及电子设备
CN114972627A (zh) * 2022-04-11 2022-08-30 深圳元象信息科技有限公司 场景生成方法、电子设备及存储介质
WO2022227910A1 (zh) * 2021-04-28 2022-11-03 腾讯科技(深圳)有限公司 虚拟场景生成方法、装置、计算机设备和存储介质
CN115359202A (zh) * 2022-09-01 2022-11-18 抖音视界有限公司 一种虚拟场景生成方法、装置、计算机设备及存储介质
CN116452756A (zh) * 2023-06-15 2023-07-18 子亥科技(成都)有限公司 三维场景局部自动化生成方法、装置、设备及存储介质
WO2023185660A1 (zh) * 2022-03-31 2023-10-05 北京字跳网络技术有限公司 一种渲染显示方法、装置、计算机设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117274505B (zh) * 2023-11-20 2024-03-05 广州中鸣数码科技有限公司 图像映射到搭建图的显示方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194022A (zh) * 2010-03-19 2011-09-21 中国农业机械化科学研究院 农业装备在虚拟场景中的运动仿真与控制方法及装置
CN104484522A (zh) * 2014-12-11 2015-04-01 西南科技大学 一种基于现实场景的机器人模拟演练***的构建方法
CN109544684A (zh) * 2018-11-21 2019-03-29 广东电网有限责任公司 一种变电站场景的构建方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8963943B2 (en) * 2009-12-18 2015-02-24 Electronics And Telecommunications Research Institute Three-dimensional urban modeling apparatus and method
CN107945225A (zh) * 2017-12-12 2018-04-20 北京奇虎科技有限公司 虚拟场景构建的方法及装置、计算设备、存储介质
CN108021766A (zh) * 2017-12-21 2018-05-11 长春明轩文化传媒有限公司 一种数字城市中建筑的虚拟现实场景生成方法及装置
CN111142402B (zh) * 2018-11-05 2023-12-15 百度在线网络技术(北京)有限公司 仿真场景构建方法、装置和终端
CN109859562A (zh) * 2019-01-31 2019-06-07 南方科技大学 数据生成方法、装置、服务器及存储介质
CN112396688B (zh) * 2019-08-14 2023-09-26 杭州海康威视数字技术股份有限公司 一种三维虚拟场景的生成方法及装置
CN112150622A (zh) * 2020-10-12 2020-12-29 天津飞眼无人机科技有限公司 一种三维城市景观的构建方法及三维规划辅助决策***
CN112614234B (zh) * 2020-12-28 2024-07-05 深圳市人工智能与机器人研究院 对混合现实三维场景进行编辑的方法及混合现实设备
CN113066183A (zh) * 2021-04-28 2021-07-02 腾讯科技(深圳)有限公司 虚拟场景生成方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194022A (zh) * 2010-03-19 2011-09-21 中国农业机械化科学研究院 农业装备在虚拟场景中的运动仿真与控制方法及装置
CN104484522A (zh) * 2014-12-11 2015-04-01 西南科技大学 一种基于现实场景的机器人模拟演练***的构建方法
CN109544684A (zh) * 2018-11-21 2019-03-29 广东电网有限责任公司 一种变电站场景的构建方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵筱阳;容青艳;: "立交桥三维虚拟场景建模与指定路径的实时漫游", 长沙理工大学学报(自然科学版), no. 01, 28 March 2008 (2008-03-28) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022227910A1 (zh) * 2021-04-28 2022-11-03 腾讯科技(深圳)有限公司 虚拟场景生成方法、装置、计算机设备和存储介质
CN113763508A (zh) * 2021-08-27 2021-12-07 广州市城市规划勘测设计研究院 一种基于虚拟引擎的矢量数据处理方法、装置及介质
CN113744399A (zh) * 2021-09-09 2021-12-03 网易(杭州)网络有限公司 地形分层数据处理方法、装置、设备及机器可读储存介质
CN113744399B (zh) * 2021-09-09 2023-08-22 网易(杭州)网络有限公司 地形分层数据处理方法、装置、设备及机器可读储存介质
CN114022624A (zh) * 2021-11-04 2022-02-08 深圳须弥云图空间科技有限公司 生成路网的方法、装置、存储介质及电子设备
WO2023185660A1 (zh) * 2022-03-31 2023-10-05 北京字跳网络技术有限公司 一种渲染显示方法、装置、计算机设备及存储介质
CN114972627A (zh) * 2022-04-11 2022-08-30 深圳元象信息科技有限公司 场景生成方法、电子设备及存储介质
CN115359202A (zh) * 2022-09-01 2022-11-18 抖音视界有限公司 一种虚拟场景生成方法、装置、计算机设备及存储介质
CN116452756A (zh) * 2023-06-15 2023-07-18 子亥科技(成都)有限公司 三维场景局部自动化生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2022227910A1 (zh) 2022-11-03
US20230074265A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
CN113066183A (zh) 虚拟场景生成方法、装置、计算机设备和存储介质
CN104766366B (zh) 一种三维虚拟现实演示的建立方法
CN109829022B (zh) 一种融合监控视频信息的互联网地图服务***及构建方法
CN100533486C (zh) 一种数字城市全自动生成的方法
Kim et al. CityCraft: 3D virtual city creation from a single image
CN112784002B (zh) 一种虚拟场景生成方法、装置、设备和存储介质
CN110889900A (zh) 一种面向低空域三维建模及可视化的方法
JP2008530595A (ja) 地形モデル化のためのデジタル標高モデル(dem)を向上させる方法および装置
KR20100136604A (ko) 3차원 지형 영상 실시간 가시화 시스템 및 이의 방법
Khayyal et al. Creation and spatial analysis of 3D city modeling based on GIS data
KR102276451B1 (ko) Gis를 이용한 모델링 장치 및 방법
Borisov et al. An automated process of creating 3D city model for monitoring urban infrastructures
CN114238545A (zh) 二三维园区一体化展示方法、装置和计算机设备
CN117934705A (zh) 建筑模型批量生成方法、装置、可读存储介质及电子设备
Williams et al. A time-line approach for the generation of simulated settlements
Komadina et al. Automated 3D urban landscapes visualization using open data sources on the example of the city of Zagreb
Wu et al. GANmapper: geographical content filling
Stendardo et al. Urban design strategies for the upcycling of urban infrastructure residual pockets: 3D city modelling from Open Data and low-cost rapid mapping tools
Kastuari et al. State of the art of the landscape architecture spatial data model from a geospatial perspective
Lu et al. Computer aided design system based on 3D GIS for park design
Abdelguerfi 3D synthetic environment reconstruction
Laksono et al. Interactive 3D city visualization from structure motion data using game engine
JP7232552B1 (ja) 情報処理装置、方法、およびプログラム
Bernardin et al. Real-time terrain mapping
Ghani et al. Developing A 3-D GIS model for urban planning. Case study: Ampang Jaya, Malaysia

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40048767

Country of ref document: HK