CN109739472A - 一种地形潮湿和风干效果的渲染方法 - Google Patents
一种地形潮湿和风干效果的渲染方法 Download PDFInfo
- Publication number
- CN109739472A CN109739472A CN201811478071.7A CN201811478071A CN109739472A CN 109739472 A CN109739472 A CN 109739472A CN 201811478071 A CN201811478071 A CN 201811478071A CN 109739472 A CN109739472 A CN 109739472A
- Authority
- CN
- China
- Prior art keywords
- air
- landform
- dried
- material parameters
- humidity
- 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.)
- Withdrawn
Links
Abstract
一种地形潮湿和风干效果的渲染方法,包括以下步骤:修改体素数据的材质参数,展现地形潮湿过程;客户端对当前的材质参数进行修正及颜色的插值,展现地形风干过程;服务器根据时间戳和风干速度,获取当前的材质参数,并设置到体素数据上,展现地形风干过程。本发明的地形潮湿和风干效果的渲染方法,既能在客户端表现模拟现实世界数据可修改地形的逐渐风干的过程,又无需额外的同步操作即可保证服务器和客户端潮湿地形的数据一致。
Description
技术领域
本发明涉及地形渲染技术领域,特别是涉及一种地形潮湿和风干效果的渲染方法。
背景技术
在模拟现实世界,数据可修改地形通常需要支持地形的潮湿效果,以及潮湿之后的逐渐风干效果,以应对各种逻辑功能的需求。比如种植系统,玩家种植农作物后,只有通过浇水让农作物所在地形变潮湿,农作物才能生长,随着地形逐渐风干,玩家还需要持续的浇水。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种地形潮湿和风干效果的渲染方法,可以在客户端表现模拟现实世界数据可修改地形逐渐风干的过程,又无需额外的同步操作即可保证服务器和客户端潮湿地形的数据一致。
为实现上述目的,本发明提供的地形潮湿和风干效果的渲染方法,包括以下步骤:
1)修改体素数据的材质参数,展现地形潮湿过程;
2)客户端对当前的材质参数进行修正及颜色的插值,展现地形风干过程;
3)服务器根据时间戳和风干速度,获取当前的材质参数,并设置到体素数据上,展现地形风干过程。
进一步地,所述步骤1),进一步包括:
指定数据块中某一点作为中心点,遍历该中心点周围一定范围内的体素;
将与所述中心点对应的体素数据的材质参数设为最大;
按照与所述中心点的距离由近到远,将体素数据的材质参数逐渐减少;
客户端重新生成地形网格,展现潮湿的效果。
进一步地,所述步骤2),进一步包括:
在客户端根据当前数据块的时间戳和服务器当前时间,获得数据块从变为潮湿开始到当前帧经历的时间;
客户端根据所述经历的时间和风干速度,获得材质参数的差值,修正当前体素数据的材质参数;
基于修改后当前体素数据的材质参数进行颜色的插值;
客户端重新生成地形网格,展现逐步风干的过程。
进一步地,所述客户端根据所述经历的时间和风干速度,获得材质参数的差值的步骤,是通过对风干速度乘以当前时间与时间戳的差来计算而得到。
进一步地,所述步骤3),进一步包括:
根据地形数据发生修改的时长和风干速度,获得当前体素数据的材质参数;
服务器将获得的当前体素数据的材质参数设置到体素数据上,直到材质参数值变为0。
为实现上述目的,本发明提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的地形潮湿和风干效果的渲染方法的步骤。
本发明的地形潮湿和风干效果的渲染方法,修改体素数据的Param值,以使地形潮湿;在客户端根据时间戳、风干速度和Param值对地形进行风干;在服务器根据新时间戳、风干速度和Param值对地形进行风干,因此既能在客户端表现上模拟现实世界逐渐风干的过程,又无需额外的同步操作即可保证服务器和客户端潮湿地形的数据一致。
本发明的地形潮湿和风干效果的渲染方法,在客户端和服务器仅根据新老时间戳、风干速度、和Param值实现潮湿和风干效果,因此能够减少计算量,提高效率,以简单的方式实现潮湿和风干效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的地形潮湿和风干效果的渲染方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的地形潮湿和风干效果的渲染方法流程图,下面将参考图1,对本发明的地形潮湿和风干效果的渲染方法进行详细描述。
在数据可修改地形中,为了便于统一管理,整个地形会被划分成同样大小的多个数据块(Chunk),每个chunk包含n*n*n个体素数据,每个体素数据包含4个字节,分别是:材质类型(Type)、材质ID(ID)、材质参数(Param)以及体素值(Value)。
每一种材质,都支持配置两种不同的漫反射颜色。对于可以变潮湿的地形材质,两种颜色分别表现了干燥和潮湿的效果,而体素数据中的Param参数就表示了两种颜色在真正渲染时的插值系数。简单来说,如果Param值为0,就全部渲染干燥效果的颜色,如果Param值为255,就全部渲染潮湿效果的颜色,如果Param值介于0和255之间,就会根据Param值在两种颜色之间插值,渲染出半潮湿的效果。
首先,在步骤101,修改地形数据块中体素数据的Param值,展现地形潮湿过程。在步骤101中,根据玩家的“浇水”行为,遍历地形数据块中浇水点(中心点)周围一定范围内的体素,根据与浇水点的距离修改体素数据的Param。具体地,以与离浇水点的距离成比例的方式使Param值变小,也就是说,离浇水点越近体素数据的Param值越大,反之就越小。换言之,地形由干燥变为潮湿是一个瞬时的过程,根据上面对地形体素数据的解释,潮湿效果就是修改体素数据中的Param值。
在本实施例中,以“浇水”行为为例进行说明,但不限于此,可以是“下雨”、“下雪”等行为。在本实施例中,服务器和客户端执行同样的Param值修改算法,客户端重新生成地形网格(Mesh)后,就展现了潮湿的效果。
在步骤102,在客户端根据时间戳和风干速度,对当前地形数据的param值进行修正及颜色的插值,展现地形风干过程。其中,对于数据可修改地形,每个Chunk都会记录有一个时间戳,在Chunk数据修改时时间戳就会被更改。因此,对于潮湿后没有发生数据修改的地形的Chunk来说,时间戳记录了潮湿材质刚开始变为潮湿的时刻。风干速度是指,一种材质潮湿后单位时间内Param值减少的程度。具体地,在步骤102中,对于指定Chunk,在客户端根据当前Chunk的时间戳和服务器当前时间(客户端会始终维护一个服务器时间),可以计算出潮湿经历时间,即该Chunk从变为潮湿开始到当前帧为止经历的时间;在传给着色器的常量中,我们增加了潮湿经历时间和风干速度两个参数;在着色器中,根据这两个参数,可以计算出Param值的差值,即当前体素数据的Param值应该减少的数值,对当前的Param值进行修改;基于修改后的Param值进行颜色的插值;在客户端进行渲染时,对每帧都要绘制视野内可见Chunk的地形网格信息。其中,材质参数值的差值通过对风干速度乘以当前时间与时间戳的差来计算而得到。
由于,每帧计算出的潮湿经历时间都在逐渐增加,因此Param值也在逐渐减少,就展现了逐步风干的过程。地形展现出潮湿的效果后,必须让其逐渐风干才能模拟现实世界的干燥过程。
从上面的客户端风干过程可以看出,客户端的风干仅仅是在渲染层上进行了Param值的修改,而真正体素数据中的Param值并没有修改。由于所有客户端执行的逻辑都是一致的,因此虽然体素数据没有修改,但是所有客户端都能看到一致的逐步风干过程,而在这个过程中,服务器和客户端之间也没有做任何同步。
在步骤103,触发地形修改,在服务器和客户端计算当前地形数据的param值,并设置到体素数据上,展现地形风干过程。具体地,在步骤103中,根据体素数据的修改,修改时间戳;根据修改后的时间戳和风干速度,在服务器修改Param值,并将其设置到体素数据上,直到材质参数值变为0。仅在体素数据发生修改时,例如地形被挖或抬高,对应的Chunk的时间戳就会发生变化。这时,服务器和客户端会遍历该Chunk的所有潮湿体素数据(Param值大于0),并根据老时间戳(在本次修改之前的时间戳)到新时间戳(在本次修改后的时间戳)经历的时间以及材质的风干速度,计算当前时间的Param值,并将其设置到体素数据上。如果Param值修改后还是大于0,客户端还会继续风干下去。
由于在服务器计算Param值的算法和客户端风干过程中计算Param的算法是完全一致的,因此可以保证时间戳和Param值修改后,客户端的效果不会发生突变。同时,触发地形修改后,服务器和客户端会执行同样的地形修改算法和Param值修改算法,因此也可以保证服务器和客户端修改后的Param值完全一致。
综上,没有增加额外的同步信息,本方法可以实现地形的潮湿和逐步风干的效果。
实施例一:
用单一体素数据举例来说明服务器和客户端潮湿和风干的过程。
首先,将体素的Param值由0变为255,时间戳设置为1000(单位为秒)。由此,使地形潮湿。
之后,假设材质的风干速度为2,即Param值每秒减少2。之后,着色器中进行如下计算:对于时间为1001的帧,dec_param(Param值的差值)=2*(1001-1000)=2,因此渲染时按照255-2=253来进行颜色的插值;对于时间为1010的帧,dec_param=2*(1010-1000)=20,因此渲染时按照255-20=235来进行颜色的插值;以此类推。由此,在客户端对地形进行风干。
之后,假设时间为1020时修改地形,服务器和客户端的时间戳都被修改为1020,dec_param=2*(1020-1000)=40,Param值在服务器和客户端都修改为255-40=215,由于Param值仍然大于0,客户端还会继续进行风干的过程。
根据本实施例,修改体素数据的Param值,以使地形潮湿;在客户端根据时间戳、风干速度和Param值对地形进行风干;在服务器根据新时间戳、风干速度和Param值对地形进行风干。因此,既能在客户端表现上模拟现实世界逐渐风干的过程,又无需额外的同步操作即可保证服务器和客户端潮湿地形的数据一致。
根据本实施例,在客户端和服务器仅根据新老时间戳、风干速度、和Param值实现潮湿和风干效果。因此,能够减少计算量,提高效率,以简单的方式实现潮湿和风干效果。
本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述的地形潮湿和风干效果的渲染方法的步骤。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种地形潮湿和风干效果的渲染方法,包括以下步骤:
1)修改体素数据的材质参数,展现地形潮湿过程;
2)客户端对当前的材质参数进行修正及颜色的插值,展现地形风干过程;
3)服务器根据时间戳和风干速度,获取当前的材质参数,并设置到体素数据上,展现地形风干过程。
2.根据权利要求1所述的地形潮湿和风干效果的渲染方法,其特征在于,所述步骤1),进一步包括:
指定数据块中某一点作为中心点,遍历该中心点周围一定范围内的体素;
将与所述中心点对应的体素数据的材质参数设为最大;
按照与所述中心点的距离由近到远,将体素数据的材质参数逐渐减少;
客户端重新生成地形网格,展现潮湿的效果。
3.根据权利要求1所述的地形潮湿和风干效果的渲染方法,其特征在于,所述步骤2),进一步包括:
在客户端根据当前数据块的时间戳和服务器当前时间,获得数据块从变为潮湿开始到当前帧经历的时间;
客户端根据所述经历的时间和风干速度,获得材质参数的差值,修正当前体素数据的材质参数;
基于修改后当前体素数据的材质参数进行颜色的插值;
客户端重新生成地形网格,展现逐步风干的过程。
4.根据权利要求3所述的地形潮湿和风干效果的渲染方法,其特征在于,
所述客户端根据所述经历的时间和风干速度,获得材质参数的差值的步骤,是通过对风干速度乘以当前时间与时间戳的差来计算而得到。
5.根据权利要求1所述的地形潮湿和风干效果的渲染方法,其特征在于,所述步骤3),进一步包括:
根据地形数据发生修改的时长和风干速度,获得当前体素数据的材质参数;
服务器将获得的当前体素数据的材质参数设置到体素数据上,直到材质参数值变为0。
6.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至5任一项所述的地形潮湿和风干效果的渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811478071.7A CN109739472A (zh) | 2018-12-05 | 2018-12-05 | 一种地形潮湿和风干效果的渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811478071.7A CN109739472A (zh) | 2018-12-05 | 2018-12-05 | 一种地形潮湿和风干效果的渲染方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739472A true CN109739472A (zh) | 2019-05-10 |
Family
ID=66358523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811478071.7A Withdrawn CN109739472A (zh) | 2018-12-05 | 2018-12-05 | 一种地形潮湿和风干效果的渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739472A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130039594A1 (en) * | 2010-04-20 | 2013-02-14 | Quqing Chen | Method and device for encoding data for rendering at least one image using computer graphics and corresponding method and device for decoding |
CN107172136A (zh) * | 2017-05-04 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 体素数据的同步方法和装置 |
CN108010126A (zh) * | 2017-12-11 | 2018-05-08 | 苏州蜗牛数字科技股份有限公司 | 基于体素构建大规模复杂地形的方法及系统 |
CN108573523A (zh) * | 2017-03-13 | 2018-09-25 | 西门子医疗有限公司 | 用于分割体积渲染的方法和系统 |
-
2018
- 2018-12-05 CN CN201811478071.7A patent/CN109739472A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130039594A1 (en) * | 2010-04-20 | 2013-02-14 | Quqing Chen | Method and device for encoding data for rendering at least one image using computer graphics and corresponding method and device for decoding |
CN108573523A (zh) * | 2017-03-13 | 2018-09-25 | 西门子医疗有限公司 | 用于分割体积渲染的方法和系统 |
CN107172136A (zh) * | 2017-05-04 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 体素数据的同步方法和装置 |
CN108010126A (zh) * | 2017-12-11 | 2018-05-08 | 苏州蜗牛数字科技股份有限公司 | 基于体素构建大规模复杂地形的方法及系统 |
Non-Patent Citations (1)
Title |
---|
SÉBASTIEN LAGARDE: ""Water drop 2b – Dynamic rain and its effects"", 《HTTPS://SEBLAGARDE.WORDPRESS.COM/2013/01/03/WATER-DROP-2B-DYNAMIC-RAIN-AND-ITS-EFFECTS/》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107358649B (zh) | 地形文件的处理方法和装置 | |
CN108057245B (zh) | 地图的生成方法和装置、存储介质及终端 | |
CN108416843A (zh) | 三维场景构建方法、装置、设备及计算机可读存储介质 | |
TW200945253A (en) | Geospatial modeling system providing simulated tree trunks and branches for groups of tree crown vegetation points and related methods | |
CN103745497B (zh) | 植物生长建模方法和系统 | |
EP1566770A2 (en) | Development tool for defining attributes within a multi-dimensional space | |
CN104599319B (zh) | 一种3d场景的实时生成方法 | |
CN110333924A (zh) | 一种图像渐变调整方法、装置、设备及存储介质 | |
CN109147050B (zh) | 基于Unity引擎地形系统的道路网格创建方法及装置 | |
CN110163946A (zh) | 游戏中植被的渲染方法和装置 | |
Chiba et al. | Visual simulation of botanical trees based on virtual heliotropism and dormancy break | |
CN110070609A (zh) | 地形数据的处理方法、装置、存储介质、处理器及终端 | |
CN111524214B (zh) | 一种植被生物群落的制作方法及装置 | |
CN109035423A (zh) | 一种房屋的虚拟三维模型的楼层分割方法及装置 | |
CN109712227B (zh) | 一种体素地形的管理方法 | |
CN103021011A (zh) | 高效的植被动画 | |
CN110288690B (zh) | 沙盘地图中山体的生成方法及装置、存储介质、处理器 | |
CN109739472A (zh) | 一种地形潮湿和风干效果的渲染方法 | |
US20230302362A1 (en) | Virtual object control method based on distance from player-controlled virtual object | |
Chiba et al. | A growth model having the abilities of growth-regulations for simulating visual nature of botanical trees | |
Chiba et al. | Visual simulation of leaf arrangement and autumn colours | |
CN105654542A (zh) | 虚拟机场模型地表纹理投影渲染方法 | |
CN115518374A (zh) | 虚拟场景中的植被生成方法、装置和电子设备 | |
CN111467800A (zh) | 虚拟三维模型的融合方法和装置 | |
CN114677482B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190510 |
|
WW01 | Invention patent application withdrawn after publication |