CN105912234B - 虚拟场景的交互方法和装置 - Google Patents
虚拟场景的交互方法和装置 Download PDFInfo
- Publication number
- CN105912234B CN105912234B CN201610210562.8A CN201610210562A CN105912234B CN 105912234 B CN105912234 B CN 105912234B CN 201610210562 A CN201610210562 A CN 201610210562A CN 105912234 B CN105912234 B CN 105912234B
- Authority
- CN
- China
- Prior art keywords
- interaction
- altitude information
- virtual scene
- image
- information
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种虚拟场景的交互方法,包括:通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,触发进行图像的实时更新,多层级交互贴图构成所述图像中的远景和近景;响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息;通过所述扩散的高度数据和法线信息混合作用到虚拟场景中,得到所述虚拟场景中实时更新呈现的图像。此外,还提供了一种与该方法匹配的虚拟场景的交互装置。上述虚拟场景的交互方法和装置能够降低需要计算的像素数目,进而大幅降低性能开销,增强虚拟场景的性能。
Description
技术领域
本发明涉及虚拟技术领域,特别涉及一种虚拟场景的交互方法和装置。
背景技术
随着计算机图形技术的发展,虚拟场景的实现得到越来越多的应用,例如,游戏中的水体交互场景,通过虚拟场景为用户提供可交互渲染的功能,以通过用户与虚拟场景中的一些元素进行交互来改变虚拟场景中某些部分的外形和观感。
现有的虚拟场景中的图像是采用一个交互贴图实现的,其尺寸非常大,如2048*2048。仅采用的这一个交互贴图覆盖了虚拟场景中的整个交互区域,对于整个交互区域而言,单位面积对应的精度是均匀的。
但是,由于交互贴图的尺寸过大,而需要计算的像素数目是与交互贴图的尺寸成正比的,其所对应的数值也非常大,所以对于虚拟场景的性能有非常致命的影响。例如,打开虚拟场景之后帧率大幅下降。
发明内容
基于此,有必要提供一种虚拟场景的交互方法,所述方法能够降低需要计算的像素数目,进而大幅降低性能开销,增强虚拟场景的性能。
此外,还有必要提供一种虚拟场景的交互装置,所述装置能够降低需要计算的像素数目,进而大幅降低性能开销,增强虚拟场景的性能。
一种虚拟场景的交互方法,包括:
通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,触发进行图像的实时更新,多层级交互贴图构成所述图像中的远景和近景;
响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息;
通过所述扩散的高度数据和法线信息混合作用到所述虚拟场景中,得到所述虚拟场景中实时更新呈现的图像。
一种虚拟场景的交互装置,包括:
更新触发模块,用于通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,触发进行图像的实时更新,多层级交互贴图构成所述图像中的远景和近景;
运算模块,用于响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息;
图像获得模块,用于通过所述扩散的高度数据和法线信息混合作用到所述虚拟场景中,得到所述虚拟场景中实时更新呈现的图像。
为解决上述技术问题,将采用如下技术方案:
虚拟场景中,是通过预置的各层级交互贴图进行渲染得到图像的,通过触发实时更新来变换虚拟场景中的图像,其中,在触发进行图像的实时更新时,以图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息,由此得到虚拟场景中实时更新呈现的图像,由于图像中的远景和近景是由多层级交互贴图构成的,而并不仅限于一张交互贴图,这将使得图像中单位区域存在着高精度,也存在着较低精度,进而将极大地降低虚拟场景中需要计算的像素数目,通过几个交互贴图,即各层交互贴图来分担现有的一个交互贴图,极大地降低了交互贴图的尺寸,从而大幅降低性能开销,增强虚拟场景的性能。
附图说明
图1是本发明实施例提供的一种设备的结构示意图;
图2是一个实施例中虚拟场景的交互方法的流程图;
图3是图2中响应于图像的实时更新,以图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息的方法流程图;
图4是图3中根据初始高度数据更新得到响应实时更新对应的高度数据的方法流程图;
图5是图3中对更新的高度数据进行衰减扩散运算得到扩散的高度数据的方法流程图;
图6是图2中通过扩散的高度数据和法线信息混合作用到虚拟场景中,得到虚拟场景中实时更新呈现的图像的方法流程图;
图7是现有的虚拟场景的交互中覆盖的交互范围示意图;
图8是本发明的虚拟场景的交互中覆盖的交互范围示意图;
图9是一个实施例中虚拟场景的交互装置的结构示意图;
图10是图9中运算模块的结构示意图;
图11是图10中高度更新单元的结构示意图;
图12是图10中衰减扩散单元的结构示意图;
图13是图9中图像获得模块的结构示意图。
具体实施方式
体现本发明特征与优点的典型实施方式将在以下的说明中详细叙述。应理解的是本发明能够在不同的实施方式上具有各种的变化,其皆不脱离本发明的范围,且其中的说明及图示在本质上是当作说明之用,而非用以限制本发明。
如前所述的,虚拟场景中,以水体交互为例,水体交互是游戏渲染中非常重要的一部分,游戏的用户,即玩家在水里游泳或者施放技能时,需进行水波的逼真模拟。
现有的虚拟场景中,为保证精度,常常采用大尺寸的交互贴图,例如,2048*2048的交互贴图。在虚拟场景所进行的实时更新中,涉及大量的全屏操作,因此需要计算的像素数目非常多,进而带来较为严重的性能瓶颈。
基于此,为降低虚拟场景中进行实时更新所需要计算的像素数目,避免性能瓶颈,特提出了一种虚拟场景的交互方法,该虚拟场景的交互方法由计算机程序实现,与之相对应的,所构建的虚拟场景的交互装置则被存储于带有屏幕的设备中,以在该设置中运行,进而实现虚拟场景的交互。
图1示出了本发明实施例提供的一种设备的结果,该设备100只是一个适用本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该设备100也不能解释为需要依赖于或具有图示的示例性的设备100中的一个或者多个部件的组合。
如图1所示,设备100包括处理器110、存储器120和系统总线130。包括存储器120和处理器110在内的各种组件将连接到系统总线130上。处理器110是一个用于通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器120是一个用于临时或永久性存储计算机程序或数据的物理设备。
其中,存储器120中存储了相应的程序指令;处理器110将执行存储器120中的程序指令,侦听输入的各种指令,并对侦听得到的指令进行响应。
设备100还包括各种输入接口170、输入装置140,以实现各种操作的输入。其中,该输入装置140可以是触摸屏幕、按键、键盘和鼠标等至少一种。
设备100还包括存储设备180,存储设备180可以从多种计算机可读存储介质中选择,计算机可读存储介质是指可以进行访问的任何可利用的介质,包括移动的和固定的两种存储介质。例如,计算机可读存储介质,包括但不限于闪速存储器(微型SD卡)、CD-ROM、数字通用光盘(DVD)或其它光盘、磁带盒、磁带存储或其它存储设备、或者可用于存储所需信息并可访问的任何其它存储介质。
如上面所详细描述的,适用本发明的设备100将执行虚拟场景的交互中的指定操作,即通过处理器110运行存储器120中的程序指令的形式执行该指定操作,以实现设备100中虚拟场景中交互的控制。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
在一个实施例中,具体的,该虚拟场景的交互方法如图2所示,包括:
步骤210,通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,触发进行图像的实时更新,多层级交互贴图构成图像中的远景和近景。
虚拟场景可以是水体交互等各种可交互渲染场景,例如,海面、江面或者湖泊中可对各角色进行操控的场景。虚拟场景中各帧所对应的图像是通过预置的各层级交互贴图进行渲染所得到的。
换而言之,虚拟场景中图像是多个层级的交互贴图构成的,所指的多个层级即为多个精度,进而所获得的虚拟场景中图像的精度将是不均匀的,某些区域具备高精度,而某此区域的精度则较低。
各层级交互贴图构成虚拟场景中的图像,也就是说,虚拟场景的图像中分布了多个交互区域,每一交互区域对应一个交互贴图。相对视点,即进行图像内容拍摄的摄像机,距离较近的交互区域将构成图像中的近景,距离较远的交互区域将构成图像中的远景。
其中,预设了一距离阈值,与视点之间的距离小于此距离阈值的交互区域将视为图像中的近景,与视频之间的距离大于此距离阈值的交互区域将视为图像中的远景。
虚拟场景是采用透视投影所形成的三维场景,其最为基本的性质是近大远小,近景需要很高的精度,而远景则因为透视的原因而并不需要很高的精度。
因此,通过层级交互贴图构成虚拟场景中图像的远景和近景,能够使用很高精度的交互贴图构成图像中的近景,使用较低精度的交互贴图构成图像中的远景,进而避免了近景所对应的交互贴图中由于精度高而造成不必要的浪费,显存的消耗。
虚拟场景中实时更新的触发进行指的是用户与虚拟场景中的交互,例如,虚拟场景中图像的转换触发或者用户操作的触发,此过程将会引起渲染内容的改变,所渲染得到的图像会实时更新。
步骤230,响应于图像的实时更新,以图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息。
以虚拟场景所呈现的图像中高度数据作为初始进行运算,以输出相应的运算结果,即扩散的高度数据和法线信息。
图像中的高度数据用于表征图像中像素所对应的高度,由此来得到图像中各像素的高度分布。扩散的高度数据则是进行虚拟场景的实时更新所得到的图像中,像素对应的高度,与之相对应的,也将由此得到实时更新的图像中各像素的高度分布。
所指的运算则包括高度的衰减扩散运算和法线的转换。虚拟场景中交互会对图像中的高度产生影响,因此,将以图像中的高度数据为初始进行运算,进而实现图像实时更新的响应。
另一方面,在实现图像中高度更新的同时,由于图像中的光线也是随着高度而实时变化的,因此,还需获得相应的法线信息,以便于为虚拟场景提供速影的光影效果。
步骤250,通过扩散的高度数据和法线信息混合作用到虚拟场景中,得到虚拟场景中实时更新呈现的图像。
通过扩散的高度数据和法线信息的渲染来完成虚拟场景中的实时更新,获得当前所呈现的图像,由此,将针对虚拟实现场景中的交互进行了实时更新。
由上述描述可知,虚拟场景中进行的交互由于远景和近景所采用的交互贴图中,并未保持高精度,而仅在近景采集高精度的贴图,因此极大地降低了完成实时更新所涉及全屏操作中的像素数目,例如,以图像中高度数据为初始所进行的运算,该高度数据是与图像中的像素相对应的,将明显降低显存开销,并提高了性能。
在如上所述的过程中,与现有的解决方案相比较,通过在虚拟场景,例如,水体交互中,首次引入多层级的概念,以此实现虚拟场景中的交互,能够使交互贴图的精度得到充分利用,避免了现有解决方案中精度浪费的缺陷,并且提高了近景所对应的精度,在此前提下成功降低交互贴图的尺寸,从而避免了由于交互贴图尺寸太大而带来的诸多问题。
进一步的,在一个实施例中,如图3所示,步骤230包括:
步骤231,获取图像的高度数据,以图像的高度数据作为初始高度数据。
如前所述的,图像的高度数据用于表征图像中各像素所对应的高度,因此,所获取图像的高度数据可通过预置格式承载,例如,通过高度图来承载高度数据,所对应的格式可以是RGBA16f。
步骤233,根据初始高度数据更新得到响应实时更新对应的高度数据。
根据初始高度数据为虚拟场景中触发进行的实时更新,对相应像素进行高度更新,以得到响应实时更新对应的高度数据。
触发实时更新的交互将引起部分虚拟场景中部分像素的高度改变,因此,将以当前图像中高度数据为初始进行更新。
步骤235,对更新的高度数据进行衰减扩散运算得到扩散的高度数据。
基于虚拟场景中元素的特性,所引起的像素高度改变也将带来周围其它像素的高度改变,但由于交互并不是直接作用于周围其它像素的,因此,相对直接引起高度改变的像素而言,周围其它像素的高度改变将是衰减扩散运算而得到的,因此,需要对高度数据进行衰减扩散运算,进而得到精准体现虚拟场景中各像素高度的高度数据,即进行衰减扩散运算所输出的扩散的高度数据。
具体的,每一个像素的引起的变动都会扩散到周围邻域的像素,对于当前要处理的像素(i,j),其邻域分布如下表所示:
i-1,j-1 | i-1,j | i-1,j+1 |
i,j-1 | i,j | i,j+1 |
i+1,j-1 | i+1,j | i+1,j+1 |
相应的衰减扩散运算可以通过下述公式实现:
H(i,j)=(H(i-1,j-1)+H(i-1,j+1)+H(i+1,j-1)+H(i+1,j+1)+H(i-1,j)+H(i+1,j)+H(i,j-1)+H(i,j+1))/8-H'(i,j)
其中,H表示像素的高度,(i,j)用于表征像素,H'为上一帧图像中像素的高度。
步骤237,根据扩散的高度数据生成法线信息。
光线照射于虚拟场景中,因此,虚拟场景中各像素的高度改变也将随之带来法线的改变,因此,需要根据扩散的高度数据生成相应的法线信息,进而得到具备逼真光影效果的虚拟场景。
进一步的,在本实施例中,如图4所示,步骤233包括:
步骤2331,通过虚拟场景触发进行的图像实时更新,监听得到图像中交互节点触发的运动。
如前所述的,虚拟场景中图像实时更新的触发是通过虚拟场景中交互的触发来实现的。虚拟场景所呈现的图像中,为需要交互的元素都绑定了交互节点,以通过交互节点产生大小和范围不同的交互,因此,需要交互的一元素上可绑定一个或者多个交互节点。
例如,通过虚拟场景所实现的游戏中,玩家控制的角色和非玩家控制的角色(NPC)都默认添加至少一个交互节点,而虚拟场景中的技能和特效将根据需求进行交互节点的配置。
又例如,一个角色可以有多个交互节点,并分布于身体和武器上。
由此通过交互节点便能够触发虚拟场景中的交互,进而通过虚拟场景中图像的实时更新来更新交互所带来的影响,所指的交互所带来的影响即为交互节点触发的运动对周围元素的影响。
步骤2333,根据交互节点对应的配置信息得到交互节点与虚拟场景中元素相交时发射的交互点。
每一交互节点均有对应的配置信息,该配置信息用于对产生的交互进行控制,例如,控制交互的范围等。在一个实施例中,交互节点实质为绑定在某个点上的球体,通过该球体来判定其与虚拟场景中的其它元素的相交,以此为依据来获得其对其它元素的交互产生的影响。
例如,进行水体交互的虚拟场景中,通过作为球体的交互节点,能够判断其与水体是否相交,进而获得其对水体所产生的不同影响。
在监听得到图像中交互节点触发的运动时,获取运动的交互节点与元素相交时发射的交互点,以通过交互点来精准更新当前触发的交互对其它元素的影响。
步骤2335,按照交互点更新初始高度数据得到响应实时更新对应的高度数据。
由交互点在虚拟场景中的位置获得其所对应的高度,进而以初始高度数据为基准进行高度更新得到响应实时更新对应的高度数据。
响应实时更新对应的高度数据反映了当前触发的交互对交互节点所造成的影响。
在一个实施例中,步骤235如图5所示,包括:
步骤2351,将更新的高度数据载入第一交互缓冲区,第一交互缓冲区中近景对应的高度数据存储于红色和绿色通道,远景对应的高度数据存储于蓝色和Alpha通道。
如前所述的,为实现虚拟场景中图像的实时更新,例如,将呈现的当前帧图像实时更新为下一帧图像,或者更新图像中引起变动的交互点,由此,以当前图像中的高度数据作为初始高度数据来实现高度数据的更新。
此时,将更新的高度数据载入第一交互缓冲区(交互Buffer),与前述相对应的,虚拟场景中的图像分为近景和远景两大部分,相对应的,高度数据也是分别对应于近景和远景两大部分的,在第一交互缓冲区中,将以此为依据进行高度数据的存储。
具体的,近景对应的高度数据被存储于红色和绿色通道,远景对应的高度数据存储于蓝色和Alpha通道(阿尔法通道)中,以实现高度数据的分类存储,进而方便提高后续运算速度,降低性能开销。
步骤2353,在红色和绿色通道、蓝色和Alpha通道对第一交互缓冲区载入的高度数据进行衰减扩散运算得到扩散的高度数据。
对于红色和绿色通道、蓝色和Alpha通道中存储的高度数据,将分别进行衰减扩散运算。在优选的实施中,这两部分的高度数据将同时进行运算,进而在充分利用系统性能的同时大幅降低系统开销。
在一个实施例中,步骤237之后,步骤230还包括:
将法线信息载入第二交互缓冲区,第二交互缓冲区中红色和绿色通道存储近景对应的法线信息,蓝色和Alpha通道存储远景对应的法线信息。
在由高度数据生成法线信息之后,也将所得到的法线信息载入交互缓冲区(交互Buffer),即区别于第一交互缓冲区的另一交互缓冲区。
与高度数据相类似的,对于法线信息在第二交互缓冲区中的存储,也是以其所对应的近景和远景为依据进行的。
具体的,近景对应的法线信息被存储于第二交互缓冲区中的红色和绿色通道,远景对应的法线信息则被存储于第二交互缓冲区中的蓝色和Alpha通道中。
在一个实施例中,步骤250如图6所示,包括:
步骤251,根据扩散的高度数据输出与各层级交互贴图匹配的高度贴图,并将各高度贴图渲染至虚拟场景中。
步骤253,根据法线信息输出法线图,并将法线图和虚拟场景中的法线混合后作用到虚拟场景中,以获得虚拟场景中实时更新呈现的图像。
数据在虚拟场景中的渲染包括高度数据的渲染和法线的更新,以得到与当前触发的交互相符且光影效果逼真的虚拟场景图像。
一方面,对于扩散的高度数据,将以预置的格式输出,以得到各层级交互贴图匹配的高度贴图,换而言之,所输出的高度贴图的数量是与交互贴图的数据相一致的。将各高度贴图渲染至虚拟场景就实现了各像素高度的实时更新。
在优选的实施例中,高度数据是以RGBA16F的格式输出高度贴图的。
另一方面,对于法线信息,也将以预置的格式相应输出法线图。在优选的实施例中,法线图是以RGBA的格式承载法线信息的。
例如,在水体交互中,将法线图和水面的法线进行混合后再作用到水面上,以获得真实的水波效果。
在另一个实施例中,如上所述的方法还包括:
多层级交互贴图在图像上对应的交互区域中,根据交互区域对应的精度在相邻交互区域之间进行平滑过渡。
虚拟场景中图像是由多个交互贴图形成的,因此,图像中包括了多个交互区域,每一交互区域均对应于一交互帖图。
在虚拟场景所呈现的图像中,由于交互贴图的精度并不相同,因此,导致了各交互区域之间的精度是不均匀的,交互区域相交的边缘区域存在着精度突变的缺陷,需要进行相邻交互区域之间的平滑过渡,进而以此来提高交互精度。
在一个实施例中,相邻交互区域之间的平滑过渡可以通过在相邻交互区域之间进行线性插值来实现。
如上所述的过程提供了虚拟场景中交互的实现,进而能够适用于可交互渲染中,特别是水体交互渲染。
通过如上所述的过程,采用多个交互贴图来使得虚拟场景中图像存在多个精度,进而在提高近景精度的前提下成功降低交互贴图尺寸,使得交互贴图的精度得到充分利用,从而大幅降低性能开销,增加交互范围。
以通过如上述的过程实现的水体交互为例,现有的水体交互中交互规模非常小,最多只支持几个玩家的交互,效率非常低下,其主要原因在于采用的交互贴图尺寸非常大,对于性能存在着致命影响。
而通过如上所述的过程,将大幅提升水体交互的性能和质量,采用多个小尺寸交互贴图,性能大幅提升;交互贴图的尺寸虽然降低,但质量反而有所提升。
这都得益于根据距离将交互贴图进行层线划分,三维渲染一般都采用透射投影,因此,近景保持高的交互精度,而远景的交互精度则可以大幅降低,由此也相应提高了交互范围,例如,两个层级所覆盖的交互范围将远远大于只有一个交互贴图时对应的交互范围。
例如,图7示出了现有的虚拟场景的交互中覆盖的交互范围,其覆盖的交互区域只有20米,且整个交互区域的精度都是一样的;图8则示出了本发明的交互范围,其是采用两个层线的交互贴图实现的,交互范围增大到80米,因此,能够显示看出交互范围有明显增大。
另外,现有的虚拟场景中交互贴图的尺寸为1024*1024,在采用两个层级的交互贴图之后,其尺寸则变为两个512*512,通过此方式,得以显示提供近景的精度。
而对于显存而言,现有的虚拟场景的交互中,所需要的两个交互缓冲区大小为1024*1024,共占显存12mb;采用两个层线的交互贴图之后,两个交互缓冲区的大小变为512*512,共占显存5.2mb,显存开销降低了一半。
在显存开销降低的情况,还将极大地提升了性能,即所耗费的总时间由0.42ms降低至0.17ms,性能得到了2.5倍的提升。
在一个实施例中,还相应提供一种虚拟场景的交互装置,如图9所示,包括更新触发模块310、运算模块330和图像获得模块350,其中:
更新触发模块310,用于通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,触发进行图像的实时更新,多层级交互贴图构成图像中的远景和近景。
运算模块330,用于响应于图像的实时更新,以图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息。
图像获得模块350,用于通过扩散的高度数据和法线信息混合作用到虚拟场景中,得到虚拟场景中实时更新呈现的图像。
进一步的,在本实施例中,运算模块330如图10所示,包括初始单元331、高度更新单元333、衰减扩散单元335和法线生成单元337,其中:
初始单元331,用于获取所述图像的高度数据,以所述图像的高度数据作为初始高度数据;
高度更新单元333,用于根据初始高度数据更新得到响应实时更新对应的高度数据。
衰减扩散单元335,用于对更新的高度数据进行衰减扩散运算得到扩散的高度数据。
法线生成单元337,用于根据扩散的高度数据生成法线信息。
在一个实施例中,高度更新单元333如图11所示,包括监听子单元3331、交互点发射子单元3333和高度数据更新子单3335,其中:
监听子单元3331,用于通过虚拟场景触发进行的图像实时更新,监听得到图像中交互节点触发的运动;
交互点发射子单元3333,用于根据交互节点对应的配置信息得到交互节点与虚拟场景中元素相交时发射的交互点;
高度数据更新子单元3335,用于按照交互点更新初始高度数据得到响应实时更新对应的高度数据。
在一个实施例中,衰减扩散单元335如图12所示,包括载入单元3351和运算执行单元3353,其中:
载入单元3351,用于将更新的高度数据载入第一交互缓冲区,第一交互缓冲区中近景对应的高度数据存储于红色和绿色通道,远景对应的高度数据存储于蓝色和Alpha通道。
运算执行单元3353,用于在红色和绿色通道、蓝色和Alpha通道对第一交互缓冲区域载入的高度数据进行衰减扩散运算得到扩散的高度数据。
在另一个实施例中,运算模块还包括法线转入单元,该法线载入单元用于将法线信息载入第二交互缓冲区,第二交互缓冲区中红色和绿色通道存储近景对应的法线信息,蓝色和Alpha通道存储远景对应的法线信息。
在一个实施例中,如图13所示,图像获得模块350包括渲染单元351和法线处理单元353,其中:
渲染单元351,用于根据扩散的高度数据输出与各层级交互贴图匹配的高度贴图,并将各高度贴图渲染至虚拟场景中。
法线处理单元353,用于根据法线信息输出法线图,并将法线图和虚拟场景中的法线混合后作用到虚拟场景中,以获得虚拟场景中实时更新呈现的图像。
在另一个实施例中,如上所述的装置还包括过渡模块,该过渡模块用于多层级交互贴图在图像上对应的交互区域中,根据交互区域对应的精度在相邻交互区域之间进行平滑过渡处理。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
虽然已参照几个典型实施方式描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施方式不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (14)
1.一种虚拟场景的交互方法,其特征在于,包括:
通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,通过用户与虚拟场景的交互触发进行图像的实时更新,其中,根据距离将交互贴图进行层级划分,从而多层级交互贴图构成所述图像中的远景和近景,每一交互贴图对应于所述虚拟场景的一交互区域;
响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息;
通过所述扩散的高度数据和法线信息混合作用到所述虚拟场景中,得到所述虚拟场景中实时更新呈现的图像。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息的步骤包括:
获取所述图像的高度数据,以所述图像的高度数据作为初始高度数据;
根据所述初始高度数据更新得到响应所述实时更新对应的高度数据;
对更新的所述高度数据进行衰减扩散运算得到扩散的高度数据;
根据所述扩散的高度数据生成法线信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述初始高度数据更新得到响应所述实时更新对应的高度数据的步骤包括:
通过所述虚拟场景触发进行的图像实时更新,监听得到所述图像中交互节点触发的运动;
根据所述交互节点对应的配置信息得到所述交互节点与虚拟场景中元素相交时发射的交互点;
按照所述交互点更新所述初始高度数据得到响应所述实时更新对应的高度数据。
4.根据权利要求2所述的方法,其特征在于,所述对更新的所述高度数据进行衰减扩散运算得到扩散的高度数据的步骤包括:
将更新的所述高度数据载入第一交互缓冲区,所述第一交互缓冲区中近景对应的高度数据存储于红色和绿色通道,远景对应的高度数据存储于蓝色和Alpha通道;
在所述红色和绿色通道、蓝色和Alpha通道对所述第一交互缓冲区载入的高度数据进行衰减扩散运算得到扩散的高度数据。
5.根据权利要求2所述的方法,其特征在于,所述根据所述扩散的高度数据生成法线信息的步骤之后,所述响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到响应所述实时更新对应的高度数据和法线信息的步骤还包括:
将所述法线信息载入第二交互缓冲区,所述第二交互缓冲区中红色和绿色通道存储近景对应的法线信息,蓝色和Alpha通道存储远景对应的法线信息。
6.根据权利要求1所述的方法,其特征在于,所述通过所述扩散的高度数据和法线信息得到所述虚拟场景中实时更新呈现的图像的步骤包括:
根据所述扩散的高度数据输出与各层级交互贴图匹配的高度贴图,并将各高度贴图渲染至所述虚拟场景中;
根据所述法线信息输出法线图,并将所述法线图和虚拟场景中的法线混合后作用到虚拟场景中,以获得所述虚拟场景中实时更新呈现的图像。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述多层级交互贴图在所述图像上对应的交互区域中,根据交互区域对应的精度在相邻交互区域之间进行平滑过渡处理。
8.一种虚拟场景的交互装置,其特征在于,包括:
更新触发模块,用于通过预置的各层级交互贴图进行渲染所呈现的虚拟场景图像中,通过用户与虚拟场景的交互触发进行图像的实时更新,其中,根据距离将交互贴图进行层级划分,从而多层级交互贴图构成所述图像中的远景和近景,每一交互贴图对应于所述虚拟场景的一交互区域;
运算模块,用于响应于所述图像的实时更新,以所述图像中的高度数据为初始进行运算得到扩散的高度数据和法线信息;
图像获得模块,用于通过所述扩散的高度数据和法线信息混合作用到所述虚拟场景中,得到所述虚拟场景中实时更新呈现的图像。
9.根据权利要求8所述的装置,其特征在于,所述运算模块包括:
初始单元,用于获取所述图像的高度数据,以所述图像的高度数据作为初始高度数据;
高度更新单元,用于根据所述初始高度数据更新得到响应所述实时更新对应的高度数据;
衰减扩散单元,用于对更新的所述高度数据进行衰减扩散运算得到扩散的高度数据;
法线生成单元,用于根据所述扩散的高度数据生成法线信息。
10.根据权利要求9所述的装置,其特征在于,所述高度更新单元包括:
监听子单元,用于通过所述虚拟场景触发进行的图像实时更新,监听得到所述图像中交互节点触发的运动;
交互点发射子单元,用于根据所述交互节点对应的配置信息得到所述交互节点与虚拟场景中元素相交时发射的交互点;
高度数据更新子单元,用于按照所述交互点更新所述初始高度数据得到响应所述实时更新对应的高度数据。
11.根据权利要求9所述的装置,其特征在于,所述衰减扩散单元包括:
载入单元,用于将更新的所述高度数据载入第一交互缓冲区,所述第一交互缓冲区中近景对应的高度数据存储于红色和绿色通道,远景对应的高度数据存储于蓝色和Alpha通道;
运算执行单元,用于在所述红色和绿色通道、蓝色和Alpha通道对第一交互缓冲区域载入的高度数据进行衰减扩散运算得到扩散的高度数据。
12.根据权利要求9所述的装置,其特征在于,所述运算模块还包括:
法线载入单元,用于将所述法线信息载入第二交互缓冲区,所述第二交互缓冲区中红色和绿色通道存储近景对应的法线信息,蓝色和Alpha通道存储远景对应的法线信息。
13.根据权利要求8所述的装置,其特征在于,所述图像获得模块包括:
渲染单元,用于根据所述扩散的高度数据输出与各层级交互贴图匹配的高度贴图,并将各高度贴图渲染至所述虚拟场景中;
法线处理单元,用于根据所述法线信息输出法线图,并将所述法线图和虚拟场景中的法线混合后作用到虚拟场景中,以获得所述虚拟场景中实时更新呈现的图像。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
过渡模块,用于所述多层级交互贴图在所述图像上对应的交互区域中,根据交互区域对应的精度在相邻交互区域之间进行平滑过渡处理。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610210562.8A CN105912234B (zh) | 2016-04-06 | 2016-04-06 | 虚拟场景的交互方法和装置 |
PCT/CN2017/079587 WO2017174006A1 (zh) | 2016-04-06 | 2017-04-06 | 图片处理的方法和装置 |
KR1020187018499A KR102108244B1 (ko) | 2016-04-06 | 2017-04-06 | 이미지 처리 방법 및 장치 |
US16/152,618 US10839587B2 (en) | 2016-04-06 | 2018-10-05 | Image processing methods and devices for moving a target object by using a target ripple |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610210562.8A CN105912234B (zh) | 2016-04-06 | 2016-04-06 | 虚拟场景的交互方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912234A CN105912234A (zh) | 2016-08-31 |
CN105912234B true CN105912234B (zh) | 2019-01-15 |
Family
ID=56745686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610210562.8A Active CN105912234B (zh) | 2016-04-06 | 2016-04-06 | 虚拟场景的交互方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912234B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106842984B (zh) * | 2017-01-22 | 2018-02-16 | 北京航空航天大学 | 一种实时贴图渲染的动态电子仪表仿真方法 |
CN107170047A (zh) * | 2017-04-13 | 2017-09-15 | 北京小鸟看看科技有限公司 | 虚拟现实场景的更新方法、设备及虚拟现实设备 |
CN110089076B (zh) * | 2017-11-22 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 实现信息互动的方法和装置 |
CN109377503A (zh) * | 2018-10-19 | 2019-02-22 | 珠海金山网络游戏科技有限公司 | 图像更新方法和装置、计算设备及存储介质 |
CN109655010B (zh) * | 2018-10-31 | 2020-07-07 | 上海畅联智融通讯科技有限公司 | 一种相机动态网格化摄物测量的方法 |
CN109598777B (zh) * | 2018-12-07 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN109671147B (zh) * | 2018-12-27 | 2023-09-26 | 网易(杭州)网络有限公司 | 基于三维模型的纹理贴图生成方法及装置 |
US11900532B2 (en) | 2019-06-28 | 2024-02-13 | Interdigital Vc Holdings, Inc. | System and method for hybrid format spatial data distribution and rendering |
CN113509721B (zh) * | 2020-06-18 | 2023-10-13 | 完美世界(北京)软件科技发展有限公司 | 阴影数据确定方法、装置、设备和可读介质 |
CN112435304B (zh) * | 2020-07-20 | 2023-03-14 | 上海哔哩哔哩科技有限公司 | 水体交互贴图方法及系统 |
CN112365567B (zh) * | 2020-10-14 | 2021-06-22 | 北京完美赤金科技有限公司 | 场景切换方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949273A (zh) * | 2006-11-27 | 2007-04-18 | 北京金山软件有限公司 | 一种在3d游戏中绘制草坪的方法和系统 |
CN102663245A (zh) * | 2012-03-30 | 2012-09-12 | 福建天趣网络科技有限公司 | 3d游戏世界编辑器 |
CN102855400A (zh) * | 2012-09-10 | 2013-01-02 | 北京航空航天大学 | 一种基于投影网格的海洋表面建模及实时光照方法 |
CN102930590A (zh) * | 2012-10-17 | 2013-02-13 | 沈阳创达技术交易市场有限公司 | 可交互的地表修饰物渲染方法 |
CN103679820A (zh) * | 2013-12-16 | 2014-03-26 | 北京像素软件科技股份有限公司 | 一种3d虚拟场景中模拟草体扰动效果的方法 |
CN104574496A (zh) * | 2014-12-30 | 2015-04-29 | 北京像素软件科技股份有限公司 | 一种计算光照图的静态阴影和动态阴影融合的方法及装置 |
CN105205846A (zh) * | 2015-07-24 | 2015-12-30 | 江苏音图文化发展有限公司 | 水墨动画制作方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013070310A1 (en) * | 2011-11-08 | 2013-05-16 | Manton Douglas | Method and system for rendering virtual in-game environments |
-
2016
- 2016-04-06 CN CN201610210562.8A patent/CN105912234B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949273A (zh) * | 2006-11-27 | 2007-04-18 | 北京金山软件有限公司 | 一种在3d游戏中绘制草坪的方法和系统 |
CN102663245A (zh) * | 2012-03-30 | 2012-09-12 | 福建天趣网络科技有限公司 | 3d游戏世界编辑器 |
CN102855400A (zh) * | 2012-09-10 | 2013-01-02 | 北京航空航天大学 | 一种基于投影网格的海洋表面建模及实时光照方法 |
CN102930590A (zh) * | 2012-10-17 | 2013-02-13 | 沈阳创达技术交易市场有限公司 | 可交互的地表修饰物渲染方法 |
CN103679820A (zh) * | 2013-12-16 | 2014-03-26 | 北京像素软件科技股份有限公司 | 一种3d虚拟场景中模拟草体扰动效果的方法 |
CN104574496A (zh) * | 2014-12-30 | 2015-04-29 | 北京像素软件科技股份有限公司 | 一种计算光照图的静态阴影和动态阴影融合的方法及装置 |
CN105205846A (zh) * | 2015-07-24 | 2015-12-30 | 江苏音图文化发展有限公司 | 水墨动画制作方法 |
Non-Patent Citations (1)
Title |
---|
基于GPU编程的虚拟自然环境技术研究;韩元利;《中国博士学位论文全文数据库(电子期刊)》;20080715(第07期);第2.2、3.3-3.4、5.1.2、5.2、5.3.1节 |
Also Published As
Publication number | Publication date |
---|---|
CN105912234A (zh) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912234B (zh) | 虚拟场景的交互方法和装置 | |
CN105354872B (zh) | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 | |
US8004518B2 (en) | Combined spatial index for static and dynamic objects within a three-dimensional scene | |
US7940266B2 (en) | Dynamic reallocation of processing cores for balanced ray tracing graphics workload | |
CN106575228B (zh) | 图形处理中的渲染目标命令重新排序 | |
CN102254340B (zh) | 一种基于gpu加速的环境光遮挡图像绘制方法及系统 | |
US8085267B2 (en) | Stochastic addition of rays in a ray tracing image processing system | |
US10553013B2 (en) | Systems and methods for reducing rendering latency | |
CN110874812B (zh) | 游戏中的场景图像绘制方法、装置及电子终端 | |
CN112241993B (zh) | 游戏图像处理方法、装置及电子设备 | |
CN104392479A (zh) | 一种利用灯光索引号对像素进行光照着色的方法 | |
CN106502662A (zh) | 用于智能操作系统的多区域图形绘制方法及装置 | |
CN115082609A (zh) | 图像渲染方法、装置、存储介质及电子设备 | |
CN105957133B (zh) | 一种加载贴图的方法和装置 | |
JP7335454B2 (ja) | レンダリング中の領域テストによってジオメトリの効率的なマルチgpuレンダリングを行うためのシステム及び方法 | |
WO2017174006A1 (zh) | 图片处理的方法和装置 | |
CN115298686A (zh) | 通过在渲染前针对交错的屏幕区域进行预测试来进行几何图形的高效多gpu渲染的系统和方法 | |
CN105678829A (zh) | 一种二维与三维结合的数字楼盘展示方法 | |
CN106730842A (zh) | 一种游戏动画显示方法和装置 | |
CN115970275A (zh) | 虚拟对象的投影处理方法、装置、存储介质与电子设备 | |
KR100469820B1 (ko) | 화면 갱신 방법 및 그 시스템 | |
CN113192173B (zh) | 三维场景的图像处理方法、装置及电子设备 | |
US20210241414A1 (en) | System and method for efficient multi-gpu rendering of geometry by pretesting against screen regions using configurable shaders | |
US11514549B2 (en) | System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase | |
CN116777731A (zh) | 软光栅化的方法、装置、设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |