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

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

Info

Publication number
CN111862291B
CN111862291B CN202010660666.5A CN202010660666A CN111862291B CN 111862291 B CN111862291 B CN 111862291B CN 202010660666 A CN202010660666 A CN 202010660666A CN 111862291 B CN111862291 B CN 111862291B
Authority
CN
China
Prior art keywords
map
flow
water system
water surface
water
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
CN202010660666.5A
Other languages
English (en)
Other versions
CN111862291A (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 CN202010660666.5A priority Critical patent/CN111862291B/zh
Publication of CN111862291A publication Critical patent/CN111862291A/zh
Application granted granted Critical
Publication of CN111862291B publication Critical patent/CN111862291B/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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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/05Geographic models
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种水系的烘焙方法及装置、存储介质、电子装置,其中,该方法包括:在虚拟场景的地图中设置水系区域;生成所述水系区域的水面网格,其中,所述水面网格包括流向引导线;根据所述流向引导线计算所述水系区域的流动贴图。通过本发明,解决了相关技术中的只能采用图像素材拼接水系的技术问题,使虚拟场景中水系的显示效果更加细腻逼真。

Description

水系的烘焙方法及装置、存储介质、电子装置
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种水系的烘焙方法及装置、存储介质、电子装置。
背景技术
相关技术中随着计算机图形学的发展,人们对图像逼真度的追求越来越高。利用图像学的技术可以描述越来越多的真实图像,其中通过法线贴图的方法可以是提高对三维图像描述的逼真度。
相关技术中,在虚拟游戏等场景中制作河道时,一般是将河道、河流,以及周边的景物,如水草,沼泽作为一个完整的素材,通过PS等图像软件拼接制作,可以是静态或者是动态的贴图在游戏场景中,不管是河流的走势,直流、流速等都是素材中固定,不能与周边的场景相融合,看起来不够真实。河道与场景中的周围环境不协调,此外,制作的水系效果粗糙,不能体现分流、汇流、流速等河道的细节。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种水系的烘焙方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种水系的烘焙方法,包括:在虚拟场景的地图中设置水系区域;生成所述水系区域的水面网格,其中,所述水面网格包括流向引导线;根据所述流向引导线计算所述水系区域的流动贴图。
可选的,生成所述水系区域的水面网格包括:设置第一纹理贴图坐标和第二纹理贴图坐标,其中,所述第一纹理贴图坐标为参考坐标,所述第二纹理贴图坐标为世界坐标;按照所述水系区域的走向将所述第一纹理贴图坐标铺满所述水系区域的表面,得到第一水面网格;基于所述第一水面网格的长宽比缩放所述第二纹理贴图坐标后,将缩放后的第二纹理贴图铺满所述水系区域的表面,得到第二水面网格。
可选的,在生成所述水系区域的水面网格之后,所述方法还包括以下至少之一:在所述水面网格的第一位置布置反射探头,其中,所述反射探头用于在所述水系区域中渲染反射特效;在所述水面网格的第二位置布置障碍物,其中,所述障碍物用于在所述水系区域中渲染粒子特效。
可选的,根据所述流向引导线计算所述水系区域的流动贴图包括:计算第一流场和第二流场在汇流处的混合流场,其中,所述第一流场和第二流场分别对应所述水系区域的第一支流和第二支流;根据所述混合流场确定所述汇流处的汇流贴图。
可选的,计算第一流场和第二流场在汇流处的混合流场包括:确定所述第一流场的第一流速,确定所述第二流场的第二流速,以及计算所述第一流场的流向引导线到所述汇流处的第一最近距离,计算所述第二流场的流向引导线到所述汇流处的第二最近距离;根据所述第一最近距离计算所述第一流速的第一权重,所述第二最近距离计算所述第二流速的第二权重;使用所述第一权重和所述第二权重对第一流速和所述第二流速进行加权求和,并将求和结果插值到所述汇流处的混合流场的属性值。
可选的,根据所述流向引导线计算所述水系区域的流动贴图包括:计算所述水面网格中水面和障碍物相交的碰撞点集合;对所述水系区域中水面上的每一个像素点,计算到最近碰撞点的向量,并与所述流向引导线的速度向量做点积,得到泡沫区域;根据所述流向引导线的流场使用欧拉法对所述泡沫区域做卷积,得到所述泡沫区域的拖尾区域。
可选的,根据所述流向引导线计算所述水系区域的流动贴图包括:通过二维方向纹理扭曲初始水面贴图,得到第一扭曲贴图,其中,所述二维方向纹理的方向与所述流向引导线的方向相同;将所述二维方向纹理偏移预设时间后,继续扭曲所述初始水面贴图,得到第二扭曲贴图;计算所述第一扭曲贴图和所述第二扭曲贴图的差值,得到所述流动贴图的UV坐标值。
可选的,在虚拟场景的地图中设置水系区域包括:在引擎中选择封闭曲线,其中,所述封闭曲线围成湖海水系;将所述封闭曲线投影到所述虚拟场景的地图中,并在所述地图中将所述封闭曲线修改为水系地形。
可选的,在虚拟场景的地图中设置水系区域包括:在所述虚拟场景中设置开放曲线,其中,所述开放曲线围成河流水系;通过阶跃函数截断所述开放曲线,其中,每个截断点对应一个曲线坡度;以所述开放曲线为中间线,向两侧平行扩张多条外围曲线,其中,所述外围曲线包括:与地形融合的地形曲线和不与地形融合的水域曲线;将所述开放曲线和所述外围曲线投影到所述虚拟场景的地图中,并在所述地图中将所述地形曲线修改为水系地形。
根据本发明的另一个实施例,提供了一种水系的烘焙装置,包括:第一设置模块,用于在虚拟场景的地图中设置水系区域;生成模块,用于生成所述水系区域的水面网格,其中,所述水面网格包括流向引导线;计算模块,用于根据所述流向引导线计算所述水系区域的流动贴图。
可选的,所述生成模块包括:设置单元,用于设置第一纹理贴图坐标和第二纹理贴图坐标,其中,所述第一纹理贴图坐标为参考坐标,所述第二纹理贴图坐标为世界坐标;第一铺设单元,用于按照所述水系区域的走向将所述第一纹理贴图坐标铺满所述水系区域的表面,得到第一水面网格;第二铺设单元,用于基于所述第一水面网格的长宽比缩放所述第二纹理贴图坐标后,将缩放后的第二纹理贴图铺满所述水系区域的表面,得到第二水面网格。
可选的,所述装置还包括以下至少之一:第二设置模块,用于在所述生成模块生成所述水系区域的水面网格之后,在所述水面网格的第一位置布置反射探头,其中,所述反射探头用于在所述水系区域中渲染反射特效;第三设置模块,用于在所述生成模块生成所述水系区域的水面网格之后,在所述水面网格的第二位置布置障碍物,其中,所述障碍物用于在所述水系区域中渲染粒子特效。
可选的,所述计算模块包括:第一计算单元,用于计算第一流场和第二流场在汇流处的混合流场,其中,所述第一流场和第二流场分别对应所述水系区域的第一支流和第二支流;确定单元,用于根据所述混合流场确定所述汇流处的汇流贴图。
可选的,所述第一计算单元包括:处理子单元,用于确定所述第一流场的第一流速,确定所述第二流场的第二流速,以及计算所述第一流场的流向引导线到所述汇流处的第一最近距离,计算所述第二流场的流向引导线到所述汇流处的第二最近距离;计算子单元,用于根据所述第一最近距离计算所述第一流速的第一权重,所述第二最近距离计算所述第二流速的第二权重;插值子单元,用于使用所述第一权重和所述第二权重对第一流速和所述第二流速进行加权求和,并将求和结果插值到所述汇流处的混合流场的属性值。
可选的,所述计算模块包括:第二计算单元,用于计算所述水面网格中水面和障碍物相交的碰撞点集合;第三计算单元,用于对所述水系区域中水面上的每一个像素点,计算到最近碰撞点的向量,并与所述流向引导线的速度向量做点积,得到泡沫区域;第三计算单元,用于根据所述流向引导线的流场使用欧拉法对所述泡沫区域做卷积,得到所述泡沫区域的拖尾区域。
可选的,所述计算模块包括:第一扭曲单元,用于通过二维方向纹理扭曲初始水面贴图,得到第一扭曲贴图,其中,所述二维方向纹理的方向与所述流向引导线的方向相同;第二扭曲单元,用于将所述二维方向纹理偏移预设时间后,继续扭曲所述初始水面贴图,得到第二扭曲贴图;第四计算单元,用于计算所述第一扭曲贴图和所述第二扭曲贴图的差值,得到所述流动贴图的UV坐标值。
可选的,所述第一设置模块包括:选择单元,用于在所述引擎中选择封闭曲线,其中,所述封闭曲线围成湖海水系;第一处理单元,用于将所述封闭曲线投影到所述虚拟场景的地图中,并在所述地图中将所述封闭曲线修改为水系地形。
可选的,所述第一设置模块包括:设置单元,用于在所述虚拟场景中设置开放曲线,其中,所述开放曲线围成河流水系;截断单元,用于通过阶跃函数截断所述开放曲线,其中,每个截断点对应一个曲线坡度;扩张单元,用于以所述开放曲线为中间线,向两侧平行扩张多条外围曲线,其中,所述外围曲线包括:与地形融合的地形曲线和不与地形融合的水域曲线;第二处理单元,用于将所述开放曲线和所述外围曲线投影到所述虚拟场景的地图中,并在所述地图中将所述地形曲线修改为水系地形。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在虚拟场景的地图中设置水系区域,然后生成所述水系区域的水面网格,根据所述流向引导线计算所述水系区域的流动贴图,通过烘培水系的水面网格和流动贴图,可以烘培和渲染出水系更多的细节,解决了相关技术中的只能采用图像素材拼接水系的技术问题,使虚拟场景中水系的显示效果更加细腻逼真。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种水系的烘焙计算机的硬件结构框图;
图2是根据本发明实施例的一种水系的烘焙方法的流程图;
图3是本发明实施例在虚拟场景中设置湖海水系的示意图;
图4是本发明实施例在虚拟场景中设置河流水系的示意图;
图5是本发明实施例的贴图数据修改前后的渲染示意图;
图6是根据本发明实施例的一种水系的烘焙装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例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,根据流向引导线计算水系区域的流动贴图;
本实施例的流动贴图用于实现水体流动的效果,是一种UV动画,通过给贴图的移动预先烘焙好一段移动的轨迹,使水流看起来栩栩如生。
可选的,在根据流向引导线计算水系区域的流动贴图之后,还可以在流动贴图中添加水面材质。水面材质可以通过在流动贴图中增加对应的函数节点来实现不同材质的水流。
通过上述步骤,在虚拟场景的地图中设置水系区域,然后生成所述水系区域的水面网格,根据所述流向引导线计算所述水系区域的流动贴图,通过烘培水系的水面网格和流动贴图,可以烘培和渲染出水系更多的细节,解决了相关技术中的只能采用图像素材拼接水系的技术问题,使虚拟场景中水系的显示效果更加细腻逼真。
在本实施例中,水系可以分为湖海水系和河流水系,其中,湖海水系包括琥珀、海洋等水面高程起伏小,河道分叉多,分流汇流多的水域;河流水系是面高程起伏大,河道相对简单的曲线水域。
在本实施例的一个实例中,在虚拟场景中设置湖海水系,在虚拟场景的地图中设置水系区域包括:在引擎中选择封闭曲线,其中,封闭曲线围成湖海水系;将封闭曲线投影到虚拟场景的地图中,并在地图中将封闭曲线修改为水系地形。
可以在引擎(如ue、Unity3D)里画选择一条封闭曲线,投影到地图上,根据曲线围成的区域修改地形,在封闭曲线的边界进行平滑处理,加上流水和风化侵蚀的特效,同时,曲线经过扩张会形成水面的网格。图3是本发明实施例在虚拟场景中设置湖海水系的示意图,从选择封闭曲线,到围成水域,修改地形,形成水面网格和湖槽。
在本实施例的另一个实例中,在虚拟场景中设置河流水系,在虚拟场景的地图中设置水系区域包括:在虚拟场景中设置开放曲线,其中,开放曲线围成河流水系;通过阶跃函数截断开放曲线,其中,每个截断点对应一个曲线坡度;以开放曲线为中间线,向两侧平行扩张多条外围曲线,其中,外围曲线包括:与地形融合的地形曲线和不与地形融合的水域曲线;将开放曲线和外围曲线投影到虚拟场景的地图中,并在地图中将地形曲线修改为水系地形。
河流根据场景开放曲线生成。曲线要遵循河流从高处往低处流的规律。用阶跃函数(step函数)对高度做截断,改变曲线的坡度,可以在坡度变化大的截断点添加泡沫、瀑布等效果。如果有和其他水面网格相接的情况,要保持截断的高度与相接水面的高度一致。由一条中间的曲线扩张,生成多条平行的曲线,在一个示例中,生成八条平行的曲线,其中,最外面的两条曲线和地形融合,中间的四条曲线表示有水的区域,最中间的两条曲线表示河底。用houdini的投影节点,将河底的mesh投影到地形上,河底的mesh用来投影到地形上,改变地形高度,形成河床,在曲线的边缘区域加上平滑,再加上流水和风化侵蚀。图4是本发明实施例在虚拟场景中设置河流水系的示意图,从一条开放曲线,到坡度设计,宽度设计(扩张为多条平行曲线),最后修改地形,形成河槽。
在本实施例中,生成水系区域的水面网格包括:设置第一纹理贴图坐标和第二纹理贴图坐标,其中,第一纹理贴图坐标为参考坐标,第二纹理贴图坐标为世界坐标;按照水系区域的走向将第一纹理贴图坐标铺满水系区域的表面,得到第一水面网格;基于第一水面网格的长宽比缩放第二纹理贴图坐标后,将缩放后的第二纹理贴图铺满水系区域的表面,得到第二水面网格。
本实施例中的纹理贴图坐标也称为uv坐标,是uv纹理贴图坐标的简称,它和空间模型的X,Y,Z轴是类似的。它定义了图片上每个点的位置的信息。UV就是将图像上每一个点精确对应到模型物体的表面。在点与点之间的间隙位置由软件进行图像光滑插值处理。这就是所谓的UV贴图。UW主要是针对多边形与细分表面的一个元素,同时又是确定2D纹理的坐标点。它控制纹理在模型上的对应关系,这里的纹理主要是指2D纹理。模型上的每个UV直接依附于模型上的每个顶点,位于某个UV的像素点将被放置在模型上这个UV所依附的顶点之上。
在本实施例中,设置了两套uv坐标,分别是uv0(第一纹理贴图坐标)和uv1(第二纹理贴图坐标),是同一个水面mesh上的两套纹理贴图坐标,uv0是用于生成(流动贴图)Flowmap,uv1是用于滚动法线贴图。
对于湖海水系,uv0可以是直接用houdini投影到水平面自动生成,uv1使用世界坐标,方便所有水面的法线能接上。对于河流水系,水面网格由上述八条曲线中间的四条组成。uv0按照河流走向铺满贴图,uv1根据水面mesh的实际宽度和长度进行缩放,如按照mesh的长宽比进行缩放,可以避免采样的贴图有拉伸,场景中使用的法线贴图的长宽比基本维持原有比例。在两个水系的接缝位置(指两条河的水面mesh交接的地方),首先,生成的mesh顶点的位置要能接上,顶点法线也要一致,因为水流材质用的PBR模型,所以接缝处需要保证两边的PBR参数相同,包括normal,specular,diffuse,opacity,roughness等参数。河流mesh的边界用顶点色区分,作为权重进行PBR参数的插值,水面的材质是由它的PBR参数(如固有色diffuse,粗糙度roughness)决定的。如果两个mesh在同一块区域的PBR参数一致,它们的表现就是一致的,反之,则会有突变,两个mesh无法平滑连接。顶点色作为权重,对PBR参数进行插值,使交界处的参数一致,从而使最终两条河的材质效果能平滑过渡。
在本实施例的一个实施方式中,还可以在水面网格增加一些反射探头和障碍物,以实现波澜起伏的效果。在生成水系区域的水面网格之后,方法还包括以下至少之一:在水面网格的第一位置布置反射探头,其中,反射探头用于在水系区域中渲染反射特效;在水面网格的第二位置布置障碍物,其中,障碍物用于在水系区域中渲染粒子特效。
通过在mesh的周围可以布置一些散点,如隔一段区域布置一个反射探头(reflectionprobe),提高水面环境反射的质量;根据坡度变化布置障碍物,增加粒子效果,比如瀑布、水花等,瀑布大部分存在于水面坡度突变的位置,直接对水面按河流流向求导,计算出每个位置坡度的变化程度,变化较大的位置即可摆放相关的粒子效果,另外,坡度变化的方向,如变缓还是变陡,也会影响摆放的粒子效果的种类和区域面积。
在本实施例中,根据流向引导线计算水系区域的流动贴图包括:
S11,计算第一流场和第二流场在汇流处的混合流场,其中,第一流场和第二流场分别对应水系区域的第一支流和第二支流;
在本实施例的一个实施方式中,计算第一流场和第二流场在汇流处的混合流场包括:确定第一流场的第一流速,确定第二流场的第二流速,以及计算第一流场的流向引导线到汇流处的第一最近距离,计算第二流场的流向引导线到汇流处的第二最近距离;根据第一最近距离计算第一流速的第一权重,第二最近距离计算第二流速的第二权重;使用第一权重和第二权重对第一流速和第二流速进行加权求和,并将求和结果插值到汇流处的混合流场的属性值。
S12,根据混合流场确定汇流处的汇流贴图。
在生成flowmap时,每一个水面都有一条引导线标识主要的流向和流速,通过使用混合flowmap的方式可以实现汇流和分流的效果,比如,有两条河汇流,每条河都有它独立的流场,汇流处的流场是综合多条河流场的结果。计算汇流处每个位置的流速(矢量,包含流速大小和方向两个信息)时,根据和每条有影响的河的距离,计算权重,再加权求和。其中,权重是每个位置到引导线的最近距离的幂的倒数,这样,汇流处的流场会表现每条出流入流出河流的特征,实现了不同水系汇流使得完美融合,在分流时,与汇流操作相反,通过主流的流速计算出分流的流速。
可选的,高度场节点需要转化成mesh,才能作为障碍物连上节点,可以避免数据量太大而导致烘培引擎(如Houdini)崩溃。Houdini里的地形高度场是一种栅格/像素类型的数据,导入碰撞计算时,需要转换成mesh网格。Houdini提供了一个remesh节点可以重新组织mesh的拓扑结构,可以在保留mesh精度的同时减少整体面数。但是,如果要转化的mesh面数过大,数据量会突破houdini的内存上限,导致软件崩溃。
基于本实施方式,实现了河道分流、汇流等细节。
可选的,本实施例的流向引导线要设置在河道的中间,线上的点为连续点,否则flowmap可能会断开;烘焙的贴图要选线性空间,且不能压缩,分辨率可以适当降低;河流过长时,uv的精度可能不够,需要在模型设置里打开全精度uv选项。
本实施例在流动贴图中烘培泡沫效果时,根据流向引导线计算水系区域的流动贴图包括:计算水面网格中水面和障碍物相交的碰撞点集合;对水系区域中水面上的每一个像素点,计算到最近碰撞点的向量,并与流向引导线的速度向量做点积,得到泡沫区域;根据流向引导线的流场使用欧拉法对泡沫区域做卷积,得到泡沫区域的拖尾区域。
由于流水和障碍物发生碰撞,会挤压水体,进而产生泡沫,产生的泡沫可以在houdini等图像引擎中演算,最后存储在贴图上。由于flowmap只用了RGB通道中的RG通道,所以泡沫的mask可以直接放在B通道里。计算方法包括:使用intersectionanalysis节点求出水面和障碍物的交点的集合;对水面上的每一个点,计算到最近交点的向量,再和Flowmap的速度向量做dot,计算出碰撞的区域,也可以使用距离场计算绕流的方法计算出碰撞的区域;根据流场用欧拉法对泡沫做卷积,使泡沫有拖尾效果。图5是本发明实施例在河流中产生泡沫的示意图,通过在特定的位置放置障碍物,可以计算出泡沫区域以及泡沫的拖尾区域。
在本实施例的一个实施方式中,根据流向引导线计算水系区域的流动贴图包括:通过二维方向纹理扭曲初始水面贴图,得到第一扭曲贴图,其中,二维方向纹理的方向与流向引导线的方向相同;将二维方向纹理偏移预设时间后,继续扭曲初始水面贴图,得到第二扭曲贴图;计算第一扭曲贴图和第二扭曲贴图的差值,得到流动贴图的UV坐标值。
flowmap在游戏等场景中可以用来模拟流动的效果,它的原理是使用一张二维方向纹理来对贴图的UV坐标进行扭曲。从而达到一种图像在流动的感觉。因为是对贴图进行的操作,所以在性能上的影响很小。作为流动模拟具体的实现思路如下:使用一张flowmap将原图进行扭曲,获得扭曲贴图1;将时间进行一定偏移,对原图进行另一次扭曲,获得扭曲贴图2;将两张扭曲贴图进行差值,在流动的同时将两张贴图进行差值,得到无限流动的感觉。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种水系的烘焙装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的一种水系的烘焙装置的结构框图,如图6所示,该装置包括:第一设置模块60,生成模块62,计算模块64,添加模块66,其中,
第一设置模块60,用于在虚拟场景的地图中设置水系区域;
生成模块62,用于生成所述水系区域的水面网格,其中,所述水面网格包括流向引导线;
计算模块64,用于根据所述流向引导线计算所述水系区域的流动贴图。
可选的,所述生成模块包括:设置单元,用于设置第一纹理贴图坐标和第二纹理贴图坐标,其中,所述第一纹理贴图坐标为参考坐标,所述第二纹理贴图坐标为世界坐标;第一铺设单元,用于按照所述水系区域的走向将所述第一纹理贴图坐标铺满所述水系区域的表面,得到第一水面网格;第二铺设单元,用于基于所述第一水面网格的长宽比缩放所述第二纹理贴图坐标后,将缩放后的第二纹理贴图铺满所述水系区域的表面,得到第二水面网格。
可选的,所述装置还包括以下至少之一:第二设置模块,用于在所述生成模块生成所述水系区域的水面网格之后,在所述水面网格的第一位置布置反射探头,其中,所述反射探头用于在所述水系区域中渲染反射特效;第三设置模块,用于在所述生成模块生成所述水系区域的水面网格之后,在所述水面网格的第二位置布置障碍物,其中,所述障碍物用于在所述水系区域中渲染粒子特效。
可选的,所述计算模块包括:第一计算单元,用于计算第一流场和第二流场在汇流处的混合流场,其中,所述第一流场和第二流场分别对应所述水系区域的第一支流和第二支流;确定单元,用于根据所述混合流场确定所述汇流处的汇流贴图。
可选的,所述第一计算单元包括:处理子单元,用于确定所述第一流场的第一流速,确定所述第二流场的第二流速,以及计算所述第一流场的流向引导线到所述汇流处的第一最近距离,计算所述第二流场的流向引导线到所述汇流处的第二最近距离;计算子单元,用于根据所述第一最近距离计算所述第一流速的第一权重,所述第二最近距离计算所述第二流速的第二权重;插值子单元,用于使用所述第一权重和所述第二权重对第一流速和所述第二流速进行加权求和,并将求和结果插值到所述汇流处的混合流场的属性值。
可选的,所述计算模块包括:第二计算单元,用于计算所述水面网格中水面和障碍物相交的碰撞点集合;第三计算单元,用于对所述水系区域中水面上的每一个像素点,计算到最近碰撞点的向量,并与所述流向引导线的速度向量做点积,得到泡沫区域;第三计算单元,用于根据所述流向引导线的流场使用欧拉法对所述泡沫区域做卷积,得到所述泡沫区域的拖尾区域。
可选的,所述计算模块包括:第一扭曲单元,用于通过二维方向纹理扭曲初始水面贴图,得到第一扭曲贴图,其中,所述二维方向纹理的方向与所述流向引导线的方向相同;第二扭曲单元,用于将所述二维方向纹理偏移预设时间后,继续扭曲所述初始水面贴图,得到第二扭曲贴图;第四计算单元,用于计算所述第一扭曲贴图和所述第二扭曲贴图的差值,得到所述流动贴图的UV坐标值。
可选的,所述第一设置模块包括:选择单元,用于在引擎中选择封闭曲线,其中,所述封闭曲线围成湖海水系;第一处理单元,用于将所述封闭曲线投影到所述虚拟场景的地图中,并在所述地图中将所述封闭曲线修改为水系地形。
可选的,所述第一设置模块包括:设置单元,用于在所述虚拟场景中设置开放曲线,其中,所述开放曲线围成河流水系;截断单元,用于通过阶跃函数截断所述开放曲线,其中,每个截断点对应一个曲线坡度;扩张单元,用于以所述开放曲线为中间线,向两侧平行扩张多条外围曲线,其中,所述外围曲线包括:与地形融合的地形曲线和不与地形融合的水域曲线;第二处理单元,用于将所述开放曲线和所述外围曲线投影到所述虚拟场景的地图中,并在所述地图中将所述地形曲线修改为水系地形。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例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.根据权利要求1所述的方法,其特征在于,在生成所述水系区域的水面网格之后,所述方法还包括以下至少之一:
在所述水面网格的第一位置布置反射探头,其中,所述反射探头用于在所述水系区域中渲染反射特效;
在所述水面网格的第二位置布置障碍物,其中,所述障碍物用于在所述水系区域中渲染粒子特效。
4.根据权利要求1所述的方法,其特征在于,根据所述流向引导线计算所述水系区域的流动贴图包括:
计算第一流场和第二流场在汇流处的混合流场,其中,所述第一流场和第二流场分别对应所述水系区域的第一支流和第二支流;
根据所述混合流场确定所述汇流处的汇流贴图。
5.根据权利要求4所述的方法,其特征在于,计算第一流场和第二流场在汇流处的混合流场包括:
确定所述第一流场的第一流速,确定所述第二流场的第二流速,以及计算所述第一流场的流向引导线到所述汇流处的第一最近距离,计算所述第二流场的流向引导线到所述汇流处的第二最近距离;
根据所述第一最近距离计算所述第一流速的第一权重,所述第二最近距离计算所述第二流速的第二权重;
使用所述第一权重和所述第二权重对第一流速和所述第二流速进行加权求和,并将求和结果插值到所述汇流处的混合流场的属性值。
6.根据权利要求1所述的方法,其特征在于,根据所述流向引导线计算所述水系区域的流动贴图包括:
计算所述水面网格中水面和障碍物相交的碰撞点集合;
对所述水系区域中水面上的每一个像素点,计算到最近碰撞点的向量,并与所述流向引导线的速度向量做点积,得到泡沫区域;
根据所述流向引导线的流场使用欧拉法对所述泡沫区域做卷积,得到所述泡沫区域的拖尾区域。
7.根据权利要求1所述的方法,其特征在于,根据所述流向引导线计算所述水系区域的流动贴图包括:
通过二维方向纹理扭曲初始水面贴图,得到第一扭曲贴图,其中,所述二维方向纹理的方向与所述流向引导线的方向相同;
将所述二维方向纹理偏移预设时间后,继续扭曲所述初始水面贴图,得到第二扭曲贴图;
计算所述第一扭曲贴图和所述第二扭曲贴图的差值,得到所述流动贴图的UV坐标值。
8.根据权利要求1所述的方法,其特征在于,在虚拟场景的地图中设置水系区域包括:
在引擎中选择封闭曲线,其中,所述封闭曲线围成湖海水系;
将所述封闭曲线投影到所述虚拟场景的地图中,并在所述地图中将所述封闭曲线修改为水系地形。
9.根据权利要求1所述的方法,其特征在于,在虚拟场景的地图中设置水系区域包括:
在所述虚拟场景中设置开放曲线,其中,所述开放曲线围成河流水系;
通过阶跃函数截断所述开放曲线,其中,每个截断点对应一个曲线坡度;
以所述开放曲线为中间线,向两侧平行扩张多条外围曲线,其中,所述外围曲线包括:与地形融合的地形曲线和不与地形融合的水域曲线;
将所述开放曲线和所述外围曲线投影到所述虚拟场景的地图中,并在所述地图中将所述地形曲线修改为水系地形。
10.一种水系的烘焙装置,其特征在于,包括:
第一设置模块,用于在虚拟场景的地图中设置水系区域;
生成模块,用于生成所述水系区域的水面网格,其中,所述水面网格包括流向引导线;
计算模块,用于根据所述流向引导线计算所述水系区域的流动贴图;
其中,在所述水面网格中设置第一纹理贴图坐标和第二纹理贴图坐标,所述第二纹理贴图坐标根据水面网格的实际宽度和长度进行缩放,所述第一纹理贴图坐标用于生成流动贴图,所述第二纹理贴图坐标用于滚动法线贴图。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9任一项中所述的方法。
CN202010660666.5A 2020-07-10 2020-07-10 水系的烘焙方法及装置、存储介质、电子装置 Active CN111862291B (zh)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN111862291A CN111862291A (zh) 2020-10-30
CN111862291B true CN111862291B (zh) 2024-01-09

Family

ID=73152078

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN111862291B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734894B (zh) * 2021-01-25 2023-07-14 腾讯科技(深圳)有限公司 虚拟毛发的绘制方法、装置和存储介质及电子设备
CN113034662B (zh) * 2021-03-29 2023-03-31 网易(杭州)网络有限公司 虚拟场景渲染方法、装置、存储介质及电子设备
CN113888688B (zh) * 2021-08-20 2023-01-03 完美世界互娱(北京)科技有限公司 毛发渲染方法、设备及存储介质
CN114842118A (zh) * 2022-04-18 2022-08-02 北京达佳互联信息技术有限公司 三维模型贴图方法、装置、电子设备及存储介质
CN115120972A (zh) * 2022-06-14 2022-09-30 网易(杭州)网络有限公司 目标流体渲染方法、装置、存储介质及电子装置
CN116664785A (zh) * 2023-01-03 2023-08-29 广州全成多维信息技术有限公司 基于三维技术的工程地形绘制方法、装置、设备及介质

Citations (5)

* 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
CN107886562A (zh) * 2017-12-05 2018-04-06 北京像素软件科技股份有限公司 水面渲染方法、装置及可读存储介质
CN107918949A (zh) * 2017-12-11 2018-04-17 网易(杭州)网络有限公司 虚拟资源对象的渲染方法、存储介质、处理器及终端
CN109887063A (zh) * 2019-02-01 2019-06-14 网易(杭州)网络有限公司 三维空间中虚拟流体的实现方法、装置、介质及电子设备
CN110706325A (zh) * 2019-09-29 2020-01-17 江苏科技大学 一种三维海底环境实时动态渲染方法和渲染系统

Patent Citations (5)

* 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
CN107886562A (zh) * 2017-12-05 2018-04-06 北京像素软件科技股份有限公司 水面渲染方法、装置及可读存储介质
CN107918949A (zh) * 2017-12-11 2018-04-17 网易(杭州)网络有限公司 虚拟资源对象的渲染方法、存储介质、处理器及终端
CN109887063A (zh) * 2019-02-01 2019-06-14 网易(杭州)网络有限公司 三维空间中虚拟流体的实现方法、装置、介质及电子设备
CN110706325A (zh) * 2019-09-29 2020-01-17 江苏科技大学 一种三维海底环境实时动态渲染方法和渲染系统

Non-Patent Citations (1)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN111862291B (zh) 水系的烘焙方法及装置、存储介质、电子装置
KR101591427B1 (ko) 3차원 지형 영상 가시화에서의 적응형 렌더링 방법
US20080043021A1 (en) Three Dimensional Polygon Mesh Deformation Using Subspace Energy Projection
CN106157354A (zh) 一种三维场景切换方法及系统
EP3683769B1 (en) Image generation with simulated depth-of-field effect
Pastor et al. Real-time animated stippling
CN107403459A (zh) 真实地形快速建模方法和滑坡可视化技术
Shaker et al. Fractals, noise and agents with applications to landscapes
CN108230430B (zh) 云层遮罩图的处理方法及装置
CN106327566A (zh) 虚拟现实三维道路的生成方法
Golubev et al. Dijkstra-based terrain generation using advanced weight functions
CN111862324B (zh) 水系的烘焙方法及装置、存储介质、电子装置
CN116310013A (zh) 动画渲染方法、装置、计算机设备及计算机可读存储介质
KR20080018405A (ko) 3차원 지형의 제작을 제공하는 지형 제작 프로그램을기록한 컴퓨터 판독가능 기록매체
JPH0973559A (ja) モーフィング編集装置
CN116246001A (zh) 污渍纹理的渲染方法、装置、电子设备及可读存储介质
JP6727575B2 (ja) ハプティック相関グラフィック効果
CN110782529B (zh) 一种基于三维人脸实现眼球转动效果的方法和设备
Teoh Riverland: An efficient procedural modeling system for creating realistic-looking terrains
JP5616198B2 (ja) 異なる詳細度を持つ同一地物の外観表示用画像の生成方法及びその装置
KR100684558B1 (ko) 텍스쳐 밉매핑 장치 및 방법
US20070285431A1 (en) Systems and methods for elliptical filtering
Hesse et al. A Quantitative Analysis of Culling Techniques for Real-time Rendering of Digital Elevation Models
Xiaoping et al. Overlaying vector data on 3D terrain
Engel et al. Shape2River: a tool to generate river networks from vector data

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