CN111862324B - 水系的烘焙方法及装置、存储介质、电子装置 - Google Patents

水系的烘焙方法及装置、存储介质、电子装置 Download PDF

Info

Publication number
CN111862324B
CN111862324B CN202010660962.5A CN202010660962A CN111862324B CN 111862324 B CN111862324 B CN 111862324B CN 202010660962 A CN202010660962 A CN 202010660962A CN 111862324 B CN111862324 B CN 111862324B
Authority
CN
China
Prior art keywords
water system
water
grid
river
scene
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
Application number
CN202010660962.5A
Other languages
English (en)
Other versions
CN111862324A (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.)
Perfect World Beijing Software Technology Development Co Ltd
Original Assignee
Perfect World Beijing Software Technology Development 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 Perfect World Beijing Software Technology Development Co Ltd filed Critical Perfect World Beijing Software Technology Development Co Ltd
Priority to CN202010660962.5A priority Critical patent/CN111862324B/zh
Publication of CN111862324A publication Critical patent/CN111862324A/zh
Application granted granted Critical
Publication of CN111862324B publication Critical patent/CN111862324B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • 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
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Fuel Cell (AREA)
  • Cookers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种水系的烘焙方法及装置、存储介质、电子装置,其中,该方法包括:在虚拟场景的地图中设置水系区域;根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。通过本发明,解决了相关技术中的只能采用图像素材拼接水系的技术问题,使虚拟场景中水系的显示效果更加细腻逼真。

Description

