CN115393524A - 一种基于三维游戏引擎的三维模型渲染方法及系统 - Google Patents

一种基于三维游戏引擎的三维模型渲染方法及系统 Download PDF

Info

Publication number
CN115393524A
CN115393524A CN202211076023.1A CN202211076023A CN115393524A CN 115393524 A CN115393524 A CN 115393524A CN 202211076023 A CN202211076023 A CN 202211076023A CN 115393524 A CN115393524 A CN 115393524A
Authority
CN
China
Prior art keywords
lod
dimensional
model
rendering
monomer
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.)
Granted
Application number
CN202211076023.1A
Other languages
English (en)
Other versions
CN115393524B (zh
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.)
Guodi Spacetime Information Technology Beijing Co ltd
Guangdong Guodi Planning Technology Co ltd
Original Assignee
Guodi Spacetime Information Technology Beijing Co ltd
Guangdong Guodi Planning Technology 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 Guodi Spacetime Information Technology Beijing Co ltd, Guangdong Guodi Planning Technology Co ltd filed Critical Guodi Spacetime Information Technology Beijing Co ltd
Priority to CN202211076023.1A priority Critical patent/CN115393524B/zh
Publication of CN115393524A publication Critical patent/CN115393524A/zh
Application granted granted Critical
Publication of CN115393524B publication Critical patent/CN115393524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于三维游戏引擎的三维模型渲染方法及系统,包括:通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建第一三维模型对应的第一LOD控制文件、各第一单体模型对应的第二LOD控制文件、以及各第二LOD控制文件对应的多个LOD流文件;获取各第一单体模型与当前相机参数对应的LOD层级,并利用三维游戏引擎,读取与各LOD层级对应的LOD流文件,然后依次渲染得到各LOD流文件对应的第二单体模型,并渲染得到所有第二单体模对应的第二三维模型。本发明通过对三维模型进行分层渲染,降低同一时间的数据运算量,防止对网络及硬件资源的过度消耗,从而提升数据交互效率和模型渲染效率。

Description

一种基于三维游戏引擎的三维模型渲染方法及系统
技术领域
本发明涉及三维数据可视化技术领域,尤其涉及一种基于三维游戏引擎的三维模型渲染方法及系统。
背景技术
目前,大部分的三维数据可视化方案,都是将三维数据转换成中间格式:如gltf、osgb、obj等等。然而,由于中间格式的三维数据是整个三维模型文件,因此在三维数据可视化过程中,需要同时去获取整个模型组件的几何信息,加载、解析过程卡顿时间过长,从而影响交互体验。并且,现有的渲染方式,是基于整个模型组件的几何信息进行一次性渲染,同时渲染大量几何体的顶点、材质、法向量、着色器等信息,过度消耗与占用网络资源和硬件资源,容易造成内存溢出、几何模型信息等异常情况,进而导致部分模型无法加载甚至是三维引擎崩溃,影响数据显示的准确性。
发明内容
本发明提供了一种基于三维游戏引擎的三维模型渲染方法及系统,在模型数据量较多的情况下,降低同一时间的数据运算量,从而提升数据交互效率和模型渲染流畅度。
为了解决上述技术问题,本发明实施例提供了一种基于三维游戏引擎的三维模型渲染方法,包括:
通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建所述第一三维模型对应的第一LOD控制文件、各所述第一单体模型对应的第二LOD控制文件、以及各所述第二LOD控制文件对应的多个LOD流文件;其中,所述第一LOD控制文件、所述第二LOD控制文件和所述LOD流文件的格式均为二进制文件;
利用三维游戏引擎,获取各所述第一单体模型与当前相机参数对应的LOD层级,并根据所述第一LOD控制文件和所有所述第二LOD控制文件,实时读取与各所述LOD层级对应的所述LOD流文件,然后依次渲染得到各所述LOD流文件对应的第二单体模型,并结合所有所述第二单体模型,渲染得到对应的第二三维模型。
实施本发明实施例,根据当前相机参数,确定各第一单体模型的LOD层级,并通过待渲染的第一三维模型对应的第一LOD控制文件、以及待渲染的第一三维模型对应的各第一单体模型对应的第二LOD控制文件,从所有的LOD流文件中,确定与各第一单体模型的LOD层级所对应的LOD流文件,然后根据上述已确定的各个LOD流文件,依次渲染得到各个LOD流文件对应的第二单体模型和所有第二单体模型对应的第二三维模型,以实现对三维模型的分层渲染,从而降低同一时间戳的运算量,并防止影响交互体验。另外地,利用三维游戏引擎加载第一LOD控制文件、第二LOD控制文件和LOD流文件等二进制文件,能够避免直接加载三维模型数据文件对网络资源和硬件资源的过度消耗,从而提升数据交互效率和模型渲染流畅度。
作为优选方案,所述利用三维游戏引擎,获取各所述第一单体模型与当前相机参数对应的LOD层级,并根据所述第一LOD控制文件和所有所述第二LOD控制文件,实时读取与各所述LOD层级对应的所述LOD流文件,然后依次渲染得到各所述LOD流文件对应的第二单体模型,并结合所有所述第二单体模型,渲染得到对应的第二三维模型,具体为:
利用三维游戏引擎,根据当前所述相机参数,获取各所述第一单体模型的渲染比例,并根据所述渲染比例,结合所述第一LOD控制文件,确定当前各所述第一单体模型对应的所述LOD层级;
利用三维游戏引擎,通过所有所述第二LOD控制文件,实时读取各所述LOD层级对应的所述LOD流文件;
利用三维游戏引擎,根据各所述LOD流文件对应的所述LOD层级,确定各所述LOD流文件的渲染优先级,并按照所述渲染优先级,依次渲染得到各所述LOD流文件对应的所述第二单体模型,然后结合所有所述第二单体模型,渲染得到对应的第二三维模型。
实施本发明实施例的优选方案,采用分层渲染方式,根据各LOD流文件的不同的LOD层级进行渲染优先级判断,对需要重点显示的第二单体模型进行优先渲染,并降低同一时间戳的运算量,避免重点模型数据的丢失,从而提升模型渲染结果的准确性。此外,仅对与当前相机参数相对应的LOD层级的LOD流文件进行渲染,以减少渲染内容,从而避免渲染内容过多而造成的内存溢出、数据丢失等异常情况。
作为优选方案,所述结合所有所述第二单体模型,渲染得到对应的第二三维模型,具体为:
利用三维游戏引擎,根据相机射线,依次判断各所述第二单体模型是否处于所述第二三维模型的外部;
若当前所述第二单体模型不处于所述第二三维模型的外部,则对当前所述第二单体模型进行隐藏;
若当前所述第二单体模型处于所述第二三维模型的外部,则对当前所述第二单体模型进行渲染,以将当前所述第二单体模型添加至预设的三维场景,以形成对应的所述第二三维模型。
实施本发明实施例的优选方案,对于每个第二单体模型,若当前第二单体模型不处于第二三维模型的外部,即处于第二三维模型的内部,则直接对当前第二单体模型进行隐藏,能够减少渲染内容,提升整体的三维模型渲染效率。
作为优选方案,所述的一种基于三维游戏引擎的三维模型渲染方法,还包括:
通过所述三维游戏引擎,从所述三维软件中获取所述第三三维模型,并将所述第三三维模型上传至服务器和本地临时文件夹;其中,所述第三三维模型是由所述三维软件对获取到的所述第二三维模型进行更新处理而形成的;
当接收到用户的登陆刷新请求时,从所述服务器或者所述本地临时文件夹上获取所述第三三维模型,并实时显示所述第三三维模型。
实施本发明实施例的优选方案,当三维软件对软件获取到的第二三维模型进行更新处理而形成对应的第三三维模型时,利用三维游戏引擎,将从三维软件中获取到的第三三维模型上传至服务器,并在接收到登陆刷新请求时,直接从本地临时文件夹上获取并实时显示更新后的内容,即第三三维模型,能够降低服务器压力,并且从本地临时文件夹上读取文件能够加快文件解析速度,从而提升三维模型渲染效率。
作为优选方案,所述的一种基于三维游戏引擎的三维模型渲染方法,还包括:
当所述三维软件接收到用户的数据删除请求时,通过所述三维软件,删除所述数据删除请求对应的所述第二LOD控制文件和对应的所述LOD流文件;
当所述三维软件接收到用户的数据删除请求时,从所述第二三维模型上删除所述数据删除请求对应的所述单体模型。
实施本发明实施例的优选方案,用户能够直接通过三维软件,从第二三维模型上删除相应的单体模型,并关联删除对应的第二LOD控制文件和对应的LOD流文件,以释放掉内存以及显卡上的显存,控制内存和显卡的资源,防止占用内存和显存的有限资源空间,从而避免出现由内存或显存不足而造成的运行效率慢、数据溢出等异常情况。
为了解决相同的技术问题,本发明实施例还提供了一种基于三维游戏引擎的三维模型渲染系统,包括:
数据获取系统,用于通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建所述第一三维模型对应的第一LOD控制文件、各所述第一单体模型对应的第二LOD控制文件、以及各所述第二LOD控制文件对应的多个LOD流文件;其中,所述第一LOD控制文件、所述第二LOD控制文件和所述LOD流文件的格式均为二进制文件;
模型渲染系统,用于利用三维游戏引擎,获取各所述第一单体模型与当前相机参数对应的LOD层级,并根据所述第一LOD控制文件和所有所述第二LOD控制文件,实时读取与各所述LOD层级对应的所述LOD流文件,然后依次渲染得到各所述LOD流文件对应的第二单体模型,并结合所有所述第二单体模型,渲染得到对应的第二三维模型。
作为优选方案,所述模型渲染系统,具体包括:
数据读取模块,用于利用三维游戏引擎,根据当前所述相机参数,获取各所述第一单体模型的渲染比例,并根据所述渲染比例,结合所述第一LOD控制文件,确定当前各所述第一单体模型对应的所述LOD层级;利用三维游戏引擎,通过所有所述第二LOD控制文件,实时读取各所述LOD层级对应的所述LOD流文件;
模型渲染模块,用于利用三维游戏引擎,根据各所述LOD流文件对应的所述LOD层级,确定各所述LOD流文件的渲染优先级,并按照所述渲染优先级,依次渲染得到各所述LOD流文件对应的所述第二单体模型,然后结合所有所述第二单体模型,渲染得到对应的第二三维模型。
作为优选方案,所述模型渲染模块,具体包括:
判断单元,用于利用三维游戏引擎,根据相机射线,依次判断各所述第二单体模型是否处于所述第二三维模型的外部;
模型渲染单元,用于若当前所述第二单体模型不处于所述第二三维模型的外部,则对当前所述第二单体模型进行隐藏;若当前所述第二单体模型处于所述第二三维模型的外部,则对当前所述第二单体模型进行渲染,以将当前所述第二单体模型添加至预设的三维场景,以形成对应的所述第二三维模型。
作为优选方案,所述的一种基于三维游戏引擎的三维模型渲染系统,还包括:
模型更新系统,用于通过所述三维游戏引擎,从所述三维软件中获取所述第三三维模型,并将所述第三三维模型上传至服务器和本地临时文件夹;其中,所述第三三维模型是由所述三维软件对获取到的所述第二三维模型进行更新处理而形成的;当接收到用户的登陆刷新请求时,从所述服务器或者所述本地临时文件夹上获取所述第三三维模型,并实时显示所述第三三维模型。
作为优选方案,所述的一种基于三维游戏引擎的三维模型渲染系统,还包括:
模型删除系统,用于当所述三维软件接收到用户的数据删除请求时,通过所述三维软件,删除所述数据删除请求对应的所述第二LOD控制文件和对应的所述LOD流文件;当所述三维软件接收到用户的数据删除请求时,从所述第二三维模型上删除所述数据删除请求对应的所述单体模型。
附图说明
图1:为本发明实施例一提供的一种基于三维游戏引擎的三维模型渲染方法的流程示意图;
图2:为本发明实施例一提供的一种基于三维游戏引擎的三维模型渲染系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参照图1,为本发明实施例提供的一种基于三维游戏引擎的三维模型渲染方法,该方法包括步骤S1至步骤S3,各步骤具体如下:
步骤S1,通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建第一三维模型对应的第一LOD控制文件、各第一单体模型对应的第二LOD控制文件、以及各第二LOD控制文件对应的多个LOD流文件;其中,第一LOD控制文件、第二LOD控制文件和LOD流文件的格式均为二进制文件。
在本实施例中,步骤S1包括步骤S11至步骤S12,各步骤具体如下:
步骤S11,通过三维软件,制作包括但不限于几何信息、材质信息、场景及灯光信息的待渲染的第一三维模型,并从第一三维模型中剥离出多个第一单体模型,并将所有第一单体模型以二进制文件的格式存储至服务器和本地临时文件夹。
步骤S12,构建第一三维模型对应的第一LOD控制文件、各第一单体模型对应的第二LOD控制文件、以及各第二LOD控制文件关联的多个不同LOD层级对应的LOD流文件,并将第一LOD控制文件、第二LOD控制文件和LOD流文件存储至服务器和本地临时文件夹。其中,第一三维模型,单体模型是指单个元素几何体,比如Revit中的墙、柱、地面等,第一LOD控制文件、第二LOD控制文件和LOD流文件的格式均为二进制文件。
需要说明的是,上述三维软件,可以是Revit、3dmax、SketchUp等软件。另外地,第一LOD控制文件所记录的信息包括但不限于以下内容:①所有第一单体模型的名称,用于区分当前第一三维模型所对应的项目;②各LOD层级的最大和最小的比例尺,用于作为计算LOD层级划分的依据;③第一三维模型对应的所有第一LOD控制文件的存储位置,用于作为初次运行渲染时的数据查找依据。而第二LOD控制文件所记录的信息包括但不限于以下内容:当前第二LOD控制文件所对应的多个LOD流文件的LOD层级、存储位置、名称和大小。至于LOD流文件所记录的信息,包括但不限于以下内容:对应的第一单体模型的顶点、顶点索引、材质和法向量。上述信息记录方式均为hash表。
步骤S2,利用三维游戏引擎,获取各第一单体模型与当前相机参数对应的LOD层级,并根据第一LOD控制文件和所有第二LOD控制文件,实时读取与各LOD层级对应的LOD流文件,然后依次渲染得到各LOD流文件对应的第二单体模型,并结合所有第二单体模型,渲染得到对应的第二三维模型。
需要说明的是,三维游戏引擎可以直接读取二进制文件,不需要进行格式转换,因此,客户端利用三维游戏引擎进行模型渲染,可以加快加载和渲染的速度。其中,客户端可以是Web端、移动端或者桌面端,并且利用三维游戏引擎所提供的API,对客户端进行开发,能够实现客户端与服务器之间的跨平台浏览。基于此,用户能够通过不同的客户端,进行数据交互和模型渲染。
作为优选方案,步骤S2包括步骤S21至步骤S23,各步骤具体如下:
步骤S21,利用三维游戏引擎,根据当前相机参数,获取各第一单体模型的渲染比例,并根据渲染比例,结合第一LOD控制文件,确定当前各第一单体模型对应的LOD层级。
步骤S22,利用三维游戏引擎,通过所有第二LOD控制文件和当前各第一单体模型对应的LOD层级,生成对应的索引文件,并根据索引文件,实时读取各LOD层级对应的LOD流文件。
在本实施例中,利用三维游戏引擎,获取第一LOD控制文件、第二LOD控制文件或者LOD流文件的方法为,优先请求本地临时文件夹内的缓存文件,若请求失败,则请求服务器上的文件。
步骤S23,利用三维游戏引擎,根据各LOD流文件对应的LOD层级,确定各LOD流文件的渲染优先级,并按照渲染优先级,依次渲染得到各LOD流文件对应的第二单体模型,然后结合所有第二单体模型,渲染得到对应的第二三维模型。
作为优选方案,步骤S23包括步骤S231至步骤S234,各步骤具体如下:
步骤S231,利用三维游戏引擎,根据各LOD流文件对应的LOD层级,确定各LOD流文件的渲染优先级,并按照渲染优先级,依次渲染得到各LOD流文件对应的第二单体模型,以完成模型的分层渲染。
步骤S232,根据相机射线与第二三维模型的相交,依次判断各第二单体模型是否处于第二三维模型的外部,从而综合完成三维模型的渲染。
在本实施例中,若当前第二单体模型不处于第二三维模型的外部,则执行步骤S233,若当前第二单体模型处于第二三维模型的外部,则执行步骤S234。
步骤S233,对当前第二单体模型进行隐藏,以减少非必要的渲染。
步骤S234,对当前第二单体模型进行渲染,以将当前第二单体模型添加至预设的三维场景,以形成对应的第二三维模型。
作为优选方案,本发明实施例提供的一种基于三维游戏引擎的三维模型渲染方法,还包括步骤S3至步骤S4,各步骤具体如下:
步骤S3,通过三维游戏引擎,从三维软件中获取第三三维模型,并将第三三维模型上传至服务器和本地临时文件夹;其中,第三三维模型是由三维软件的插件对获取到的第二三维模型进行更新处理而形成的。
步骤S4,当接收到用户的登陆刷新请求时,从服务器或者本地临时文件夹上获取第三三维模型,并实时显示第三三维模型。
作为优选方案,本发明实施例提供的一种基于三维游戏引擎的三维模型渲染方法,还包括步骤S5至步骤S6,各步骤具体如下:
步骤S5,当三维软件接收到用户的数据删除请求时,通过三维软件的插件,删除数据删除请求对应的第二LOD控制文件和对应的LOD流文件。
步骤S6,当三维软件接收到用户的数据删除请求时,从第二三维模型上删除数据删除请求对应的单体模型。
在本实施例中,用户还能够利用三维软件的插件,生成当前三维模型对应的共享链接,以供分享对象能够打开共享链接并查看对应的三维场景和三维模型。
请参照图2,为本发明实施例提供的一种基于三维游戏引擎的三维模型渲染系统的结构示意图,该系统包括数据获取系统1和模型渲染系统2,各模块具体如下:
数据获取系统1,用于通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建第一三维模型对应的第一LOD控制文件、各第一单体模型对应的第二LOD控制文件、以及各第二LOD控制文件对应的多个LOD流文件;其中,第一LOD控制文件、第二LOD控制文件和LOD流文件的格式均为二进制文件。
模型渲染系统2,用于利用三维游戏引擎,获取各第一单体模型与当前相机参数对应的LOD层级,并根据第一LOD控制文件和所有第二LOD控制文件,实时读取与各LOD层级对应的LOD流文件,然后依次渲染得到各LOD流文件对应的第二单体模型,并结合所有第二单体模型,渲染得到对应的第二三维模型。
作为优选方案,模型渲染系统2,具体包括数据读取模块21和模型渲染模块22,各模块具体如下:
数据读取模块21,用于利用三维游戏引擎,根据当前相机参数,获取各第一单体模型的渲染比例,并根据渲染比例,结合第一LOD控制文件,确定当前各第一单体模型对应的LOD层级;利用三维游戏引擎,通过所有第二LOD控制文件,实时读取各LOD层级对应的LOD流文件。
模型渲染模块22,用于利用三维游戏引擎,根据各LOD流文件对应的LOD层级,确定各LOD流文件的渲染优先级,并按照渲染优先级,依次渲染得到各LOD流文件对应的第二单体模型,然后结合所有第二单体模型,渲染得到对应的第二三维模型。
作为优选方案,模型渲染模块22,具体包括判断单元221和模型渲染单元222,各单元具体如下:
判断单元221,用于利用三维游戏引擎,根据相机射线,依次判断各第二单体模型是否处于第二三维模型的外部。
模型渲染单元222,用于若当前第二单体模型不处于第二三维模型的外部,则对当前第二单体模型进行隐藏;若当前第二单体模型处于第二三维模型的外部,则对当前第二单体模型进行渲染,以将当前第二单体模型添加至预设的三维场景,以形成对应的第二三维模型。
作为优选方案,请参照图2,本发明实施例提供的一种基于三维游戏引擎的三维模型渲染系统,还包括模型更新系统3,该模块具体如下:
模型更新系统3,用于通过三维游戏引擎,从三维软件中获取第三三维模型,并将第三三维模型上传至服务器和本地临时文件夹;其中,第三三维模型是由三维软件对获取到的第二三维模型进行更新处理而形成的;当接收到用户的登陆刷新请求时,从服务器或者本地临时文件夹上获取第三三维模型,并实时显示第三三维模型。
作为优选方案,请参照图2,本发明实施例提供的一种基于三维游戏引擎的三维模型渲染系统,还包括模型删除系统4,该模块具体如下:
模型删除系统4,用于当三维软件接收到用户的数据删除请求时,通过三维软件,删除数据删除请求对应的第二LOD控制文件和对应的LOD流文件;当三维软件接收到用户的数据删除请求时,从第二三维模型上删除数据删除请求对应的单体模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
相比于现有技术,本发明实施例具有如下有益效果:
本发明提出一种基于三维游戏引擎的三维模型渲染方法及系统,基于实时的相机参数,确定待渲染的第一三维模型对应的各第一单体模型的LOD层级,并依据待渲染的第一三维模型对应的第一LOD控制文件、以及各第一单体模型对应的第二LOD控制文件,在所有的LOD流文件中,确定并读取与各第一单体模型的LOD层级所对应的LOD流文件,然后依次根据读取到的各个LOD流文件,渲染得到各个LOD流文件对应的第二单体模型和所有第二单体模型对应的第二三维模型,实现对三维模型的分层渲染,以降低同一时间戳的运算量,并避免直接加载初始的三维模型数据文件而造成对网络资源和硬件资源的过度消耗,从而提升数据交互效率、模型渲染流畅度和用户体验感。
进一步地,根据LOD层级进行渲染优先级判断,从而按照优先级顺序依次渲染LOD流文件,实现对需要重点显示的第二单体模型进行优先渲染,并降低同一时间戳的运算量,避免重点模型数据的丢失,提升模型渲染结果的准确性。此外,仅渲染与当前相机参数相对应的LOD层级的LOD流文件,以减少整体的数据运算量,从而避免渲染内容过多而造成的内存溢出、数据丢失等异常情况。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于三维游戏引擎的三维模型渲染方法,其特征在于,包括:
通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建所述第一三维模型对应的第一LOD控制文件、各所述第一单体模型对应的第二LOD控制文件、以及各所述第二LOD控制文件对应的多个LOD流文件;其中,所述第一LOD控制文件、所述第二LOD控制文件和所述LOD流文件的格式均为二进制文件;
利用三维游戏引擎,获取各所述第一单体模型与当前相机参数对应的LOD层级,并根据所述第一LOD控制文件和所有所述第二LOD控制文件,实时读取与各所述LOD层级对应的所述LOD流文件,然后依次渲染得到各所述LOD流文件对应的第二单体模型,并结合所有所述第二单体模型,渲染得到对应的第二三维模型。
2.如权利要求1所述的一种基于三维游戏引擎的三维模型渲染方法,其特征在于,所述利用三维游戏引擎,获取各所述第一单体模型与当前相机参数对应的LOD层级,并根据所述第一LOD控制文件和所有所述第二LOD控制文件,实时读取与各所述LOD层级对应的所述LOD流文件,然后依次渲染得到各所述LOD流文件对应的第二单体模型,并结合所有所述第二单体模型,渲染得到对应的第二三维模型,具体为:
利用三维游戏引擎,根据当前所述相机参数,获取各所述第一单体模型的渲染比例,并根据所述渲染比例,结合所述第一LOD控制文件,确定当前各所述第一单体模型对应的所述LOD层级;
利用三维游戏引擎,通过所有所述第二LOD控制文件,实时读取各所述LOD层级对应的所述LOD流文件;
利用三维游戏引擎,根据各所述LOD流文件对应的所述LOD层级,确定各所述LOD流文件的渲染优先级,并按照所述渲染优先级,依次渲染得到各所述LOD流文件对应的所述第二单体模型,然后结合所有所述第二单体模型,渲染得到对应的第二三维模型。
3.如权利要求2所述的一种基于三维游戏引擎的三维模型渲染方法,其特征在于,所述结合所有所述第二单体模型,渲染得到对应的第二三维模型,具体为:
利用三维游戏引擎,根据相机射线,依次判断各所述第二单体模型是否处于所述第二三维模型的外部;
若当前所述第二单体模型不处于所述第二三维模型的外部,则对当前所述第二单体模型进行隐藏;
若当前所述第二单体模型处于所述第二三维模型的外部,则对当前所述第二单体模型进行渲染,以将当前所述第二单体模型添加至预设的三维场景,以形成对应的所述第二三维模型。
4.如权利要求1所述的一种基于三维游戏引擎的三维模型渲染方法,其特征在于,还包括:
通过所述三维游戏引擎,从所述三维软件中获取所述第三三维模型,并将所述第三三维模型上传至服务器和本地临时文件夹;其中,所述第三三维模型是由所述三维软件对获取到的所述第二三维模型进行更新处理而形成的;
当接收到用户的登陆刷新请求时,从所述服务器或者所述本地临时文件夹上获取所述第三三维模型,并实时显示所述第三三维模型。
5.如权利要求1所述的一种基于三维游戏引擎的三维模型渲染方法,其特征在于,还包括:
当所述三维软件接收到用户的数据删除请求时,通过所述三维软件,删除所述数据删除请求对应的所述第二LOD控制文件和对应的所述LOD流文件;
当所述三维软件接收到用户的数据删除请求时,从所述第二三维模型上删除所述数据删除请求对应的所述单体模型。
6.一种基于三维游戏引擎的三维模型渲染系统,其特征在于,包括:
数据获取系统,用于通过三维软件,获取待渲染的第一三维模型对应的多个第一单体模型,并构建所述第一三维模型对应的第一LOD控制文件、各所述第一单体模型对应的第二LOD控制文件、以及各所述第二LOD控制文件对应的多个LOD流文件;其中,所述第一LOD控制文件、所述第二LOD控制文件和所述LOD流文件的格式均为二进制文件;
模型渲染系统,用于利用三维游戏引擎,获取各所述第一单体模型与当前相机参数对应的LOD层级,并根据所述第一LOD控制文件和所有所述第二LOD控制文件,实时读取与各所述LOD层级对应的所述LOD流文件,然后依次渲染得到各所述LOD流文件对应的第二单体模型,并结合所有所述第二单体模型,渲染得到对应的第二三维模型。
7.如权利要求6所述的一种基于三维游戏引擎的三维模型渲染系统,其特征在于,所述模型渲染系统,具体包括:
数据读取模块,用于利用三维游戏引擎,根据当前所述相机参数,获取各所述第一单体模型的渲染比例,并根据所述渲染比例,结合所述第一LOD控制文件,确定当前各所述第一单体模型对应的所述LOD层级;利用三维游戏引擎,通过所有所述第二LOD控制文件,实时读取各所述LOD层级对应的所述LOD流文件;
模型渲染模块,用于利用三维游戏引擎,根据各所述LOD流文件对应的所述LOD层级,确定各所述LOD流文件的渲染优先级,并按照所述渲染优先级,依次渲染得到各所述LOD流文件对应的所述第二单体模型,然后结合所有所述第二单体模型,渲染得到对应的第二三维模型。
8.如权利要求7所述的一种基于三维游戏引擎的三维模型渲染系统,其特征在于,所述模型渲染模块,具体包括:
第一渲染单元,用于根据各所述LOD流文件对应的所述LOD层级,确定各所述LOD流文件的渲染优先级,并按照所述渲染优先级,依次渲染得到各所述LOD流文件对应的所述第二单体模型;
判断单元,用于利用三维游戏引擎,根据相机射线,依次判断各所述第二单体模型是否处于所述第二三维模型的外部;
第二渲染单元,用于若当前所述第二单体模型不处于所述第二三维模型的外部,则对当前所述第二单体模型进行隐藏;若当前所述第二单体模型处于所述第二三维模型的外部,则对当前所述第二单体模型进行渲染,以将当前所述第二单体模型添加至预设的三维场景,以形成对应的所述第二三维模型。
9.如权利要求6所述的一种基于三维游戏引擎的三维模型渲染系统,其特征在于,还包括:
模型更新系统,用于通过所述三维游戏引擎,从所述三维软件中获取所述第三三维模型,并将所述第三三维模型上传至服务器和本地临时文件夹;其中,所述第三三维模型是由所述三维软件对获取到的所述第二三维模型进行更新处理而形成的;当接收到用户的登陆刷新请求时,从所述服务器或者所述本地临时文件夹上获取所述第三三维模型,并实时显示所述第三三维模型。
10.如权利要求6所述的一种基于三维游戏引擎的三维模型渲染系统,其特征在于,还包括:
模型删除系统,用于当所述三维软件接收到用户的数据删除请求时,通过所述三维软件,删除所述数据删除请求对应的所述第二LOD控制文件和对应的所述LOD流文件;当所述三维软件接收到用户的数据删除请求时,从所述第二三维模型上删除所述数据删除请求对应的所述单体模型。
CN202211076023.1A 2022-09-02 2022-09-02 一种基于三维游戏引擎的三维模型渲染方法及系统 Active CN115393524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211076023.1A CN115393524B (zh) 2022-09-02 2022-09-02 一种基于三维游戏引擎的三维模型渲染方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211076023.1A CN115393524B (zh) 2022-09-02 2022-09-02 一种基于三维游戏引擎的三维模型渲染方法及系统

