CN106910236A - 一种三维虚拟环境中的渲染显示方法及装置 - Google Patents
一种三维虚拟环境中的渲染显示方法及装置 Download PDFInfo
- Publication number
- CN106910236A CN106910236A CN201710054166.5A CN201710054166A CN106910236A CN 106910236 A CN106910236 A CN 106910236A CN 201710054166 A CN201710054166 A CN 201710054166A CN 106910236 A CN106910236 A CN 106910236A
- Authority
- CN
- China
- Prior art keywords
- model
- precision
- camera
- distance
- precision grade
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维虚拟环境中的渲染显示方法及装置,包括:在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;根据距离与精度级别的对应关系,确定该模型所对应的精度级别;调用该精度级别的模型进行渲染后显示。采用本发明,在模型精度级数和标准设置完成后,在模型显示时根据所处的位置和重要程度,自动调整物体渲染的资源分配,降低非重要物体的面数和细节度,优化场景性能,因此能够提升整个场景的渲染效率。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种三维虚拟环境中的渲染显示方法及装置。
背景技术
Unity3D是Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine,Virtools或TorqueGame Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台。也可以利用Unityweb player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Macwidgets所支持。
Unreal是UNREAL ENGINE的简写,中文:虚幻引擎(UNREAL ENGINE)是目前世界最知名授权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额。中国首家虚幻技术研究中心在上海成立,该中心由GA国际游戏教育与虚幻引擎开发商EPIC的中国子公司EPIC GAMES CHINA联合设立。
为方便说明,下面主要以游戏程序以及Unity3D或Unreal为例进行说明。
在一些含有图像显示的程序、视频中,动画是使用内置的美术资源和渲染引擎实时渲染的,但预渲染动画则不同,它们通常是在3D应用程序中利用高分辨率美术资源创建并渲染的。最终制成的视频片段只是在程序、视频中回放一遍。
随着Unreal Engine 3及其高质量的渲染系统的诞生,这两种渲染技术之间的界线已经变得模糊起来。使用游戏中美术资源制作的游戏中过场动画与使用高分辨率美术资源制成的现代影片具有同样高的视觉逼真度。Matinee系统也已焕然一新,并成为非线性全效特征的编辑器。在过去,只能通过预渲染得到的高质量的过场动画,现在可以在UnrealEd内部直接创建,并可以在游戏播放时更为简便地实时渲染了。
Unreal并非是一个全实时计算的引擎,而是实时计算+预渲染。游戏引擎中为了呈现出以假乱真的效果,很多时候都会使用预渲染的技术,所谓预渲染的技术,其实就是把一些复杂的中间计算结果缓存在贴图之类的存储结构里。这样的技术非常常见,大部分的核心思想是算法里面的空间换时间的策略,或者是简化问题的模型,减小计算规模,所以现在单机游戏越来越大,很大一部分资源是被这些东西占用了。下面简单举例说明预渲染:
light map,简单的说就是把光强度在整个场景中的分布用贴图存储下来,配合第二UV,在真正实时计算光照的时候就省去了计算光强这部分的计算量;对于一些复杂形状的光源,在很难对它的光强在任一点的积分求数值解或者计算量过大的情况下,一般这类光强分布会被缓存在一张贴图上,叫法可能各不相同,或者是environment map,或者是image based lighting,或者是IES light,这类处理本质上是一样的东西,都是光强分布函数的离散化存储,计算是离线的。
由此可见,在此过程中,渲染会用到大量的资源,而现有技术的不足正在于:现有的渲染技术对每一个模型都进行渲染,使得效率低下,占用了大量的资源,进一步的,使得这一类的程序运行需要的硬件配置过高,不能在一般的硬件配置下运行。
发明内容
本发明提供了一种三维虚拟环境中的渲染显示方法及装置,用以提高三维虚拟环境中的渲染显示效率。
本发明实施例中提供了一种三维虚拟环境中的渲染显示方法,包括:
在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
调用该精度级别的模型进行渲染后显示。
较佳地,确定模型与相机的距离时,是同时在三维虚拟环境中的若干模型中确定处于相机视锥体内的各模型后,确定每一个模型与相机的距离;
或,是在三维虚拟环境中的各模型中分别确定处于相机视锥体内的每一个模型后,确定每一个模型与相机的距离。
较佳地,进一步包括:
若模型处于相机视锥体外,不对该模型进行渲染后显示。
较佳地,在确定模型与相机的距离前,进一步包括:
生成各精度级别的模型。
较佳地,在确定模型与相机的距离前,进一步包括:
将高精度级别的模型上的组件和/或物体挂接于相应的模型。
较佳地,生成各精度级别的模型,包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
较佳地,所述精度级别和/或所需的各级别精度的模型数量是根据用户需要设置的。
本发明实施例中提供了一种三维虚拟环境中的渲染显示装置,包括:
距离确定模块,用于在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
精度级别确定模块,用于根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
渲染显示模块,用于调用该精度级别的模型进行渲染后显示。
较佳地,距离确定模块进一步用于确定模型与相机的距离时,是同时在三维虚拟环境中的若干模型中确定处于相机视锥体内的各模型后,确定每一个模型与相机的距离;或,是在三维虚拟环境中的各模型中分别确定处于相机视锥体内的每一个模型后,确定每一个模型与相机的距离。
较佳地,渲染显示模块进一步用于若模型处于相机视锥体外,不对该模型进行渲染后显示。
较佳地,进一步包括:
模型生成模块,用于在确定模型与相机的距离前,生成各精度级别的模型。
较佳地,模型生成模块进一步用于在确定模型与相机的距离前,将高精度级别的模型上的组件和/或物体挂接于相应的模型。
较佳地,模型生成模块进一步用于在生成各精度级别的模型时,包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
较佳地,模型生成模块进一步用于根据用户需要设置所述精度级别和/或所需的各级别精度的模型数量。
本发明有益效果如下:
在本发明实施例提供的技术方案中,由于每个模型都预先设有各个精度级别的待渲染显示的模型,在模型处于相机视锥体内时,就确定模型与相机的距离;然后根据距离与精度级别的对应关系,确定每一个模型所对应的精度级别;最后再将每一个模型对应的精度级别的模型进行渲染后显示。
由于在模型精度级数和标准设置完成后,在模型显示时根据所处的位置和重要程度,自动调整物体渲染的资源分配,降低非重要物体的面数和细节度,优化场景性能,因此能够提升整个场景的渲染效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中三维虚拟环境中的渲染显示方法实施流程示意图;
图2为本发明实施例中不同精度级别的模型示意图;
图3为本发明实施例中Mesh示例1示意图;
图4为本发明实施例中Mesh示例2示意图;
图5为本发明实施例中边坍塌法效果示意图;
图6为本发明实施例中顶点去除法效果示意图;
图7为本发明实施例中场景渲染显示实施流程示意图;
图8为本发明实施例中三维虚拟环境中的渲染显示装置结构示意图。
具体实施方式
发明人在发明过程中注意到:
LOD(Levels of Detail,多细节层次)是一种全新的模型表示方法,改变了传统的“图像质量越精细越好”的片面观点,而是依据视线的主方向、视线在场景物体表面的停留时间、物体离视点的远近和物体在画面上的投影区域的大小等因素来决定物体应选择的细节层次,以达到实时显示图形的目的。另外,通过对场景中每个图形对象的重要性进行分析,使得最重要的图形对象得以进行较高质量的绘制,而不重要的图形对象则采用较低质量的绘制,在保证实时图形显示的前提下,最大程度的提高视觉效果。
目前业内流行的主流游戏引擎Unreal和Unity3d中,都已经实现了LOD技术。例如在Unity3d中,用户需要在要显示的每个物体中添加LOD Group组件,LOD Group依据显示物体在相机视图中所占的比例为层级和精度标准,在LOD Group组件中用户手动添加具体层级要显示的精度的子模型,最终将各个层级和精度的模型渲染显示出来。
目前LOD常由美术和程序人员联合通过手工方式实现,无法批量自动实现。美术人员制作各种层次细节的美术模型,程序人员通过编写算法来设置模型的层次级数和显示精度,用户设置完数据后,最终在保证用户体验的情况下,提升场景的渲染效率。
该技术常用于游戏软件中,在尽可能保证游戏大场景原汁原味的前提下,保证低配置玩家也能和所有玩家一起体验游戏所带来的乐趣。
目前,对于场景性能优化,提升渲染效率主要有以下几种主要的技术路线:
1、美术工作人员对每一套原始多面体模型手动创建几套不同模型精度的模型,将这几套模型全部导入场景中,程序运行时根据用户在显示环境中所处的位置和重要程度,选择当前渲染哪种精度模型。
2、程序人员在美术人员导入的模型上,手动设置每个模型的LOD显示级别。
3、当前模型简化算法的简化标准的用户体验较低,常用于简化单个模型或部分模型。
上述方案中,美术工作人员对每一套原始多面体模型手动创建几套不同模型精度的模型,模型级数和精度标准一经确定如要更改,需要美术人员依照新标准重新制作模型,工作量大。
美术人员将模型导入场景后,需要程序人员手工对每个模型进行LOD级数设置,工作量大。如果模型级数和精度需要更改,需要程序人员重新设置,工作量大。
现有的模型简化算法与用户交互程度较低,用户无法可视化自定义模型级数和精度。而且简化模型常用于单个模型或部分模型,无法批量简化场景中的所有模型。
基于此,解决在三维虚拟环境中模型精度高导致渲染效率低的问题,并大幅度减少美术人员和程序人员的工作量。本发明实施例提供的技术方案中,采用LOD技术和模型精简算法,用户可视化一键式操作,自行设置模型精度级数和标准,设置完成后,无需美术人员和程序人员进行任何其他后续操作,程序自动在现有模型精度的基础上生成相应级别精度更低的模型,且模型上自动挂接物体和组件,模型显示时根据所处的位置和重要程度,自动调整物体渲染的资源分配,降低非重要物体的面数和细节度,优化场景性能,提升整个场景的渲染效率。下面结合附图对本发明的具体实施方式进行说明。
图1为三维虚拟环境中的渲染显示方法实施流程示意图,如图所示,可以包括:
步骤101、在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
步骤102、根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
步骤103、调用该精度级别的模型进行渲染后显示。
下面将具体以Unity3d等为例的具体实施进行说明。
实施中所指的场景是对于要渲染的所有三维资源的集合的总称。例如一个游戏关卡就是一个三维场景,场景中一般包含人物模型、地形模型和花草树木等三维资源。
模型具体则是指三维场景中的美术模型。例如,在一个动物园场景中,要显示的一只老虎的美术资源就可以称为老虎模型。
简言之,场景是模型的容器,模型在场景中存放。
模型的精度级别是定义的,例如可以定义一级显示最清楚,此时场景中的模型的精度级别为最高精度模型,二级模型显示一般,此时场景中模型的精度级别为一般精度模型,三级模型显示最模糊,此时场景中模型的精度级别为低精度模型等。图2为不同精度级别的模型示意图,具体精度的感知差别可以如图所示。
下面对实施实施中涉及到的相机以及视锥体等概念进行说明。
在unity3d中,相机是一个场景中必不可少的元素,相机就像是人的眼睛,三维场景的呈现,最后还是要通过相机来实现的。相机这个类在3D游戏中是必不可少的,因为3D游戏是一个立体的世界,在3D游戏中的摄像机就相当于是用户的眼睛,通过它用户可以观察整个的游戏世界。相机相当于人的眼睛,人在用眼睛看物体的时候,可以从理论上的任意位置,以任意的角度观察物体,所以物体的形状会受到相机的位置、旋转角度的影响而影响。
一般来说在3D游戏中相机有三种使用方式:自由相机、第一人称相机、第三人称相机。
自由相机,这种类型的相机一般都多用在即时战略类型的游戏中,比如魔兽争霸3用的就是自由相机,这类相机可以随着鼠标的移动而移动,能够看到游戏场景中的任何位置。
第一人称的相机,这种相机相当于是眼睛看到的东西,这种相机多用在FPS类型的游戏中,像《使命的召唤》就是这类相机。
第三人称的相机,这类的相机多应用在MMORPG类型游戏中,这种类型的游戏是最最常见的游戏类型,现在大多数的网游都是这样的相机,它其实就是把第一人称的相机的位置设定在用户控制的角色身后一定距离的位置上,以便用户能看清自己操控的游戏角色,其实现和第一人称相机类似,就是在得到角色位置赋值给相机后再把相机的位置加上个偏移量就可以了。
视锥体(frustum),是指场景中相机的可见的一个锥体范围。它有上、下、左、右、近、远,共6个面组成。在视锥体内的景物可见,反之则不可见。为提高性能,只对其中与视锥体有交集的对象进行绘制。
在计算出视锥体六个面的空间平面方程后,将点坐标分别代入六个面的平面方程做比较,则可以判断点是否在视锥体内。例如:
空间平面方程可表示为:
Ax+By+Cz=0
对于点(x1,y1,z1),有:
若Ax1+By1+Cz1=0,则点在平面上;
若Ax1+By1+Cz1<0,则点在平面的一侧;
若Ax1+By1+Cz1=0,则点在平面的另一侧。
若需判断节点(例如模型)是否在视锥内,可以通过各种包围体方法求出近似包围体,对包围体上的各个点对视锥六个面作判断,存在以下三种情况:
如果所有顶点都在视锥范围内,则待判区域一定在视锥范围内;
如果只有部分顶点在视锥范围内,则待判区域与视锥体相交,同样可以视为可见;
如果所有顶点都不在视锥范围内,那么待判区域很可能不可见了,但有一种情况例外,就是视锥体在长方体以内,这种情况需要加以区分。
在了解了相机以及视锥体后,容易理解如何判断模型是否处于相机视锥体内,也容易明了模型与相机的距离的实施。
如前所述,每个模型都有若干个精度级别的模型,按照与距离的关系,例如距离越近精度级别越高等,在确定该模型所对应的精度级别后,调用该精度级别的模型进行渲染后显示即可。
这样,在三维场景中,对场景中已有的三维资源进行处理。三维场景来存放三维美术资源,相机用来控制显示哪部分美术资源,LOD则用来控制要显示的美术资源的精度,那么,在实施中,根据相机(摄像机)的视锥体即可确定场景中哪部分资源需要渲染到屏幕上给用户最终看见。
实施中,还可以进一步包括:
若模型处于相机视锥体外,不对该模型进行渲染后显示。
也即,根据相机的视锥体来确定场景中哪部分资源要渲染到屏幕上给用户最终看见,在视锥体中的美术资源才渲染,不在视锥体中的美术资源不渲染。
实施中,一个场景中会包括若干模型,既可以同时去确定每一个模型是否在视锥体内,也可以一个一个模型的去确定是否在视锥体内,也即,确定模型与相机的距离时,是同时在三维虚拟环境中的若干模型中确定处于相机视锥体内的各模型后,确定每一个模型与相机的距离;
或,是在三维虚拟环境中的各模型中分别确定处于相机视锥体内的每一个模型后,确定每一个模型与相机的距离。
下面对每一个模型的各个精度级别的模型之间的关系及实施进行说明。
在计算机图形学中,三维场景中要显示的三维模型都是由三角形组合而成,模型的组成三角形越多,模型显示越精细,系统渲染开销越大;三角形越少,模型显示越简单,系统渲染开销越小。
图3为Mesh示例1示意图,图4为Mesh示例2示意图,如图所示,Mesh(网格组件)是模型的网格,3D模型是由多边形拼接而成,一个复杂的多边形,实际上是由多个三角面拼接而成。所以一个3D模型的表面是由多个彼此相连的三角面构成。三维空间中,构成这些三角面的点以及三角形的边的集合就是Mesh。
实施中,在确定模型与相机的距离前,还可以进一步包括:
生成各精度级别的模型。
具体的,精度级别不同的模型也即包含的三角形数量不同,同样形状包含数量越多则精度越高,画面表现为越精细,具体可以参见图2所示。
实施中,生成各精度级别的模型,可以包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
实施中,最高精度模型可以是场景中原有的模型。
例如,用户将模型显示级数设置为三,在一级时精度为100%,此时显示100%的原始高精度模型;二级时设置精度为70%,此时模型的面数通过算法简化为原始模型的70%;三级时设置精度为50%,此时模型的面数通过算法简化为原始模型的50%。模型精度越低,模型显示越模糊,显卡等系统渲染开销越小。
具体实施中,可以采用边坍塌法或顶点剔除法等生成低精度的模型,如前所述,精度级别的高低与包含的三角形有关,因此,其它类似的处理也是能够达到同样的效果的。
1、边坍塌法
边坍塌法的思想是将相邻的几个三角形通过删除共用边的方式来合并三角形,将多个三角形变成一个三角形,最终达到精简模型的目的。
图5为边坍塌法效果示意图,如图所示,在将图5左边的图像处理为右边的图形时,选择u和v两个顶点(边uv),使顶点u“移动”(“坍塌”)到另一个顶点是v。实现的步骤:
1.去除所有既包含顶点u又包含顶点v的三角形(即去除所有以uv为边的三角形)。
2.更新所有剩下的三角形,把所有用到顶点u的地方都用顶点v代替。
3.移除顶点u。
重复以上的过程,直到多边形的数量达到了预期数量。每一次重复的过程中,通常会移除一个顶点、两个面、三条边。
2、顶点去除法
图6为顶点去除法效果示意图,如图所示,在将图6左边的图像处理为右边的图形时,对每一个顶点进行分析判断,如果满足条件,则将其删除,对形成的空洞三角化。
实施中,在确定模型与相机的距离前,还可以进一步包括:
将高精度级别的模型上的组件和/或物体挂接于相应的模型。
具体的,在Unity3d中,场景的组成单元为物体,物体上的功能(例如物理碰撞,自动寻路功能等)通过挂接相应组件来实现。组件(Component)、物体(GameObject)是Unity3d引擎中的名词。组件是模型上附带的实现其他功能(例如检测碰撞、自动寻路功能等)的代码的简称;物体是unity3d场景中的基本单元。
一个美术资源模型导入unity3d中后就是一个物体。物体可以有子物体。将组件和物体挂接于模型上,其目的是在unity3d中,为了保证程序逻辑和美术资源的完整性,将高精度模型上附有的原有资源(原有的组件和子模型)都原封不动的拷贝到新生成的低精度模型上。
挂接是指将组件等依附到场景物体上,其作用是将组件和场景物体关联起来,保证组件的功能运行于这个场景物体上。可以在Unity3d中通过手动拖放到场景模型上,也可以通过代码运行时给场景物体添加。例如有个组件代码其功能是控制物体隐藏,将该组件拖放到场景物体A上,然后运行程序,物体A就隐藏了,如果不拖放该组件到物体A上,运行程序,物体A就可见。
实施中,所述精度级别和/或所需的各级别精度的模型数量是根据用户需要设置的。
由上述实施可见,在Unity3d中,目前通过手动的方法来实现LOD技术,无法自动实现LOD技术,而在上面的处理过程中,可以通过程序代码自动生成各种精度级别的模型,用于后续的渲染显示,因此可以通过程序代码实现LOD技术,不需要手动设置,从而“自动”实现LOD技术。
下面通过实例来进行说明。
图7为场景渲染显示实施流程示意图,假设在一个场景中,包括若干模型(假设包括:模型A、模型B、模型C;模型精度级别由低到高依次分别有:精度I、精度II、精度III),则如图所示,可以如下:
步骤701、用户选择模型级数和精度。
具体的,假设:用户选择自己需要的模型的精度III,其它级别为:精度I、精度II。
步骤702、遍历场景中所有模型。
步骤703、批量生成对应精度的模型,并将组件和物体挂接到模型上。
具体的,生成对应精度III的模型A、模型B、模型C,精度III的模型A、模型B、模型C上存在组件和物体;
批量生成对应精度I的模型A、模型B、模型C,并将组件和物体挂接到对应的模型A、模型B、模型C;
批量生成对应精度II的模型A、模型B、模型C,并将组件和物体挂接到对应的模型A、模型B、模型C。
步骤704、程序自动将不同精度的模型对应到LOD Group中不同的级别。
具体的,对于LOD Group,lod的原理就是利用相机离模型的远近来计算显示多少精度的模型,具体使用可以如下:
1、首先建立一个空物体;
2、然后将准备的高模和简模(可以多个简模)放到他的子物体里;
3、在空物体上添加一个LOD Group;
4、图例滑条100%是高模,有几个不同度模型就算几个级别;
5、将对应的模型拖到渲染组。
下面设定相机,设定相机时,相机的位置可以由用户根据需求来具体设置,设置好以后,确定相机的视锥体,然后继续下面流程:
步骤705、判断是否在视锥体范围内,是则转入步骤706,否则结束。
步骤706、判断各模型距离相机的距离。
步骤707、根据距离调用对应精度级别的模型。
例如:
模型B距离为近,调用对应精度级别最高的精度III的模型B。
模型A距离为中,调用对应精度级别为中的精度II的模型A。
模型C距离为远,调用对应精度级别最低的精度I的模型C。
步骤708、对模型渲染绘制,显示。
上述实施中,用户选择场景,根据需求选择要显示的模型级数,并依据级数设置模型简化的精度范围(可采用常用的边坍塌法或顶点剔除法)生成低精度的模型,并将组件和物体挂接于模型上。然后,对于所有模型,首先判断是否在摄像机的视锥体范围内,如果不在,不进行渲染。对于在相机视锥体内的模型,应用LOD技术,判断相机与要显示模型之间的距离。根据距离的远近,调用细节层次模型,远距离调用精度低的模型,近距离调用精度高的模型,最终在屏幕上渲染出来。
基于同一发明构思,本发明实施例中还提供了一种三维虚拟环境中的渲染显示装置,由于该装置解决问题的原理与一种三维虚拟环境中的渲染显示方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图8为三维虚拟环境中的渲染显示装置结构示意图,如图所示,可以包括:
距离确定模块801,用于在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
精度级别确定模块802,用于根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
渲染显示模块803,用于调用该精度级别的模型进行渲染后显示。
实施中,距离确定模块进一步用于确定模型与相机的距离时,是同时在三维虚拟环境中的若干模型中确定处于相机视锥体内的各模型后,确定每一个模型与相机的距离;或,是在三维虚拟环境中的各模型中分别确定处于相机视锥体内的每一个模型后,确定每一个模型与相机的距离。
实施中,渲染显示模块进一步用于若模型处于相机视锥体外,不对该模型进行渲染后显示。
实施中,进一步包括:
模型生成模块804,用于在确定模型与相机的距离前,生成各精度级别的模型。
实施中,模型生成模块进一步用于在确定模型与相机的距离前,将高精度级别的模型上的组件和/或物体挂接于相应的模型。
实施中,模型生成模块进一步用于在生成各精度级别的模型时,包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
实施中,模型生成模块进一步用于根据用户需要设置所述精度级别和/或所需的各级别精度的模型数量。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
在实施本发明实施例提供的技术方案时,可以按如下方式实施。
一种计算机可读存储介质,包括与具有显示器的便携电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以如下所述的方法:
在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
调用该精度级别的模型进行渲染后显示。
实施中,确定模型与相机的距离时,是同时在三维虚拟环境中的若干模型中确定处于相机视锥体内的各模型后,确定每一个模型与相机的距离;
或,是在三维虚拟环境中的各模型中分别确定处于相机视锥体内的每一个模型后,确定每一个模型与相机的距离。
实施中,进一步包括:
若模型处于相机视锥体外,不对该模型进行渲染后显示。
实施中,在确定模型与相机的距离前,进一步包括:
生成各精度级别的模型。
实施中,在确定模型与相机的距离前,进一步包括:
将高精度级别的模型上的组件和/或物体挂接于相应的模型。
实施中,生成各精度级别的模型,包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
实施中,所述精度级别和/或所需的各级别精度的模型数量是根据用户需要设置的。
综上所述,在本发明实施例提供的技术方案中,用户将可以通过一键式操作,自主设置模型精度标准,输入后程序动态生成场景中所有模型的相应精度标准的模型,且模型上自动挂接相应的物体和组件,极大的节省美术人员和程序人员的工作量。在场景渲染时采用LOD技术,让系统根据模型距离相机的远近和重要程度选择渲染相应精度标准的模型,优化场景性能,提升整个场景的渲染效率。方案可以通过算法批量动态生成各种不同精度的模型,并通过LOD技术渲染显示。相比传统方式,用户通过简单的界面操作,自定义精度标准,动态生成不同精度的模型,节省美术和程序人员工作量,并提升系统的渲染效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种三维虚拟环境中的渲染显示方法,其特征在于,包括:
在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
调用该精度级别的模型进行渲染后显示。
2.如权利要求1所述的方法,其特征在于,在确定模型与相机的距离前,进一步包括:
生成各精度级别的模型。
3.如权利要求2所述的方法,其特征在于,在确定模型与相机的距离前,进一步包括:
将高精度级别的模型上的组件和/或物体挂接于相应的模型。
4.如权利要求2或3所述的方法,其特征在于,生成各精度级别的模型,包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
5.如权利要求4所述的方法,其特征在于,所述精度级别和/或所需的各级别精度的模型数量是根据用户需要设置的。
6.一种三维虚拟环境中的渲染显示装置,其特征在于,包括:
距离确定模块,用于在三维虚拟环境中的模型处于相机视锥体内时,确定模型与相机的距离;
精度级别确定模块,用于根据距离与精度级别的对应关系,确定该模型所对应的精度级别;
渲染显示模块,用于调用该精度级别的模型进行渲染后显示。
7.如权利要求6所述的装置,其特征在于,进一步包括:
模型生成模块,用于在确定模型与相机的距离前,生成各精度级别的模型。
8.如权利要求7所述的装置,其特征在于,模型生成模块进一步用于在确定模型与相机的距离前,将高精度级别的模型上的组件和/或物体挂接于相应的模型。
9.如权利要求6或7所述的装置,其特征在于,模型生成模块进一步用于在生成各精度级别的模型时,包括:
确定最高级别的精度的模型;
依据所需的各级别精度的模型数量,按照简化模型依次生成确定各级别的精度的模型。
10.如权利要求9所述的装置,其特征在于,模型生成模块进一步用于根据用户需要设置所述精度级别和/或所需的各级别精度的模型数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710054166.5A CN106910236A (zh) | 2017-01-22 | 2017-01-22 | 一种三维虚拟环境中的渲染显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710054166.5A CN106910236A (zh) | 2017-01-22 | 2017-01-22 | 一种三维虚拟环境中的渲染显示方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106910236A true CN106910236A (zh) | 2017-06-30 |
Family
ID=59206657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710054166.5A Pending CN106910236A (zh) | 2017-01-22 | 2017-01-22 | 一种三维虚拟环境中的渲染显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106910236A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389245A (zh) * | 2018-02-13 | 2018-08-10 | 鲸彩在线科技(大连)有限公司 | 动画场景的渲染方法、装置、电子设备和可读存储介质 |
CN108470368A (zh) * | 2018-03-14 | 2018-08-31 | 北京奇艺世纪科技有限公司 | 一种虚拟场景中渲染对象的确定方法、装置及电子设备 |
CN109493420A (zh) * | 2018-11-16 | 2019-03-19 | 北京华电天仁电力控制技术有限公司 | 一种基于Unity3D的电厂三维可视化展示方法 |
CN109739648A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | 动画播放控制方法、装置、设备及存储介质 |
CN110096143A (zh) * | 2019-04-04 | 2019-08-06 | 贝壳技术有限公司 | 一种三维模型的关注区确定方法及装置 |
CN110880204A (zh) * | 2019-11-21 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 虚拟植被显示方法、装置、计算机设备及存储介质 |
CN111062638A (zh) * | 2019-12-26 | 2020-04-24 | 珠海金山网络游戏科技有限公司 | 一种项目资源的处理方法及装置 |
CN111105491A (zh) * | 2019-11-25 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
CN111739135A (zh) * | 2020-07-30 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
CN111915709A (zh) * | 2019-05-10 | 2020-11-10 | 阿里巴巴集团控股有限公司 | 渲染方法及装置 |
CN112164140A (zh) * | 2020-09-18 | 2021-01-01 | 华航环境发展有限公司 | 三维体数据模型构建方法 |
CN112541967A (zh) * | 2020-12-10 | 2021-03-23 | 杭州和利时自动化有限公司 | 机柜控制仿真方法、装置、设备及计算机可读存储介质 |
CN112955935A (zh) * | 2018-10-31 | 2021-06-11 | 斯纳普公司 | 3d化身渲染 |
CN113436315A (zh) * | 2021-06-27 | 2021-09-24 | 云智慧(北京)科技有限公司 | 一种基于WebGL的变电站三维漫游实现方法 |
CN113538698A (zh) * | 2020-04-16 | 2021-10-22 | 同济大学 | 模型显示装置以及模型显示方法 |
CN114372978A (zh) * | 2022-02-10 | 2022-04-19 | 北京安德医智科技有限公司 | 一种超声造影影像分类方法及装置、电子设备和存储介质 |
CN114581595A (zh) * | 2021-12-13 | 2022-06-03 | 北京市建筑设计研究院有限公司 | 渲染配置信息的生成方法、装置、电子设备及存储介质 |
CN114842122A (zh) * | 2022-07-01 | 2022-08-02 | 北京百度网讯科技有限公司 | 模型渲染方法、装置、设备及存储介质 |
CN116069435A (zh) * | 2023-03-14 | 2023-05-05 | 南京维赛客网络科技有限公司 | 在虚拟场景中动态加载图片资源的方法、系统及存储介质 |
CN116503536A (zh) * | 2023-06-27 | 2023-07-28 | 深圳臻像科技有限公司 | 一种基于场景分层的光场渲染方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414496A (zh) * | 2002-11-13 | 2003-04-30 | 北京航空航天大学 | 一种通用虚拟环境漫游引擎计算机系统 |
US8665261B1 (en) * | 2009-10-02 | 2014-03-04 | Pixar | Automatic spatial correspondence disambiguation |
CN104766360A (zh) * | 2015-03-09 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种三维空间数据的渲染方法及装置 |
CN104867174A (zh) * | 2015-05-08 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种三维地图渲染显示方法及系统 |
CN104933758A (zh) * | 2015-05-20 | 2015-09-23 | 北京控制工程研究所 | 一种基于osg三维引擎的空间相机三维成像仿真方法 |
-
2017
- 2017-01-22 CN CN201710054166.5A patent/CN106910236A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1414496A (zh) * | 2002-11-13 | 2003-04-30 | 北京航空航天大学 | 一种通用虚拟环境漫游引擎计算机系统 |
US8665261B1 (en) * | 2009-10-02 | 2014-03-04 | Pixar | Automatic spatial correspondence disambiguation |
CN104766360A (zh) * | 2015-03-09 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种三维空间数据的渲染方法及装置 |
CN104867174A (zh) * | 2015-05-08 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种三维地图渲染显示方法及系统 |
CN104933758A (zh) * | 2015-05-20 | 2015-09-23 | 北京控制工程研究所 | 一种基于osg三维引擎的空间相机三维成像仿真方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389245A (zh) * | 2018-02-13 | 2018-08-10 | 鲸彩在线科技(大连)有限公司 | 动画场景的渲染方法、装置、电子设备和可读存储介质 |
CN108470368A (zh) * | 2018-03-14 | 2018-08-31 | 北京奇艺世纪科技有限公司 | 一种虚拟场景中渲染对象的确定方法、装置及电子设备 |
CN112955935A (zh) * | 2018-10-31 | 2021-06-11 | 斯纳普公司 | 3d化身渲染 |
CN109493420A (zh) * | 2018-11-16 | 2019-03-19 | 北京华电天仁电力控制技术有限公司 | 一种基于Unity3D的电厂三维可视化展示方法 |
CN109739648A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | 动画播放控制方法、装置、设备及存储介质 |
CN110096143A (zh) * | 2019-04-04 | 2019-08-06 | 贝壳技术有限公司 | 一种三维模型的关注区确定方法及装置 |
CN110096143B (zh) * | 2019-04-04 | 2022-04-29 | 贝壳技术有限公司 | 一种三维模型的关注区确定方法及装置 |
CN111915709A (zh) * | 2019-05-10 | 2020-11-10 | 阿里巴巴集团控股有限公司 | 渲染方法及装置 |
WO2020228592A1 (zh) * | 2019-05-10 | 2020-11-19 | 阿里巴巴集团控股有限公司 | 渲染方法及装置 |
CN110880204A (zh) * | 2019-11-21 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 虚拟植被显示方法、装置、计算机设备及存储介质 |
CN111105491A (zh) * | 2019-11-25 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 场景渲染方法、装置、计算机可读存储介质和计算机设备 |
CN111062638A (zh) * | 2019-12-26 | 2020-04-24 | 珠海金山网络游戏科技有限公司 | 一种项目资源的处理方法及装置 |
CN111062638B (zh) * | 2019-12-26 | 2023-09-12 | 珠海金山数字网络科技有限公司 | 一种项目资源的处理方法及装置 |
CN113538698A (zh) * | 2020-04-16 | 2021-10-22 | 同济大学 | 模型显示装置以及模型显示方法 |
CN111739135A (zh) * | 2020-07-30 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
CN111739135B (zh) * | 2020-07-30 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 虚拟角色的模型处理方法、装置及可读存储介质 |
CN112164140A (zh) * | 2020-09-18 | 2021-01-01 | 华航环境发展有限公司 | 三维体数据模型构建方法 |
CN112541967A (zh) * | 2020-12-10 | 2021-03-23 | 杭州和利时自动化有限公司 | 机柜控制仿真方法、装置、设备及计算机可读存储介质 |
CN113436315A (zh) * | 2021-06-27 | 2021-09-24 | 云智慧(北京)科技有限公司 | 一种基于WebGL的变电站三维漫游实现方法 |
CN114581595A (zh) * | 2021-12-13 | 2022-06-03 | 北京市建筑设计研究院有限公司 | 渲染配置信息的生成方法、装置、电子设备及存储介质 |
CN114372978B (zh) * | 2022-02-10 | 2022-06-28 | 北京安德医智科技有限公司 | 一种超声造影影像分类方法及装置、电子设备和存储介质 |
CN114372978A (zh) * | 2022-02-10 | 2022-04-19 | 北京安德医智科技有限公司 | 一种超声造影影像分类方法及装置、电子设备和存储介质 |
CN114842122A (zh) * | 2022-07-01 | 2022-08-02 | 北京百度网讯科技有限公司 | 模型渲染方法、装置、设备及存储介质 |
CN116069435A (zh) * | 2023-03-14 | 2023-05-05 | 南京维赛客网络科技有限公司 | 在虚拟场景中动态加载图片资源的方法、系统及存储介质 |
CN116503536A (zh) * | 2023-06-27 | 2023-07-28 | 深圳臻像科技有限公司 | 一种基于场景分层的光场渲染方法 |
CN116503536B (zh) * | 2023-06-27 | 2024-04-05 | 深圳臻像科技有限公司 | 一种基于场景分层的光场渲染方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106910236A (zh) | 一种三维虚拟环境中的渲染显示方法及装置 | |
CN100456328C (zh) | 三维视频游戏系统 | |
US20140302930A1 (en) | Rendering system, rendering server, control method thereof, program, and recording medium | |
US7019742B2 (en) | Dynamic 2D imposters of 3D graphic objects | |
CN110111417A (zh) | 三维局部人体模型的生成方法、装置及设备 | |
CN110090440B (zh) | 虚拟对象显示方法、装置、电子设备及存储介质 | |
CN102819855B (zh) | 二维图像的生成方法及装置 | |
CN101477701A (zh) | 面向AutoCAD和3DS MAX软件的植入式真三维立体渲染方法 | |
CN110333924A (zh) | 一种图像渐变调整方法、装置、设备及存储介质 | |
CN101477700A (zh) | 面向Google Earth与Sketch Up的真三维立体显示方法 | |
CN106204713A (zh) | 静态合并处理方法和装置 | |
CN106780707A (zh) | 模拟场景中全局光照的方法和装置 | |
CN105184843B (zh) | 一种基于OpenSceneGraph的三维动画制作方法 | |
CN110400372A (zh) | 一种图像处理的方法及装置、电子设备、存储介质 | |
US20110018890A1 (en) | Computer graphics method for creating differing fog effects in lighted and shadowed areas | |
CN101477702A (zh) | 计算机显卡的植入式真三维立体驱动方法 | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
KR20230145430A (ko) | 가상 환경에서의 좌표축 표시 방법 및 장치, 그리고 단말기 및 매체 | |
JP2001112985A (ja) | パチンコ機の画像表示装置 | |
CN107230249A (zh) | 阴影渲染方法和装置 | |
JP3989396B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2008027064A (ja) | プログラム、情報記録媒体および画像生成システム | |
JP2010029397A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2009129167A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
CN109859294A (zh) | 一种vr动漫人物三维建模优化方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170630 |