水系的烘焙方法及装置、存储介质、电子装置
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种水系的烘焙方法及装置、存储介质、电子装置。
背景技术
相关技术中随着计算机图形学的发展,人们对图像逼真度的追求越来越高。利用图像学的技术可以描述越来越多的真实图像,其中通过法线贴图的方法可以是提高对三维图像描述的逼真度。在计算机处理能力有限的情况下或者渲染动画受时间限制时。
相关技术中,在虚拟游戏等场景中制作河道时,一般是将河道、河流,以及周边的景物,如水草,沼泽作为一个完整的素材,通过PS等图像软件拼接制作,可以是静态或者是动态的贴图在游戏场景中,不管是河流的走势,直流、流速等都是素材中固定,不能与周边的场景相融合,看起来不够真实。河道与场景中的周围环境不协调,此外,制作的水系效果粗糙,不能体现分流、汇流、流速等河道的细节。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种水系的烘焙方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种水系的烘焙方法,包括:在虚拟场景的地图中设置水系区域;根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
可选的,在虚拟场景的地图中设置水系区域包括:在虚拟场景的地图中选择封闭曲线,其中,所述封闭曲线围成湖海水系;在虚拟场景的地图中设置开放曲线,其中,所述开放曲线对应河流水系;在虚拟场景的地图中设置水系源头,其中,所述水系源头对应溪流水系的发源地。
可选的,在所述水系区域为湖海水系时,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据包括:计算湖海水系的封闭曲线上的点投影到场景地形上的最低高度;以所述最低高度为水面的最高高度,生成所述封闭曲线的水面网格,以及根据预设距离场生成所述封闭曲线的槽底网格,其中,所述水面网格覆盖所述槽底网格;将所述槽底网格投影到场景地形上,并调整所述场景地形的地形高度。
可选的,根据预设距离场生成槽底网格包括:基于所述预设距离场的距离和深度斜坡从水岸开始降低水漫滩和水底的高度,以生成槽底网格,其中,所述槽底网格覆盖所述水岸、所述水漫滩和所述水底的区域。
可选的,在所述水系区域为河流水系时,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据包括:调整所述河流水系的开放曲线,以使所述开放曲线在场景地形中从高处流向低处;在所述开放曲线中划分河道区域,其中,所述河道区域包括:河底、河漫滩、河岸;根据场景地形的地形参数调整所述河道区域;生成所述河道区域的水面网格和槽底网格。
可选的,根据场景地形的地形参数调整所述河道区域包括:根据地形坡度调整河道宽度,其中,所述地形坡度与所述河道宽度成负相关;根据曲率调整河道中心偏移程度,以使所述河道区域在凸岸呈缓坡、在凹岸呈陡坡;其中,所述场景地形包括:所述地形坡度、所述曲率。
可选的,在所述水系区域为溪流水系时,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据包括:以所述溪流水系的水系源头为起始位置计算路径曲线;生成所述路径曲线的水面网格和槽底网格。
可选的,以所述溪流水系的水系源头为起始位置计算路径曲线包括:分别以所述溪流水系的多个水系源头为多个起始点,分别向场景地形中高度下降最快的邻接点迭代延伸,直到汇流至已有水系,并剔除在预设步长内未汇流至已有水系的路径曲线。
可选的,在根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据之后,所述方法还包括:拼接水面网格,并将所述水面网格按照场景位置分块;在所述虚拟场景中添加水的碰撞模型,并根据所述碰撞模型烘焙所述水系区域的流动贴图和泡沫区域;在所述水系区域中添加粒子特效;设置所述水系区域的水面材质。
根据本发明的另一个实施例,提供了一种水系的烘焙装置,包括:第一设置模块,用于在虚拟场景的地图中设置水系区域;生成模块,用于根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;投影模块,用于将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
可选的,所述第一设置模块包括以下至少之一:第一设置单元,用于在虚拟场景的地图中选择封闭曲线,其中,所述封闭曲线围成湖海水系;第二设置单元,用于在虚拟场景的地图中设置开放曲线,其中,所述开放曲线对应河流水系;第三设置单元,用于在虚拟场景的地图中设置水系源头,其中,所述水系源头对应溪流水系的发源地。
可选的,在所述水系区域为湖海水系时,所述生成模块包括:第一计算单元,用于计算湖海水系的封闭曲线上的点投影到场景地形上的最低高度;第一生成单元,用于以所述最低高度为水面的最高高度,生成所述封闭曲线的水面网格,以及根据预设距离场生成所述封闭曲线的槽底网格,其中,所述水面网格覆盖所述槽底网格。
可选的,所述第一生成单元包括:生成子单元,用于基于所述预设距离场的距离和深度斜坡从水岸开始降低水漫滩和水底的高度,以生成槽底网格,其中,所述槽底网格覆盖所述水岸、所述水漫滩和所述水底的区域。
可选的,在所述水系区域为河流水系时,所述生成模块包括:第一调整单元,用于调整所述河流水系的开放曲线,以使所述开放曲线在场景地形中从高处流向低处;划分单元,用于在所述开放曲线中划分河道区域,其中,所述河道区域包括:河底、河漫滩、河岸;第二调整单元,用于根据场景地形的地形参数调整所述河道区域;第二生成单元,用于生成所述河道区域的水面网格和槽底网格。
可选的,所述第二调整单元包括:调整子单元,用于根据地形坡度调整河道宽度,其中,所述地形坡度与所述河道宽度成负相关;根据曲率调整河道中心偏移程度,以使所述河道区域在凸岸呈缓坡、在凹岸呈陡坡;其中,所述场景地形包括:所述地形坡度、所述曲率。
可选的,在所述水系区域为溪流水系时,所述生成模块包括:第二计算单元,用于以所述溪流水系的水系源头为起始位置计算路径曲线;第三生成单元,用于生成所述路径曲线的水面网格和槽底网格。
可选的,所述第二计算单元包括:迭代子单元,用于分别以所述溪流水系的多个水系源头为多个起始点,分别向场景地形中高度下降最快的邻接点迭代延伸,直到汇流至已有水系,并剔除在预设步长内未汇流至已有水系的路径曲线。
可选的,所述装置还包括:处理模块,用于在所属生成模块根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据之后,拼接水面网格,并将所述水面网格按照场景位置分块;第一添加模块,用于在所述虚拟场景中添加水的碰撞模型,并根据所述碰撞模型烘焙所述水系区域的流动贴图和泡沫区域;第二添加模块,用于在所述水系区域中添加粒子特效;第二设置模块,用于设置所述水系区域的水面材质。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在虚拟场景的地图中设置水系区域,然后根据水系区域所在位置的地形参数生成水系区域的网格数据,最后将槽底网格投射至虚拟场景的场景地形上,并调整场景地形的地形高度,使用虚拟场景的场景地形来生成水系的网格数据,可以根据地形的曲线、坡度等参数生成对应深度、宽度的水系,水系与周边环境融合,接近自然水系的表现,可以烘培和渲染出水系更多的细节,解决了相关技术中的只能采用图像素材拼接水系的技术问题,使虚拟场景中水系的显示效果更加细腻逼真。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种水系的烘焙计算机的硬件结构框图;
图2是根据本发明实施例的一种水系的烘焙方法的流程图;
图3是本发明实施例中水系的烘焙流程图;
图4是本发明实施例生成湖海水系的效果示意图;
图5是本发明实施例在河流中生成多个河道区域的示意图;
图6是本发明实施例生成河流水系的效果示意图;
图7是本发明实施例在地形中通过坡度调整河道宽度的示意图;
图8是本发明实施例在河道中增加沙洲的示意图;
图9是本发明实施例根据水源地生成溪流的示意图;
图10是根据本发明实施例的一种水系的烘焙装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、平板、、服务器、计算机或者类似的电子终端中执行。以运行在计算机上为例,图1是本发明实施例的一种水系的烘焙计算机的硬件结构框图。如图1所示,计算机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种水系的烘焙方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在本实施例中,处理器104用于响应人机交互指令和游戏策略,控制目标虚拟角色执行指定操作以完成游戏任务。存储器104用于存储电子游戏的程序脚本,配置信息,虚拟角色的属性信息等。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
可选的,输入输出设备108还包括人机交互屏幕用于通过人机交互接口获取人机交互指令,还用于呈现游戏任务中的游戏画面;
在本实施例中提供了一种水系的烘焙方法,图2是根据本发明实施例的一种水系的烘焙方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在虚拟场景的地图中设置水系区域;
本实施例的虚拟场景可以是线上游戏场景,卡通剧情中的外景等。水系区域是由水流和水系周边地貌(如沼泽,沙滩,河堤等)形成的区域,可以是条状的河流,也可以是块状的湖泊等。
步骤S204,根据水系区域所在位置的地形参数生成水系区域的网格数据,其中,网格数据包括水面网格和槽底网格;
本实施例的槽底是水域中被水流淹没的部分,随水位涨落而变化,其形态受地形、地质、土壤、水流冲刷、搬运和泥沙堆积的影响,在水域为河流时,槽底即河床或河槽。
步骤S206,将槽底网格投射至虚拟场景的场景地形上,并调整场景地形的地形高度;
通过上述步骤,在虚拟场景的地图中设置水系区域,然后根据水系区域所在位置的地形参数生成水系区域的网格数据,最后将槽底网格投射至虚拟场景的场景地形上,并调整场景地形的地形高度,使用虚拟场景的场景地形来生成水系的网格数据,可以根据地形的曲线、坡度等参数生成对应深度、宽度的河道等水系,水系与周边环境融合,接近自然水系的表现,可以烘培和渲染出水系更多的细节,解决了相关技术中的只能采用图像素材拼接水系的技术问题,使虚拟场景中水系的显示效果更加细腻逼真。
在本实施例中,水系可以分为湖海水系和河流水系、溪流水系,其中,湖海水系包括琥珀、海洋等水面高程起伏小,河道分叉多,分流汇流多的水域;河流水系是面高程起伏大,河道相对简单的曲线水域,溪流水系则是溪流是比较窄的,流径地区比较小,是主河道或者是湖海水系的支流。
在本实施例的一个实例中,在虚拟场景的地图中设置水系区域包括以下至少之一:在虚拟场景的地图中选择封闭曲线,其中,封闭曲线围成湖海水系;在虚拟场景的地图中设置开放曲线,其中,开放曲线对应河流水系;在虚拟场景的地图中设置水系源头,其中,水系源头对应溪流水系的发源地。
在一些大型的虚拟场景中,可以同时设置多个类型的水系,在一些简单、小范围的虚拟场景中,可以设置单类型的水系。
通过输入河流曲线,按照河流从高处流向低处的自然规律,调整曲线高度,使下游点的高度始终低于上游的点。然后,根据地形的坡度和坡向,使曲线上的点下滑一定距离。这样,曲线上的点会更趋向于处于局部区域的最低点,即沟壑处,使河道的分布更自然。然后向两侧扩张曲线形成河道区域,包含河底、河漫滩和河岸,地形的坡度影响河道,坡度平缓的区域,河道较宽,坡度陡峭的区域,河道较窄。最后生成河面和槽底mesh(网格),河面mesh覆盖河底区域,槽底mesh覆盖河底、河漫滩和河岸区域,河底和河漫滩区域下沉,河岸呈一定坡度与原始地形融合。河底和河漫滩在河流的截面处,会根据河流本身的曲率产生偏移,使凸岸变缓,凹岸变陡,更接近自然河道的表现。最后槽底mesh投影到地形上,改变地形高度,最终形成河道。
本实施例的方案可以在houdini等特效图形软件等实现,图3是本发明实施例中水系的烘焙流程图,水系HAD(HDA指houdini digital asset,是houdini封装的数据处理流程文件。每条河流的HDA可以根据输入的曲线和参数,自动生成水面mesh和改变地形高程)包括了每个河流、湖泊、小溪的HDA节点,输出地形和mesh数据。其中,地形数据存储成中间文件,作为下一个地形工作环节的输入,地形数据:地形高度,地形图层(如河流区域,河岸区域),点云(如摆放水花、瀑布特效、雾);Mesh数据则存储成单独的文件,供水系烘焙HDA节点在UE4里生成水面等几何数据,Mesh数据包括水系HAD的水面mesh。每种类型的水系都有一个HDA可以重复调用,通过输入水系区域(曲线、点),虚拟场景的场景地形,可以输出变化后的场景地形,水面模型,水面及水边的MASK(遮罩)。
下面分别针对不同的水系类型对本实施例的方案进行说明:
在本实施例的一个示例中,在水系区域为湖海水系时,根据水系区域所在位置的地形参数生成水系区域的网格数据包括:
S11,计算湖海水系的封闭曲线上的点投影到场景地形上的最低高度;
S12,以最低高度为水面的最高高度,生成封闭曲线的水面网格,以及根据预设距离场生成封闭曲线的槽底网格,其中,水面网格覆盖槽底网格。
在本示例的一个实施方式中,根据预设距离场生成槽底网格包括:基于预设距离场的距离和深度斜坡从水岸开始降低水漫滩和水底的高度,以生成槽底网格,其中,槽底网格覆盖水岸、水漫滩和水底的区域。
在湖海水系中:输入封闭曲线,计算曲线上的点投影到地形上的最低高度,确保水面高度在此高度以下,生成水面mesh,生成距离场,根据设置的距离和深度ramp,降低湖底高度,生成湖底mesh,投影到地形上,改变地形高度。图4是本发明实施例生成湖海水系的效果示意图,在调整场景地形时,可以在Houdini上调整以下参数来实现,Max Depth:最大水深,Max Radius:从最大水深区域到湖边的距离,Terrain Distort:湖底地形的扭曲程度,用于增加地形的纹理细节,Depth Ramp:深度从最大水深区域到湖边的斜坡。在调整水面时,可以通过调整以下参数来实现:Mesh Expansion:水面模型扩张的大小,用于防止水面Mesh的边界裸露在地形上面,Height Offset:水面高度偏移值。
在本实施例的另一个示例中,在水系区域为河流水系时,根据水系区域所在位置的地形参数生成水系区域的网格数据包括:
S21,调整河流水系的开放曲线,以使开放曲线在场景地形中从高处流向低处;
S22,在开放曲线中划分河道区域,其中,河道区域包括:河底、河漫滩、河岸;图5是本发明实施例在河流中生成多个河道区域的示意图,包括多个河岸、河漫滩。
S23,根据场景地形的地形参数调整河道区域;
S24,生成河道区域的水面网格和槽底网格。
在本示例的一个实施方式中,根据场景地形的地形参数调整河道区域包括:根据地形坡度调整河道宽度,其中,地形坡度与河道宽度成负相关;根据曲率调整河道中心偏移程度,以使河道区域在凸岸呈缓坡、在凹岸呈陡坡;其中,场景地形包括:地形坡度、曲率。
在河流水系中:输入开放曲线,调整曲线,使曲线从高处流向低处,划分河道区域,包括河底、河漫滩、河岸,根据坡度调整河道宽度,根据曲率调整河道中心偏移程度,在凸岸呈缓坡和在凹岸呈陡坡,生成水面mesh,生成河底mesh,修改地形高度。图6是本发明实施例生成河流水系的效果示意图,在Houdini上操作时,可以通过设置宽度、坡度、河道路径、抖动系数、蜿蜒系数等来实现。其中,宽度(Width)系数包括,Min Width:最小水面宽度,MaxWidth:最大水面宽度,Width Ramp:水面宽度Width ramp:指河流位置(源头为0,末端为1)与水面宽度的关系,Ramp Water Level Ratio:水面占河道的比例,平均水面占整个河道的比例,如干涸的河流占比小,Width Noise Size:宽度噪声尺寸,水面宽度使用的perlin噪声的大小,控制噪声的重复度,Width Noise Offset:宽度噪声偏移,水面宽度噪声的偏移,计算过程:
float3 weight=perlinNoise(worldpos/_WidthNoiseSize+_WidthNoiseOffset);float width=lerp(_MinWidth,_MaxWidth,weight)。
坡度(Slope),表现坡度对河道宽度的影响。坡度越大水流越急,宽度越窄,反之水流减缓,宽度变宽。图7是本发明实施例在地形中通过坡度调整河道宽度的示意图,左边坡度较小,河道较宽,右边坡度较大,河道较窄。
在本示例中,坡度系数包括,Slope Factor Min:宽度最小系数,坡度最缓时,宽度的倍率,Slope Factor Max:宽度最大系数,坡度最陡时,宽度的倍率,Slope Exponent:坡度分布指数,改变坡度映射,控制坡度的分布,Slope Smoothness:坡度平滑程度,表现河道路径的随机变化。路径上的坡度对抖动强度有一定影响,坡度越小,抖动越强。
在本示例中,抖动(Jitter)包括,JItter Amplitude:河流的随机抖动强度,SlopeExponent:坡度分布指数,Noise Scale:抖动噪声尺寸,Noise Offset:抖动噪声偏移。蜿蜒(Meandering)用于表现河道中心的抖动,包括,Meandering:蜿蜒强度,Max Slope:最大坡度(范围0到1),Slope Exponent:坡度分布指数,Meandering Smooth:蜿蜒平滑程度,NoiseSize:蜿蜒噪声尺寸,Noise Offset:蜿蜒噪声偏移。
在本示例中,根据地形,滑动河道上的点,使河道路径的高度尽可能下降最快。包括以下参数,Curve Smooth:曲线平滑程度,Slide Amount:曲线随地形滑动的强度,SlideIterations:滑动的迭代次数。
在本示例中,还包括路径侵蚀相关的参数,保证水往低处流,Slope:河道顺流而下的最小坡度,Erosion:顺流而下,压低地形(侵蚀),Fill:逆流而上,抬高地形(填坑),为了实现阶梯化河道(Cascade),可以生成和设置以下参数,Cascade Ratio:生成阶梯的比重,Cascade Seed:随机种子,每个节点在创建的时,会用随机数生成一个随机种子作为噪声的种子使用者对噪声效果不满意时,也手动可以修改随机种子,改变随机表现,SlopeThreshold:坡度阈值,坡度小于阈值的区域不产生阶梯,Start U:开始位置,范围0-1,EndU:结束位置,范围0-1。
在本示例中,可以设置阶梯形状(Shape)相关的参数,包括,Step Length:阶梯长度,Min Step:阶梯最小高度差,Max Step:阶梯最大高度差,Noise Amplitude:阶梯高度噪声强度,Noise Size:阶梯高度噪声尺寸。在手动设置houdini时,通过设置以下参数来实现,Curve Position:阶梯位置,Step Height:阶梯高度。
在本示例中,在调整河流的深度(Depth)时,可以在houdini中生成和设置以下参数来实现,Water Depth:河道深度,Floodplain Depth:河漫滩深度,Width Ramp:水面宽度Ramp,Water Depth Ramp:河道深度Ramp,河道弯曲会改变河道两岸的坡度,凸岸变缓,形成滩地,凹岸变陡,形成陡崖。在调整河道(Channel)时,入参包括,Outer Angle:外角坡度,角度制,范围0-90,Natural Angle:正常坡度,角度制,范围0-90,Inner Angle:内角坡度,角度制,范围0-90,Curvature Factor:坡度系数,数值越大,两岸变化越明显。在调整河岸(Bank)时,入参包括,Outer Angle:外角坡度,角度制,范围0-90,Natural Angle:正常坡度,角度制,范围0-90,Inner Angle:内角坡度,角度制,范围0-90,Curvature Factor:坡度系数,数值越大,两岸变化越明显,河道地形变化(Terrain),Noise Amplitude:噪声强度,Noise Size:噪声尺寸,Roughness:粗糙度。
在本示例中,还可以在河流中添加沙洲,图8是本发明实施例在河道中增加沙洲的示意图,在增加沙洲(Island)时,可以设置以下参数,Island Threshold:生成阈值,控制沙洲出现的频率,Noise Size:噪声大小,Noise Offset:噪声偏移。沙洲形状(Shape)相关的参数包括,Height:沙洲高度,Foot Size:沙洲底部半径,Top Size:沙洲顶部半径,Shrink:沙洲收缩程度,Blur:沙洲地形模糊程度,Distort Amplitude:沙洲地形扭曲强度,DistortSize:沙洲地形扭曲噪声尺寸。
在本示例中,在生成水面网格时,可以通过以下参数来调整,Display Grid:显示网格,Per Gird Length:每个网格的长度,Expansion Ratio:模型扩张系数,贴合河道地形修正(Snap to Terrain)。
对河道地形做平滑处理后,地形和水面可能会出现不一致,需要进行二次贴合,由于直接生成的槽底mesh,由于精度原因,转角处可能不够平滑,需要做平滑处理,河底mesh和河面mesh本来是配套的,两者可以无缝贴合,但是修改了河底mesh之后,两者就不完全匹配了。所以需要二次贴合,避免产生缝隙。包括以下参数,Natural Ratio:普通区域贴合地形比例,Fall Start Ratio:阶梯开始区域贴合地形比例,Fall End Ratio:阶梯结束区域贴合地形比例。
在本实施例的另一个示例中,在水系区域为溪流水系时,根据水系区域所在位置的地形参数生成水系区域的网格数据包括:
S31,以溪流水系的水系源头为起始位置计算路径曲线;
S32,生成路径曲线的水面网格和槽底网格。
在本示例的一个实施方式中,以溪流水系的水系源头为起始位置计算路径曲线包括:分别以溪流水系的多个水系源头为多个起始点,分别向场景地形中高度下降最快的邻接点迭代延伸,直到汇流至已有水系,并剔除在预设步长内未汇流至已有水系的路径曲线。
在溪流水系中:输入源头位置,根据地形,往高度下降最快的方向延伸曲线,剔除没有流到现有水系的曲线,同河流,生成水面mesh和槽底mesh,并改变地形高度。图9是本发明实施例根据水源地生成溪流的示意图。不同于河流,小溪只有源头的位置,没有路径曲线,所以需要计算路径。选取起始点(水源地),根据寻路路径来形成路径曲线,自动生成小溪路径。计算时,不断向当前点的最快下降方向延伸,直至汇入现有的河流,没有汇流或者达不到要求的曲线最终会被剔除。循环调用河流的HDA即可自动生成小溪。
在本实施例中,在根据水系区域所在位置的地形参数生成水系区域的网格数据之后,还包括:拼接水面网格,并将水面网格按照场景位置分块;在虚拟场景中添加水的碰撞模型,并根据碰撞模型烘焙水系区域的流动贴图和泡沫区域;在水系区域中添加粒子特效;设置水系区域的水面材质。
可选的,本实施例的流动贴图用于实现水体流动的效果,是一种UV动画,,通过给贴图的移动预先烘焙好一段移动的轨迹,使水流看起来栩栩如生。水面材质可以通过在流动贴图中增加对应的函数节点来实现不同材质的水流。
在烘焙流向图(Flowmap)是,可以通过以下参数来实现,Bake Flowmap:是否烘焙Flowmap,Flowmap Folder Path:输出Flowmap的路径,Slope Factor:流速随坡度增大的强度,Obstacle Strength:水流受障碍物阻挡的强度,Obstacle Division Size:水流在障碍物周围产生扰流的半径大小,Foam Size:产生泡沫的区域大小,Foam Power:泡沫亮度的指数大小。在设置点云(Points)时,可以在UE4中通过以下参数来实现,Generate ReflectionProbes:是否在水面上生成环境反射探针,Generate Splashes:是否生成撞击的水花特效,Splash Threshold:水花的阈值,范围为0到1。值越大,水花越少,反之,水花越多。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种水系的烘焙装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图10是根据本发明实施例的一种水系的烘焙装置的结构框图,如图10所示,该装置包括:第一设置模块100,生成模块102,投影模块104,其中,
第一设置模块100,用于在虚拟场景的地图中设置水系区域;
生成模块102,用于根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;
投影模块104,用于将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
可选的,所述第一设置模块包括以下至少之一:第一设置单元,用于在虚拟场景的地图中选择封闭曲线,其中,所述封闭曲线围成湖海水系;第二设置单元,用于在虚拟场景的地图中设置开放曲线,其中,所述开放曲线对应河流水系;第三设置单元,用于在虚拟场景的地图中设置水系源头,其中,所述水系源头对应溪流水系的发源地。
可选的,在所述水系区域为湖海水系时,所述生成模块包括:第一计算单元,用于计算湖海水系的封闭曲线上的点投影到场景地形上的最低高度;第一生成单元,用于以所述最低高度为水面的最高高度,生成所述封闭曲线的水面网格,以及根据预设距离场生成所述封闭曲线的槽底网格,其中,所述水面网格覆盖所述槽底网格。
可选的,所述第一生成单元包括:生成子单元,用于基于所述预设距离场的距离和深度斜坡从水岸开始降低水漫滩和水底的高度,以生成槽底网格,其中,所述槽底网格覆盖所述水岸、所述水漫滩和所述水底的区域。
可选的,在所述水系区域为河流水系时,所述生成模块包括:第一调整单元,用于调整所述河流水系的开放曲线,以使所述开放曲线在场景地形中从高处流向低处;划分单元,用于在所述开放曲线中划分河道区域,其中,所述河道区域包括:河底、河漫滩、河岸;第二调整单元,用于根据场景地形的地形参数调整所述河道区域;第二生成单元,用于生成所述河道区域的水面网格和槽底网格。
可选的,所述第二调整单元包括:调整子单元,用于根据地形坡度调整河道宽度,其中,所述地形坡度与所述河道宽度成负相关;根据曲率调整河道中心偏移程度,以使所述河道区域在凸岸呈缓坡、在凹岸呈陡坡;其中,所述场景地形包括:所述地形坡度、所述曲率。
可选的,在所述水系区域为溪流水系时,所述生成模块包括:第二计算单元,用于以所述溪流水系的水系源头为起始位置计算路径曲线;第三生成单元,用于生成所述路径曲线的水面网格和槽底网格。
可选的,所述第二计算单元包括:迭代子单元,用于分别以所述溪流水系的多个水系源头为多个起始点,分别向场景地形中高度下降最快的邻接点迭代延伸,直到汇流至已有水系,并剔除在预设步长内未汇流至已有水系的路径曲线。
可选的,所述装置还包括:处理模块,用于在所属生成模块根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据之后,拼接水面网格,并将所述水面网格按照场景位置分块;第一添加模块,用于在所述虚拟场景中添加水的碰撞模型,并根据所述碰撞模型烘焙所述水系区域的流动贴图和泡沫区域;第二添加模块,用于在所述水系区域中添加粒子特效;第二设置模块,用于设置所述水系区域的水面材质。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在虚拟场景的地图中设置水系区域;
S2,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;
S3,将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在虚拟场景的地图中设置水系区域;
S2,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;
S3,将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种水系的烘焙方法,其特征在于,包括:
在虚拟场景的地图中设置水系区域;
根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;
将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
2.根据权利要求1所述的方法,其特征在于,在虚拟场景的地图中设置水系区域包括以下至少之一:
在虚拟场景的地图中选择封闭曲线,其中,所述封闭曲线围成湖海水系;
在虚拟场景的地图中设置开放曲线,其中,所述开放曲线对应河流水系;
在虚拟场景的地图中设置水系源头,其中,所述水系源头对应溪流水系的发源地。
3.根据权利要求2所述的方法,其特征在于,在所述水系区域为湖海水系时,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据包括:
计算湖海水系的封闭曲线上的点投影到场景地形上的最低高度;
以所述最低高度为水面的最高高度,生成所述封闭曲线的水面网格,以及根据预设距离场生成所述封闭曲线的槽底网格,其中,所述水面网格覆盖所述槽底网格。
4.根据权利要求3所述的方法,其特征在于,根据预设距离场生成槽底网格包括:
基于所述预设距离场的距离和深度斜坡从水岸开始降低水漫滩和水底的高度,以生成槽底网格,其中,所述槽底网格覆盖所述水岸、所述水漫滩和所述水底的区域。
5.根据权利要求2所述的方法,其特征在于,在所述水系区域为河流水系时,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据包括:
调整所述河流水系的开放曲线,以使所述开放曲线在场景地形中从高处流向低处;
在所述开放曲线中划分河道区域,其中,所述河道区域包括:河底、河漫滩、河岸;
根据场景地形的地形参数调整所述河道区域;
生成所述河道区域的水面网格和槽底网格。
6.根据权利要求5所述的方法,其特征在于,根据场景地形的地形参数调整所述河道区域包括:
根据地形坡度调整河道宽度,其中,所述地形坡度与所述河道宽度成负相关;根据曲率调整河道中心偏移程度,以使所述河道区域在凸岸呈缓坡、在凹岸呈陡坡;
其中,所述场景地形包括:所述地形坡度、所述曲率。
7.根据权利要求2所述的方法,其特征在于,在所述水系区域为溪流水系时,根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据包括:
以所述溪流水系的水系源头为起始位置计算路径曲线;
生成所述路径曲线的水面网格和槽底网格。
8.根据权利要求7所述的方法,其特征在于,以所述溪流水系的水系源头为起始位置计算路径曲线包括:
分别以所述溪流水系的多个水系源头为多个起始点,分别向场景地形中高度下降最快的邻接点迭代延伸,直到汇流至已有水系,并剔除在预设步长内未汇流至已有水系的路径曲线。
9.根据权利要求1所述的方法,其特征在于,在根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据之后,所述方法还包括:
拼接水面网格,并将所述水面网格按照场景位置分块;
在所述虚拟场景中添加水的碰撞模型,并根据所述碰撞模型烘焙所述水系区域的流动贴图和泡沫区域;
在所述水系区域中添加粒子特效;
设置所述水系区域的水面材质。
10.一种水系的烘焙装置,其特征在于,包括:
第一设置模块,用于在虚拟场景的地图中设置水系区域;
生成模块,用于根据所述水系区域所在位置的地形参数生成所述水系区域的网格数据,其中,所述网格数据包括水面网格和槽底网格;
投影模块,用于将所述槽底网格投射至所述虚拟场景的场景地形上,并调整所述场景地形的地形高度。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9任一项中所述的方法。
CN202010660962.5A 2020-07-10 2020-07-10 水系的烘焙方法及装置、存储介质、电子装置 Active CN111862324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010660962.5A CN111862324B (zh) 2020-07-10 2020-07-10 水系的烘焙方法及装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010660962.5A CN111862324B (zh) 2020-07-10 2020-07-10 水系的烘焙方法及装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN111862324A CN111862324A (zh) 2020-10-30
CN111862324B true CN111862324B (zh) 2023-07-28

Family

ID=73153537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010660962.5A Active CN111862324B (zh) 2020-07-10 2020-07-10 水系的烘焙方法及装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN111862324B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112316435A (zh) * 2020-11-18 2021-02-05 网易(杭州)网络有限公司 一种虚拟河流模型制作方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050233805A1 (en) * 2004-03-31 2005-10-20 Konami Computer Entertainment Japan, Inc. Game software and game machine having function of displaying big surface object
US20140306996A1 (en) * 2013-04-15 2014-10-16 Tencent Technology (Shenzhen) Company Limited Method, device and storage medium for implementing augmented reality
CN107886562A (zh) * 2017-12-05 2018-04-06 北京像素软件科技股份有限公司 水面渲染方法、装置及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050233805A1 (en) * 2004-03-31 2005-10-20 Konami Computer Entertainment Japan, Inc. Game software and game machine having function of displaying big surface object
US20140306996A1 (en) * 2013-04-15 2014-10-16 Tencent Technology (Shenzhen) Company Limited Method, device and storage medium for implementing augmented reality
CN107886562A (zh) * 2017-12-05 2018-04-06 北京像素软件科技股份有限公司 水面渲染方法、装置及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
水虚拟仿真技术研究进展;方贵盛等;《系统仿真学报》;20130908(第09期);全文 *

