CN117197307A - 虚拟模型的处理方法、装置、计算机设备及存储介质 - Google Patents
虚拟模型的处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117197307A CN117197307A CN202311250672.3A CN202311250672A CN117197307A CN 117197307 A CN117197307 A CN 117197307A CN 202311250672 A CN202311250672 A CN 202311250672A CN 117197307 A CN117197307 A CN 117197307A
- Authority
- CN
- China
- Prior art keywords
- rendered
- rendering
- terrain
- preset
- model
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 238000003672 processing method Methods 0.000 title abstract description 23
- 238000009877 rendering Methods 0.000 claims abstract description 236
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims abstract description 143
- 238000013507 mapping Methods 0.000 claims abstract description 134
- 230000000007 visual effect Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 72
- 238000000034 method Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 30
- 238000012876 topography Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 description 22
- 230000014509 gene expression Effects 0.000 description 12
- 238000010276 construction Methods 0.000 description 10
- 238000007620 mathematical function Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004040 coloring Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000035699 permeability Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种虚拟模型的处理方法、装置、计算机设备及存储介质,包括:设置河床底面的地形参考曲线以及目标河床对应的目标水体的预设水面高度和处于目标水体水面上方的平面面片模型;确定平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;基于预设的虚拟摄像机位置、视线方向以及视线长度,确定待渲染网格顶点对应的映射点的坐标信息;基于映射点的坐标信息、以及地形参考曲线对应的预设渲染规则,确定映射点的渲染信息,并作为待渲染网格顶点对应的像素点的渲染信息;基于平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型,可以有效提高河流虚拟模型的渲染效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种虚拟模型的处理方法、装置、计算机设备及存储介质。
背景技术
在进行游戏开发或影视动画制作时虚拟场景以及虚拟元素等游戏资源的实现都会希望更接近真实环境。以游戏开发为例,经常美术和策划会提出游戏资源的制作,例如通过游戏资源的设计可以实现各类模拟现实生活的场景的虚拟资源,例如虚拟河流场景、虚拟湖泊场景或虚拟海洋场景等虚拟水体场景,而如何将上述虚拟水体场景进行三维河流渲染,也是目前游戏设计人员研究的主要方向。
目前,三维河流渲染技术一直是游戏三维渲染技术中的一个重要领域,其主要应用在游戏场景中的自然河流的渲染和模拟。现有的三维河流渲染技术主要是基于纹理贴图以及地形网格数据进行渲染的,一般由美术建模人员通过三维软件制作河流的三维网格模型,比如河床、河流表面等网格模型,以及河流渲染需要用到的纹理贴图,包括法线贴图、基本色贴图、高光贴图等等,然后再通过引擎程序员或者技术美术编写的渲染河流表面的着色器进行渲染。然而,需要大量的贴图进行渲染处理,从而需要占据大量的资源存储空间,并且,上述三维河流渲染步骤繁琐复杂、耗时长,从而导致河流渲染效率低。
发明内容
本申请实施例提供一种虚拟模型的处理方法、装置、计算机设备及存储介质,通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
本申请实施例提供了一种虚拟模型的处理方法,该方法包括:
设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
相应的,本申请实施例还提供了一种虚拟模型的处理装置,该虚拟模型的处理装置包括:
第一设置单元,用于设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
第一确定单元,用于确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
第二确定单元,用于基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
第三确定单元,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
渲染单元,用于基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
在一些实施例中,该虚拟模型的处理装置包括:
第一确定子单元,用于基于屏幕空间对所述平面面片模型进行投射处理,以将所述平面面片模型投射至屏幕空间,确定所述平面面片模型中各网格顶点投射到屏幕空间后的待渲染网格顶点。
在一些实施例中,该虚拟模型的处理装置包括:
第二确定子单元,用于基于待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定是否存在所述待渲染网格顶点对应的映射点;
第二确定子单元,还用于若是,则基于所述待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标和第一高度值。
在一些实施例中,该虚拟模型的处理装置包括:
第三确定子单元,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息;
第三确定子单元,还用于基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型;
第三确定子单元,还用于基于所述目标地形渲染类型确定所述映射点的渲染信息。
在一些实施例中,该虚拟模型的处理装置包括:
计算子单元,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,计算得到所述映射点的第二高度值。
在一些实施例中,该虚拟模型的处理装置包括:
第四确定子单元,用于若所述第一高度值小于或等于第二高度值,则确定所述目标地形渲染类型为河床地形类型;
第四确定子单元,还用于若所述第一高度值大于第二高度值、且小于所述预设水面高度,则确定所述目标地形渲染类型为水体地形类型。
在一些实施例中,该虚拟模型的处理装置包括:
第一处理子单元,用于基于预设的波形噪声曲线对所述渲染后的地形模型对应的地形参考曲线进行叠加处理,以得到调整后的地形模型。
在一些实施例中,该虚拟模型的处理装置包括:
获取子单元,用于获取所述渲染后的地形模型中的待调整像素点,其中,所述待调整像素点为目标地形渲染类型是水体地形类型的像素点;
第五确定子单元,用于基于所述河床底面的预设高度、以及所述待调整像素点的第一高度值,确定所述待调整像素点的目标水深信息;
设置子单元,用于基于所述目标水深信息为所述待调整像素点设置目标透明度信息;
第二处理子单元,用于基于渲染后的地形模型中各像素点的目标透明度信息,对所述渲染后的地形模型进行更新处理,得到更新后的地形模型。
在一些实施例中,该虚拟模型的处理装置包括:
第三处理子单元,用于基于预设噪声函数对所述渲染后的地形模型的地形参考曲线进行调整处理,得到调整后的待渲染地形模型。
相应的,本申请实施例还提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述任一项的虚拟模型的处理方法。
相应的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述任一项的虚拟模型的处理方法。
本申请实施例提供一种虚拟模型的处理方法、装置、计算机设备及存储介质,通过设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;然后,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;接着,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;然后,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;最后,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的虚拟模型的处理装置的系统示意图。
图2是本申请实施例提供的虚拟模型的处理方法的一种流程示意图。
图3a是本申请实施例提供的虚拟模型的处理方法的一种场景示意图。
图3b是本申请实施例提供的虚拟模型的处理方法的一种场景示意图。
图4是本申请实施例提供的虚拟模型的处理方法的另一种场景示意图。
图5是本申请实施例提供的虚拟模型的处理方法的另一种场景示意图。
图6是本申请实施例提供的虚拟模型的处理方法的另一种场景示意图。
图7是本申请实施例提供的虚拟模型的处理装置的结构示意图。
图8是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,三维河流渲染技术一直是游戏三维渲染技术中的一个重要领域,其主要应用在游戏场景中的自然河流的渲染和模拟。现有的三维河流渲染技术主要是基于纹理贴图以及地形网格数据进行渲染的,一般由美术建模人员通过三维软件制作河流的三维网格模型,比如河床、河流表面等网格模型,以及河流渲染需要用到的纹理贴图,包括法线贴图、基本色贴图、高光贴图等等,然后再通过引擎程序员或者技术美术编写的渲染河流表面的着色器进行渲染。然而,需要大量的贴图进行渲染处理,从而需要占据大量的资源存储空间,并且,上述三维河流渲染步骤繁琐复杂、耗时长,从而导致河流渲染效率低。
本申请实施例提供一种虚拟模型的处理方法、装置、计算机设备及存储介质。具体地,本申请实施例的虚拟模型的处理方法可以由计算机设备执行,其中,该计算机设备可以为终端。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备,终端还可以包括客户端,该客户端可以是视频应用客户端、音乐应用客户端、游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。
请参阅图1,图1为本申请实施例所提供的虚拟模型的处理系统的场景示意图,包括计算机设备,该系统可以包括至少一个终端,至少一个服务器,以及网络。用户持有的终端可以通过网络连接到不同的服务器。终端是具有计算硬件的任何设备,该计算硬件能够支持和执行软件产品。另外,终端具有用于感测和获得用户通过在一个或者多个触控显示屏的多个点执行的触摸或者滑动操作的输入的一个或者多个多触敏屏幕。另外,当系统包括多个终端、多个服务器、多个网络时,不同的终端可以通过不同的网络、通过不同的服务器相互连接。网络可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,不同的终端之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。
其中,计算机设备可以设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;然后,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;接着,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;然后,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;最后,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
需要说明的是,图1所示的虚拟模型的处理系统的场景示意图仅仅是一个示例,本申请实施例描述的虚拟模型的处理系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着虚拟模型的处理系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供一种虚拟模型的处理方法、装置、计算机设备及存储介质,该虚拟模型的处理方法可以配合终端使用,如智能手机、平板电脑、笔记本电脑或个人计算机等。以下以游戏制作为例,对该虚拟模型的处理方法、装置、计算机设备以及存储介质进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图2,图2为本申请实施例提供的虚拟模型的处理方法的一种流程示意图,具体流程可以如下步骤101至步骤105:
101,设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型。
在本申请实施例中,由于现有的3D渲染至少需要一个3D模型数据,该3D模型数据包含顶点以及由顶点围成的面,本申请对模型数据没有要求,也即不要求模型的形状或者面数,因此设置一个最简单的平面模型即可,例如一个正方形面或者长方形面的模型,该平面面片模型的水平位置即可作为下面目标河流和目标水体组成的虚拟河流的水平面基准。具体的,游戏设计人员可以自行设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型。例如,请参阅图3a,可以设置一平面面片模型,在距离平面面片模型的预设距离位置设置预设水面的水平平面以及地形参考曲线,该预设水面为目标水体的水面,该目标水体设置有预设水面高度以及水深高度,该地形参考曲线设置有地形高度。
102,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点。
在本申请实施例中,步骤“所述确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点”,方法可以包括:
基于屏幕空间对所述平面面片模型进行投射处理,以将所述平面面片模型投射至屏幕空间,确定所述平面面片模型中各网格顶点投射到屏幕空间后的待渲染网格顶点。
例如,请参阅图3a,本申请实施例设置有虚拟摄像机的虚拟摄像机位置、视线方向以及视线长度(例如图3a基于摄像机位置形成的箭头以及箭头长度所示),可以基于上述虚拟摄像机位置以及视线方向在平面面片模型上确定一个待渲染网格顶点A点。
具体的,本申请实施例的平面面片模型的常规3D渲染管线步骤可以如下所述,首先输入一个3D平面面片模型的数据,该数据包含顶点以及由顶点围成的面。然后,通过一个vertex shader的程序,把上述顶点位置转换到屏幕位置。接着,3D管线对屏幕位置的顶点进行光栅化,即把顶点位置转为屏幕像素位置,同时也会计算出顶点所围成的面内部的所有像素位置。最后,通过一个pixel shader的程序,对所有这些像素位置进行着色,最后输出到屏幕。可以理解为,针对平面面片模型映射到屏幕上的图像包括的所有像素,针对每个像素点都会进行一次下方的计算:计算当前视线方向,计算视线方向与平面面片模型的交点A,在交点A沿着视线方向往前推进一定距离计算得到A’点,根据A’点的位置以及地形曲线的高度来判断进行水体或者河床地形渲染。
103,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息。
其中,待渲染网格顶点对应的映射点也即待渲染网格顶点映射在虚拟空间中的点,该虚拟空间即平面面片模型以及目标河床、目标水体组成的虚拟河流所在的空间,该映射点即为待渲染网格顶点映射到虚拟空间中得到的点。
在本申请实施例中,步骤“所述基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息”,方法可以包括:
基于待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定是否存在所述待渲染网格顶点对应的映射点;
若是,则基于所述待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标和第一高度值。
本申请通过顶点变换对顶点的3D坐标乘上一些变换矩阵,从而把顶点的3D坐标最终变换到屏幕坐标,以将把3D空间中的物体投射到屏幕上。因为用户最终看到的是屏幕上的像素,因此本申请实施例中将每个像素点都会进行一次上述这样的计算,具体进行常规3d渲染的光栅化流程(即将3D模型转换成屏幕像素位置)。例如,请参阅图3b,图中显示有屏幕的屏幕示意框,屏幕示意框中包括多个黑色点为屏幕中的每个像素,从每一个像素点位置出发的箭头为视线方向,屏幕示意框下方为平面面片,计算每一个像素点从该视线方向达到平面面片的交点进行渲染,也即每个像素点都会进行一次本申请实施例提出的计算,最终形成3D的河流模型。
例如,请参阅图3a,本申请实施例设置有虚拟摄像机的虚拟摄像机位置、视线方向以及视线长度(例如图3a基于摄像机位置形成的箭头以及箭头长度所示),可以基于上述虚拟摄像机位置以及视线方向在平面面片模型上确定一个待渲染网格顶点A点。接着,根据视线方向以及视线长度可知,实则需要渲染的位置是A`点,即待渲染网格顶点A点的映射点为A`点。具体的,平面面片模型与预设水面的水平平面可以重合,也可以不用重合,水平平面的高度是可以自行指定的,当水平平面的高度与平面面片模型的平面高度不一致时就会出现缝隙距离。例如,平面面片模型的平面高度可以是在高度为0的平面上,水平平面的高度可以指定为在-1、-2或者-3等等。
104,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息。
在一实施例中,步骤“所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息”,方法可以包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息;
基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型;
基于所述目标地形渲染类型确定所述映射点的渲染信息。
进一步的,步骤“所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息”,方法可以包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,计算得到所述映射点的第二高度值。
在本申请实施例中可以提供一个预设函数,具体的,3d渲染中的坐标系一般是x、y、z这3个轴,这里使用x、y轴作为水平面的2个轴,而z轴作为高度轴。因此,这个等式是输入水平面上某个位置的x、y坐标,输出这个位置上的高度即z轴的坐标,可以根据对河床地形形状的实际需要进行预设公式的构造,例如想要一个比较简单的河床形状,就可以使用一个如下所示的多段等式进行构造:
H=(x-1)*(x-1)*(3-2*(x-1)),当1<=x<=2;
H=0,当x<1;
H=1,当x>2;
基于上述等式,会在x轴的方向生成一个类似河岸的斜坡的形状,同时输出范围为0~1,因此使用这个可以生成一个河床高度在0~1的类似斜坡的地形。实际使用时会同时把这个高度乘上一个高度系数,比如10,那么最后高度范围就会是0~10。
在一具体实施例中,所述目标地形渲染类型包括河床地形类型和水体地形类型。步骤“所述基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型”,方法可以包括:
若所述第一高度值小于或等于第二高度值,则确定所述目标地形渲染类型为河床地形类型;
若所述第一高度值大于第二高度值、且小于所述预设水面高度,则确定所述目标地形渲染类型为水体地形类型。
例如,请参阅图3a,待渲染网格顶点A点的映射点为A`点后,需要确定该A`点需要渲染为河床还是水体,因此,需要判断A`点这一点到底是地表还是水,还是二者都不是,具体通过往前推进的具体距离是一个固定的数值,这个距离越长,那么实际效果的可视距离就越大,图3a中的A`点就是往前推进了一定距离的某个点,在这个图中A`点是刚好位于水中,因此,就对模型平面的上的A点进行水体的渲染着色。如果图中A`点在河床上,则对模型平面的上的A点进行河床地形的渲染,具体的,可以对该点进行光照计算,需要先计算出该点的法线,可以取这一点的周围4个点,然后计算这些点之间的梯度差,得到的梯度差就是法线,最后根据法线与光线之间的角度来计算最终的光照强度,并且还可以增加一层地形纹理,从而完成河床地形渲染。
105,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
可选的,在步骤“基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型”之后,方法可以包括:
基于预设的波形噪声曲线对所述渲染后的地形模型对应的地形参考曲线进行叠加处理,以得到调整后的地形模型。
在另一实施例中,在步骤“基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型”之后,方法可以包括:
获取所述渲染后的地形模型中的待调整像素点,其中,所述待调整像素点为目标地形渲染类型是水体地形类型的像素点;
基于所述河床底面的预设高度、以及所述待调整像素点的第一高度值,确定所述待调整像素点的目标水深信息;
基于所述目标水深信息为所述待调整像素点设置目标透明度信息;
基于渲染后的地形模型中各像素点的目标透明度信息,对所述渲染后的地形模型进行更新处理,得到更新后的地形模型。
具体的,在步骤“基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型”之后,方法可以包括:
基于预设噪声函数对所述渲染后的地形模型的地形参考曲线进行调整处理,得到调整后的待渲染地形模型。
本申请实施例可以向vertex shader中输入一个仅需包含少量顶点的平面面片模型数据,然后,游戏设计人员可以构造一种合适的三维数学曲线表达式H=F(x,y),通过该表达式通过输入一个世界坐标(x,y),输出当前世界坐标的高度H,这个等式可叠加多个不同的噪声来产生地形细节,可以将代替网格数据用于河床以及水体的模型渲染。然后,游戏设计人员可以在pixel shader中渲染该长方形上某一点时,对比该点的高度A以及上面等式中输出的高度B,如果该点A在B以下,则该点进行河床渲染,如果该点A在B以上同时在水平面以下,则进行水体渲染,都不符合则剔除该点。接着,可以通过水平面以及河床的高度差渲染水体的通透度。最后,还可以通过构造添加合适的数学噪声来模拟河床的纹理以及水面的波浪以及流动效果。
进一步的,本申请实施例构造出来的H=F(x,y)曲线是比较光滑平整,缺少真实河流的具体细节。因此可以在该公式曲线上叠加多个噪声,这里的噪声即一系列的随机数值,这些数值一般不大于上面等式输出的高度,加上这些随机数值后可以使得这个图像更像河床那样具有凹凸不平的感觉。例如H=F(x,y)曲线的图像在3D渲染下是中间低两边高的形状,可以在该公式上直接叠加,得到H=F(x,y)+N(x,y),N(x,y)即是在(x,y)这个坐标下输出的随机值,这个随机值可以是正数也可以是负数,把这个值加到输出高度中,就可以让地形变得凹凸不平。这个随机值的计算方式可以使用Perlin噪声或者其他认为合适的噪声计算,即将原本光滑平整的曲线调整为凹凸不平的曲线。
由于本申请实施例通过构造不同的数学表达式可以模拟出复杂的地形效果,比如叠加多种不同频率的正弦或者余弦函数,添加分型噪声等等,由于这些表达式可以描绘一个连续且高频的三维曲线表面,因此可以使用这些三维曲线表面来代替顶点网格模型数据,来模拟河床高低凹凸起伏,因而该方法实质上并不需要太多的网格模型数据,而仅仅有一个能作为载体的面片模型即可。另外水体以及河床的纹理渲染也是通过构造不同的噪声来模拟,因此也不需要实际的纹理贴图输入,从而可以减少资源量。由于以上都是程序计算,因此整个河流都是可以自动化的生成渲染,因此也不需要美术制作人员进行参与。
综上所述,本申请实施例提供的虚拟模型的处理方法高度自动化,可以通过设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;然后,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;接着,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;然后,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;最后,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
根据上述介绍的内容,下面将举例来进一步说明本申请的虚拟模型的处理方法。例如,请一并参阅图3a、图4、图5和图6,该虚拟模型的处理方法的具体实施例如下:
(1)本申请实施例预设图中的方向线为摄像机的视线方向,在渲染时模型平面上的A点时,根据视线方向以及长度可知,实则需要渲染的位置是A`点,游戏设计人员可以预先设置某个固定的高度Hw作为水平面高度,根据以上信息即可得到这个交点A`。具体的,计算机设备根据视线方向以及长度计算获得A`点的坐标位置,得到A`点的坐标以及高度Ha。如果该交点不存在,则放弃该点的渲染。
(2)本申请实施例中,根据预先设置好的地形曲线H=F(x,y),在地形曲线H=F(x,y)中输入A`点的坐标位置,计算得到当前点的地形高度Ht。然后进行高度判断,如果Ha小于等于Ht,则A`点在地形上,该点进行地形渲染。如果Ha大于Ht,同时小于等于Hw,则该点在水中,该点进行水体渲染,水深高度可以由Hw-Ht获得。具体的,地形曲线H的公式具体如下所示:
H=(x-w1)/(w2-w1)*(x-w1)/(w2-w1)*(3-2*(x-w1)/(w2-w1))
其中,x为当前点横坐标,w2、w1为常数,用于控制河床宽度,根据上述地形曲线公式可以生成基础的河床曲线,具体如图4所示。
(3)在上述地形基础上,游戏设计人员可以再叠加多个波形噪声曲线,可以获得不同的地形凹凸细节。例如,可以叠加多个不同频率和振幅的正弦曲线k*sin(a*x+b),其中k、a、b为常数,k为振幅,a、b分别控制频率和相位。在添加多个波形噪声曲线后,曲线渲染效果如图5所示。
(4)本申请实施例中,在选取合适曲线后,可以选择一个固定的常数高度作为河流水面平面的高度,根据这个高度以及地形高度,按照前述提及的流程方法,可以渲染出水面效果,水体的通透度根据水深高度进行透明度控制,水深高度越大则水体的透明度越低,水深高度越小则水体的透明度越高,具体如图6所示。
(3)为了进行着色,可以根据当前点高度的以及四周点高度的梯度差计算当前点法线,中心点为当前点,P1、P2、P3、P4为当前点正上、左边、正下、右边的四个点。通过使用上面的地形曲线H=F(x,y)分别计算P1、P2、P3、P4四个点的地形高度,并通过这4个点的梯度差计算最终法线N=(Hp4-Hp2,1.0,Hp3-Hp1),其中N为目标法线,Hp1、Hp2、Hp3、Hp4为P1、P2、P3、P4四个点的地形高度。本申请实施例使用这个法线可以完成光照计算,地形的基本纹理颜色也同样使用添加噪声的方式添加多种不同的纹理颜色,因此也可以不需要使用纹理贴图,从而达到只使用曲线构造的方法完成整套河流渲染方案的效果。
综上所述,本申请实施例提供的虚拟模型的处理方法高度自动化,可以通过设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;然后,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;接着,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;然后,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;最后,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
为了更好地实施以上方法,本申请实施例还可以提供一种虚拟模型的处理装置,该虚拟模型的处理装置具体可以集成在计算机设备中,例如可以是终端等计算机设备。
请参阅图7,图7为本申请实施例提供的一种虚拟模型的处理装置的结构示意图,该装置包括:
第一设置单元201,用于设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
第一确定单元202,用于确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
第二确定单元203,用于基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
第三确定单元204,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
渲染单元205,用于基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
在一些实施例中,该虚拟模型的处理装置包括:
第一确定子单元,用于基于屏幕空间对所述平面面片模型进行投射处理,以将所述平面面片模型投射至屏幕空间,确定所述平面面片模型中各网格顶点投射到屏幕空间后的待渲染网格顶点。
在一些实施例中,该虚拟模型的处理装置包括:
第二确定子单元,用于基于待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定是否存在所述待渲染网格顶点对应的映射点;
第二确定子单元,还用于若是,则基于所述待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标和第一高度值。
在一些实施例中,该虚拟模型的处理装置包括:
第三确定子单元,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息;
第三确定子单元,还用于基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型;
第三确定子单元,还用于基于所述目标地形渲染类型确定所述映射点的渲染信息。
在一些实施例中,该虚拟模型的处理装置包括:
计算子单元,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,计算得到所述映射点的第二高度值。
在一些实施例中,该虚拟模型的处理装置包括:
第四确定子单元,用于若所述第一高度值小于或等于第二高度值,则确定所述目标地形渲染类型为河床地形类型;
第四确定子单元,还用于若所述第一高度值大于第二高度值、且小于所述预设水面高度,则确定所述目标地形渲染类型为水体地形类型。
在一些实施例中,该虚拟模型的处理装置包括:
第一处理子单元,用于基于预设的波形噪声曲线对所述渲染后的地形模型对应的地形参考曲线进行叠加处理,以得到调整后的地形模型。
在一些实施例中,该虚拟模型的处理装置包括:
获取子单元,用于获取所述渲染后的地形模型中的待调整像素点,其中,所述待调整像素点为目标地形渲染类型是水体地形类型的像素点;
第五确定子单元,用于基于所述河床底面的预设高度、以及所述待调整像素点的第一高度值,确定所述待调整像素点的目标水深信息;
设置子单元,用于基于所述目标水深信息为所述待调整像素点设置目标透明度信息;
第二处理子单元,用于基于渲染后的地形模型中各像素点的目标透明度信息,对所述渲染后的地形模型进行更新处理,得到更新后的地形模型。
在一些实施例中,该虚拟模型的处理装置包括:
第三处理子单元,用于基于预设噪声函数对所述渲染后的地形模型的地形参考曲线进行调整处理,得到调整后的待渲染地形模型。
本申请实施例公开了一种虚拟模型的处理装置,通过第一设置单元201于设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;第一确定单元202确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;第二确定单元203基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;第三确定单元204基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;渲染单元205基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。如图8所示,图8为本申请实施例提供的计算机设备的结构示意图。该计算机设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器301是计算机设备300的控制中心,利用各种接口和线路连接整个计算机设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行计算机设备300的各种功能和处理数据,从而对计算机设备300进行整体监控。
在本申请实施例中,计算机设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序,从而实现各种功能:
设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
在一实施例中,所述确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点,包括:
基于屏幕空间对所述平面面片模型进行投射处理,以将所述平面面片模型投射至屏幕空间,确定所述平面面片模型中各网格顶点投射到屏幕空间后的待渲染网格顶点。
在一实施例中,所述基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息,包括:
基于待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定是否存在所述待渲染网格顶点对应的映射点;
若是,则基于所述待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标和第一高度值。
在一实施例中,所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息;包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息;
基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型;
基于所述目标地形渲染类型确定所述映射点的渲染信息。
在一实施例中,所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息,包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,计算得到所述映射点的第二高度值。
在一实施例中,所述目标地形渲染类型包括河床地形类型和水体地形类型;
所述基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型,包括:
若所述第一高度值小于或等于第二高度值,则确定所述目标地形渲染类型为河床地形类型;
若所述第一高度值大于第二高度值、且小于所述预设水面高度,则确定所述目标地形渲染类型为水体地形类型。
在一实施例中,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
基于预设的波形噪声曲线对所述渲染后的地形模型对应的地形参考曲线进行叠加处理,以得到调整后的地形模型。
在一实施例中,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
获取所述渲染后的地形模型中的待调整像素点,其中,所述待调整像素点为目标地形渲染类型是水体地形类型的像素点;
基于所述河床底面的预设高度、以及所述待调整像素点的第一高度值,确定所述待调整像素点的目标水深信息;
基于所述目标水深信息为所述待调整像素点设置目标透明度信息;
基于渲染后的地形模型中各像素点的目标透明度信息,对所述渲染后的地形模型进行更新处理,得到更新后的地形模型。
在一实施例中,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
基于预设噪声函数对所述渲染后的地形模型的地形参考曲线进行调整处理,得到调整后的待渲染地形模型。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图8所示,计算机设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏303可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
在本申请实施例中,通过处理器301执行应用程序在触控显示屏303上生成图形界面。该触控显示屏303用于呈现图形界面以及接收用户作用于图形界面产生的操作指令。
射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路305可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器301处理后,经射频电路304以发送给比如另一计算机设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源307用于给计算机设备300的各个部件供电。可选的,电源307可以通过电源管理系统与处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图8中未示出,计算机设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,通过设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;然后,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;接着,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;然后,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;最后,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种虚拟模型的处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
在一实施例中,所述确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点,包括:
基于屏幕空间对所述平面面片模型进行投射处理,以将所述平面面片模型投射至屏幕空间,确定所述平面面片模型中各网格顶点投射到屏幕空间后的待渲染网格顶点。
在一实施例中,所述基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息,包括:
基于待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定是否存在所述待渲染网格顶点对应的映射点;
若是,则基于所述待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标和第一高度值。
在一实施例中,所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息;包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息;
基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型;
基于所述目标地形渲染类型确定所述映射点的渲染信息。
在一实施例中,所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息,包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,计算得到所述映射点的第二高度值。
在一实施例中,所述目标地形渲染类型包括河床地形类型和水体地形类型;
所述基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型,包括:
若所述第一高度值小于或等于第二高度值,则确定所述目标地形渲染类型为河床地形类型;
若所述第一高度值大于第二高度值、且小于所述预设水面高度,则确定所述目标地形渲染类型为水体地形类型。
在一实施例中,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
基于预设的波形噪声曲线对所述渲染后的地形模型对应的地形参考曲线进行叠加处理,以得到调整后的地形模型。
在一实施例中,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
获取所述渲染后的地形模型中的待调整像素点,其中,所述待调整像素点为目标地形渲染类型是水体地形类型的像素点;
基于所述河床底面的预设高度、以及所述待调整像素点的第一高度值,确定所述待调整像素点的目标水深信息;
基于所述目标水深信息为所述待调整像素点设置目标透明度信息;
基于渲染后的地形模型中各像素点的目标透明度信息,对所述渲染后的地形模型进行更新处理,得到更新后的地形模型。
在一实施例中,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
基于预设噪声函数对所述渲染后的地形模型的地形参考曲线进行调整处理,得到调整后的待渲染地形模型。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种虚拟模型的处理方法中的步骤,通过设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;然后,确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;接着,基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;然后,基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;最后,基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。本申请实施例通过构造不同的数学函数表达式模拟出复杂的地形效果,不需要太多的网格模型数据,也不需要实际的纹理贴图输入,从而可以减少资源量,节省资源存储空间;并且,本提案使用曲线构造的方法完成整套河流渲染方案的效果,主要通过程序计算渲染河流,可以自动化的生成渲染河流虚拟模型,从而简化河流虚拟模型的渲染步骤,有效提高河流虚拟模型的渲染效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种虚拟模型的处理方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (12)
1.一种虚拟模型的处理方法,其特征在于,包括:
设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
2.根据权利要求1所述的虚拟模型的处理方法,其特征在于,所述确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点,包括:
基于屏幕空间对所述平面面片模型进行投射处理,以将所述平面面片模型投射至屏幕空间,确定所述平面面片模型中各网格顶点投射到屏幕空间后的待渲染网格顶点。
3.根据权利要求2所述的虚拟模型的处理方法,其特征在于,所述基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息,包括:
基于待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定是否存在所述待渲染网格顶点对应的映射点;
若是,则基于所述待渲染网格顶点的坐标信息、预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标和第一高度值。
4.根据权利要求3所述的虚拟模型的处理方法,其特征在于,所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息;包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息;
基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型;
基于所述目标地形渲染类型确定所述映射点的渲染信息。
5.根据权利要求4所述的虚拟模型的处理方法,其特征在于,所述基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,确定所述映射点的地形信息,包括:
基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设函数,计算得到所述映射点的第二高度值。
6.根据权利要求5所述的虚拟模型的处理方法,其特征在于,所述目标地形渲染类型包括河床地形类型和水体地形类型;
所述基于所述地形信息、所述河床底面的预设高度以及预设水面高度,确定目标地形渲染类型,包括:
若所述第一高度值小于或等于第二高度值,则确定所述目标地形渲染类型为河床地形类型;
若所述第一高度值大于第二高度值、且小于所述预设水面高度,则确定所述目标地形渲染类型为水体地形类型。
7.根据权利要求1所述的虚拟模型的处理方法,其特征在于,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
基于预设的波形噪声曲线对所述渲染后的地形模型对应的地形参考曲线进行叠加处理,以得到调整后的地形模型。
8.根据权利要求6所述的虚拟模型的处理方法,其特征在于,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
获取所述渲染后的地形模型中的待调整像素点,其中,所述待调整像素点为目标地形渲染类型是水体地形类型的像素点;
基于所述河床底面的预设高度、以及所述待调整像素点的第一高度值,确定所述待调整像素点的目标水深信息;
基于所述目标水深信息为所述待调整像素点设置目标透明度信息;
基于渲染后的地形模型中各像素点的目标透明度信息,对所述渲染后的地形模型进行更新处理,得到更新后的地形模型。
9.根据权利要求1所述的虚拟模型的处理方法,其特征在于,在基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型之后,还包括:
基于预设噪声函数对所述渲染后的地形模型的地形参考曲线进行调整处理,得到调整后的待渲染地形模型。
10.一种虚拟模型的处理装置,其特征在于,包括:
第一设置单元,用于设置目标河床的河床底面的地形参考曲线,以及所述目标河床对应的目标水体的预设水面高度和处于所述目标水体水面上方的平面面片模型;
第一确定单元,用于确定所述平面面片模型上需要投射到屏幕空间上的待渲染网格顶点;
第二确定单元,用于基于预设的虚拟摄像机位置、视线方向以及视线长度,确定所述待渲染网格顶点对应的映射点的坐标信息;
第三确定单元,用于基于所述映射点的坐标信息、以及所述地形参考曲线对应的预设渲染规则,确定所述映射点的渲染信息,并作为所述待渲染网格顶点对应的像素点的渲染信息;
渲染单元,用于基于所述平面面片模型中、各待渲染网格顶点对应的像素点的渲染信息、对各待渲染网格顶点进行渲染处理,得到渲染后的地形模型。
11.一种计算机设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的虚拟模型的处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的虚拟模型的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311250672.3A CN117197307A (zh) | 2023-09-25 | 2023-09-25 | 虚拟模型的处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311250672.3A CN117197307A (zh) | 2023-09-25 | 2023-09-25 | 虚拟模型的处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117197307A true CN117197307A (zh) | 2023-12-08 |
Family
ID=88990481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311250672.3A Pending CN117197307A (zh) | 2023-09-25 | 2023-09-25 | 虚拟模型的处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117197307A (zh) |
-
2023
- 2023-09-25 CN CN202311250672.3A patent/CN117197307A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112370783B (zh) | 虚拟对象渲染方法、装置、计算机设备和存储介质 | |
CN111445563B (zh) | 一种图像生成的方法以及相关装置 | |
CN112489179B (zh) | 目标模型的处理方法、装置、存储介质及计算机设备 | |
CN112465945B (zh) | 一种模型生成方法、装置、存储介质及计算机设备 | |
CN112717414A (zh) | 游戏场景编辑方法、装置、电子设备以及存储介质 | |
CN112891954B (zh) | 虚拟对象的模拟方法、装置、存储介质及计算机设备 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
CN112950753B (zh) | 虚拟植物显示方法、装置、设备及存储介质 | |
CN116212374A (zh) | 模型处理方法、装置、计算机设备和存储介质 | |
CN116228982A (zh) | 虚拟模型的处理方法、装置、计算机设备及存储介质 | |
CN117274475A (zh) | 光晕效果的渲染方法、装置、电子设备和可读存储介质 | |
CN113350792B (zh) | 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质 | |
CN117197307A (zh) | 虚拟模型的处理方法、装置、计算机设备及存储介质 | |
CN115222867A (zh) | 重叠检测方法、装置、电子设备和存储介质 | |
CN115409928A (zh) | 水体效果渲染方法、装置、电子设备和存储介质 | |
CN113362435B (zh) | 虚拟对象模型的虚拟部件变化方法、装置、设备及介质 | |
CN118134773A (zh) | 虚拟流体模型的处理方法、装置、计算机设备及存储介质 | |
CN116385698B (zh) | 网格重建模型的训练方法、网格重建方法及装置 | |
CN115810090A (zh) | 地形权重生成方法、装置、存储介质及计算机设备 | |
CN118096976A (zh) | 水面交互效果的处理方法、装置、设备和可读存储介质 | |
CN116531750A (zh) | 网状结构生成方法、装置、电子设备和可读存储介质 | |
CN117899490A (zh) | 虚拟模型的处理方法、装置、计算机设备及存储介质 | |
CN117893668A (zh) | 虚拟场景的处理方法、装置、计算机设备及存储介质 | |
CN117953150A (zh) | 三维人体重建方法、装置、电子设备及存储介质 | |
CN114419233A (zh) | 模型生成方法、装置、计算机设备及存储介质 |
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 |