Publications (2)

Publication Number Publication Date
CN115393524A true CN115393524A (zh) 2022-11-25
CN115393524B CN115393524B (zh) 2023-06-23

Family

ID=84125434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211076023.1A Active CN115393524B (zh) 2022-09-02 2022-09-02 一种基于三维游戏引擎的三维模型渲染方法及系统

Country Status (1)

Country Link
CN (1) CN115393524B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296779A (zh) * 2015-05-19 2017-01-04 深圳市腾讯计算机系统有限公司 一种三维模型渲染显示方法及系统
CN110060341A (zh) * 2019-04-29 2019-07-26 网易(杭州)网络有限公司 一种游戏模型渲染的方法和装置
CN111105491A (zh) * 2019-11-25 2020-05-05 腾讯科技(深圳)有限公司 场景渲染方法、装置、计算机可读存储介质和计算机设备
CN111858828A (zh) * 2020-09-24 2020-10-30 北京数字政通科技股份有限公司 一种面向三维地理数据的传输和渲染方法及系统
CN112308975A (zh) * 2020-11-06 2021-02-02 中国石油天然气集团有限公司 用于三维轻量化引擎的rvm二进制模型解析方法及系统
CN114283231A (zh) * 2021-12-27 2022-04-05 奥格科技股份有限公司 基于lod的bim模型轻量化构建与显示方法
CN114332322A (zh) * 2021-11-30 2022-04-12 合肥火星科技有限公司 一种三维场景下单体模型的大数据渲染方法
WO2022100059A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种数据存储的管理方法、对象渲染的方法及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296779A (zh) * 2015-05-19 2017-01-04 深圳市腾讯计算机系统有限公司 一种三维模型渲染显示方法及系统
CN110060341A (zh) * 2019-04-29 2019-07-26 网易(杭州)网络有限公司 一种游戏模型渲染的方法和装置
CN111105491A (zh) * 2019-11-25 2020-05-05 腾讯科技(深圳)有限公司 场景渲染方法、装置、计算机可读存储介质和计算机设备
CN111858828A (zh) * 2020-09-24 2020-10-30 北京数字政通科技股份有限公司 一种面向三维地理数据的传输和渲染方法及系统
CN112308975A (zh) * 2020-11-06 2021-02-02 中国石油天然气集团有限公司 用于三维轻量化引擎的rvm二进制模型解析方法及系统
WO2022100059A1 (zh) * 2020-11-13 2022-05-19 华为技术有限公司 一种数据存储的管理方法、对象渲染的方法及设备
CN114332322A (zh) * 2021-11-30 2022-04-12 合肥火星科技有限公司 一种三维场景下单体模型的大数据渲染方法
CN114283231A (zh) * 2021-12-27 2022-04-05 奥格科技股份有限公司 基于lod的bim模型轻量化构建与显示方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GUANBO BAO 等: "Large-scale forestrendering:Real-time,realistic,andprogressive", vol. 36, pages 140 - 151 *
丁晶 等: "移动环境下三维场景的实时渲染技术研究", no. 06, pages 18 - 22 *
尹长林 等: "大规模三维地形实时绘制的简化技术研究", vol. 37, no. 05, pages 555 - 559 *