Also Published As

Publication number Publication date
CN111862324A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
Hnaidi et al. Feature based terrain generation using diffusion equation
Cordonnier et al. Large scale terrain generation from tectonic uplift and fluvial erosion
Cline et al. Dart throwing on surfaces
Smelik et al. A declarative approach to procedural modeling of virtual worlds
CN111862291B (zh) 水系的烘焙方法及装置、存储介质、电子装置
US7412362B2 (en) River modeling
KR101235538B1 (ko) 규칙 기반 절차적 지형 생성
US20130300741A1 (en) Adaptive mesh refinement
US8207966B2 (en) Terrain editor tool for rule-based procedural terrain generation
CN105023296B (zh) 一种面向3d打印的半色调投影与模型生成方法
KR20070049115A (ko) 규칙 기반 절차적 지형 생성을 위한 자원 관리
JP2017004517A (ja) テッセレーション方法
CN111862324B (zh) 水系的烘焙方法及装置、存储介质、电子装置
CN112717414B (zh) 游戏场景编辑方法、装置、电子设备以及存储介质
US11069099B2 (en) Drawing curves in space guided by 3-D objects
CN111135565B (zh) 游戏场景内的地形拼接方法、装置、处理器及电子装置
Martins et al. A well balanced Roe scheme for the local inertial equations with an unstructured mesh
Shaker et al. Fractals, noise and agents with applications to landscapes
EP3828822A1 (en) Civil engineering
CN106327566A (zh) 虚拟现实三维道路的生成方法
Wu et al. Computational mirror cup and saucer art
CN107945273B (zh) 地形网格的处理方法和装置、存储介质及终端
EP0801775B1 (fr) Procede de generation dynamique d'images synthetiques a niveau de detail automatique, et dispositif de mise en oeuvre
CN115953541A (zh) 一种四叉树lod地形生成方法、装置、设备及存储介质
Teoh Riverland: An efficient procedural modeling system for creating realistic-looking terrains

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