Also Published As

Publication number Publication date
CN115393524B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US11344806B2 (en) Method for rendering game, and method, apparatus and device for generating game resource file
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
US11270497B2 (en) Object loading method and apparatus, storage medium, and electronic device
CN108010112B (zh) 动画处理方法、装置及存储介质
US9865085B1 (en) Systems and methods for 3D modeling using skipping heuristics and fusing
CN110688692A (zh) 一种基于结构化bim模型的二三维联动及叠加显示的方法
CN112070864A (zh) 动画渲染方法、装置、计算机可读存储介质和计算机设备
CN105261066A (zh) 一种三维地理信息系统实时绘制多线程分配与控制方法
CN111354084A (zh) 一种基于三维模型瓦片的网络地理信息服务系统
JP5320334B2 (ja) 画像処理装置及びプログラム
CN111389014A (zh) 游戏资源数据监控方法、装置、计算机设备和存储介质
CN112070909A (zh) 一种基于3D Tiles的工程三维模型LOD输出方法
CN114494024B (zh) 图像渲染方法、装置、设备及存储介质
CN112785696A (zh) 基于游戏引擎和倾斜摄影数据的三维实景模型生成方法
CN115908672A (zh) 一种三维场景渲染加速方法、系统、介质、设备及终端
CN109302523B (zh) 一种手机端和服务器端手机性能评估方法
CN113485548B (zh) 头戴显示设备的模型加载方法、装置及头戴显示设备
KR100901284B1 (ko) 3d 모델 식별자를 이용한 랜더링 시스템 및 방법
CN115393524B (zh) 一种基于三维游戏引擎的三维模型渲染方法及系统
CN113419806B (zh) 图像处理方法、装置、计算机设备和存储介质
CN114913277A (zh) 一种物体立体交互展示方法、装置、设备及介质
Fu et al. Dynamic shadow rendering with shadow volume optimization
CN116883575B (zh) 建筑群渲染方法、装置、计算机设备和存储介质
WO2023241210A1 (zh) 虚拟场景的渲染方法、装置、设备及存储介质
CN117635791B (zh) 3d模型的呈现方法及系统、存储介质、电子设备

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
GR01 Patent grant
GR01 Patent grant