CN116899216A - 一种虚拟场景中特效融合的处理方法和装置 - Google Patents
一种虚拟场景中特效融合的处理方法和装置 Download PDFInfo
- Publication number
- CN116899216A CN116899216A CN202310830091.0A CN202310830091A CN116899216A CN 116899216 A CN116899216 A CN 116899216A CN 202310830091 A CN202310830091 A CN 202310830091A CN 116899216 A CN116899216 A CN 116899216A
- Authority
- CN
- China
- Prior art keywords
- special effect
- grid
- distance field
- lattice
- corner
- 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.)
- Granted
Links
- 230000000694 effects Effects 0.000 title claims abstract description 118
- 230000004927 fusion Effects 0.000 title claims abstract description 33
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 230000008859 change Effects 0.000 claims abstract description 27
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 238000004040 coloring Methods 0.000 claims abstract description 9
- 238000007499 fusion processing Methods 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 20
- 230000001351 cycling effect Effects 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims description 2
- 238000005070 sampling Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/30—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
- A63F2300/308—Details of the user interface
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种虚拟场景中特效融合的处理方法和装置,其包括:当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。转角的格子和它相邻的边上的格子有向距离场是连续的,后续的采样及【0,1】之间的渐变值(透明或不透明)的计算是同样是连续的,因此形成的特效渲染也是一个整体。
Description
技术领域
本发明实施例涉及计算机应用领域,尤其涉及一种虚拟场景中特效融合的处理方法和装置。
背景技术
对于以格子为单位进行移动或计算的游戏来说,如何避免特效的孤立性把他们融合到一起一直是一个需要去关注的问题,以格子为单位进行移动跟计算的,在场景中经常会有不同时机触发的地面上的以格子为单位的特效。而现在的特效是以格式为单位进行触发的,每个格子以各自当前UV值进行采样,因此,各个UV不能很好的的连接在一起,以格子为单位出现各自的特效,显示效果差,如何将特效触发时,相邻的特效能融合在一起是我们尝试解决的一个问题。
发明内容
与现有技术相比,本发明提供一种虚拟场景中特效融合的处理方法,以解决现有技术中以格子为单位出现各自的特效,显示效果差,如何将特效触发时,相邻的特效能融合在一起是我们尝试解决的一个问题。
一种虚拟场景中特效融合的处理方法,包括:
当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;
在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;
根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
本发明循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息,在着色shade操作中反向出该特效区域内每个格子相邻格子情况,分别计算出该区域的每个角度或每条边的有向距离场,同时计算出该区域的的相关的有向距离场,转角的格子和它相邻的边上的格子有向距离场是连续的,后续的采样及【0,1】之间的渐变值(透明或不透明)的计算是同样是连续的,因此形成的特效渲染也是一个整体。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍:
图1为虚拟场景中特效融合的处理方法的应用环境示例图;
图2为特效区域的一实例示例图;
图3为虚拟场景中特效融合的处理方法的流程图;
图4为虚拟场景中特效融合前的示例图;
图5为虚拟场景中特效融合后的示例图;;
图6为虚拟场景中特效融合电子设备的原理图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
本申请实施例提供一种虚拟场景中特效融合的处理方法、装置、存储介质及计算机设备。具体地,本申请实施例的虚拟场景中中特效融合的处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、个人计算机(PC,Personal Computer)、个人数字助理(PersonalDigital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该虚拟场景中特效融合的处理方法运行于终端时,终端设备存储有游戏应用程序并用于呈现游戏画面中的虚拟场景。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。
例如,当该虚拟场景中特效融合的处理方法运行于服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,道具的使用方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑、个人数字助理等,但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
请参阅图1,图1为本申请实施例提供的一种虚拟场景中特效融合的处理系统的场景示意图。该系统可以包括至少一个终端,至少一个服务器,至少一个数据库,以及网络。用户持有的终端可以通过网络连接到不同游戏的服务器。终端是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品。另外,终端具有用于感测和获得用户通过在一个或者多个触控显示屏的多个点执行的触摸或者滑动操作的输入的一个或者多个多触敏屏幕。另外,当系统包括多个终端、多个服务器、多个网络时,不同的终端可以通过不同的网络、通过不同的服务器相互连接。网络可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,不同的终端之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。例如,多个用户可以通过不同的终端在线从而通过适当网络连接并且相互同步,以支持多玩家游戏。另外,该系统可以包括多个数据库,多个数据库耦合到不同的服务器,并且可以将与游戏环境有关的信息在不同用户在线进行多玩家游戏时连续地存储于数据库中。
本申请实施例提供了一种虚拟场景中特效融合的处理方法,该方法可以由终端或服务器执行。本申请实施例以道具的使用方法由终端执行为例来进行说明。其中,该终端包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。用户通过触控显示屏对图形用户界面进行操作时,该图形用户界面可以通过响应于接收到的操作指令控制终端本地的内容,也可以通过响应于接收到的操作指令控制对端服务器的内容。例如,用户作用于图形用户界面产生的操作指令包括用于启动游戏应用程序的指令,处理器被配置为在接收到用户提供的启动游戏应用程序的指令之后启动游戏应用程序。此外,处理器被配置为在触控显示屏上渲染和绘制与游戏相关联的图形用户界面。触控显示屏是能够感测屏幕上的多个点同时执行的触摸或者滑动操作的多触敏屏幕。用户在使用手指在图形用户界面上执行触控操作,图形用户界面在检测到触控操作时,控制游戏的图形用户界面中的不同虚拟对象执行与触控操作对应的动作。例如,该游戏可以为休闲游戏、动作游戏、角色扮演游戏、策略游戏、体育游戏、益智游戏等游戏中的任一种。其中,游戏可以包括在图形用户界面上绘制的游戏的虚拟场景。此外,游戏的虚拟场景中可以包括由用户(或玩家)控制的一个或多个虚拟对象,诸如虚拟角色。另外,游戏的虚拟场景中还可以包括一个或多个障碍物,诸如栏杆、沟壑、墙壁等,以限制虚拟对象的移动,例如将一个或多个对象的移动限制到虚拟场景内的特定区域。可选地,游戏的虚拟场景还包括一个或多个元素,诸如技能、分值、角色健康状态、能量等,以向玩家提供帮助、提供虚拟服务、增加与玩家表现相关的分值等。此外,图形用户界面还可以呈现一个或多个指示器,以向玩家提供指示信息。例如,游戏可以包括玩家控制的虚拟对象和一个或多个其他虚拟对象(诸如敌方角色)。在一个实施例中,一个或多个其他虚拟对象由游戏的其他玩家控制。例如,一个或多个其他虚拟对象可以由计算机控制,诸如使用人工智能(AI)算法的机器人,实现人机对战模式。例如,虚拟对象拥有游戏玩家用来实现目标的各种技能或能力。例如虚拟对象拥有可用于从游戏中消除其他对象的一种或多种武器、道具、工具等。这样的技能或能力可由游戏的玩家使用与终端的触控显示屏的多个预设触控操作之一来激活。处理器可以被配置为响应于用户的触控操作产生的操作指令来呈现对应的游戏画面。
虚拟场景可以为游戏场景,虚拟场景中可以包括多个游戏场景元素,也即虚拟场景模型。虚拟场景可以通过游戏引擎进行创建或者编辑。
本申请实施例提供一种虚拟场景中特效融合的处理方法,该方法可以由终端或服务器执行,本申请实施例以虚拟场景中特效融合的处理方法由服务器执行为例来进行说明。
先做本实例相关的名词做些约定。
有向距离场(Signed Distance Field,SDF):是指判断一个点是否在一个区域内。其中,Signed指正负号,Distance指点到点的距离,Field指区域。即SDF的结算结果表征了一个点是在一个区域的内部还是外部。一般说说,根据场景模型区域的边界位置在虚拟场景中生成有向距离场(SDF,Signed Distance Field)。具体的,有向距离场是由到(多边形模型)物体表面最近距离的采样网格。作为惯例,使用负值来表示物体内部,使用正值表示物体外部。
体素是3D空间的最小表示单位,体素的概念是从二维空间的最小单位像素衍伸而来,像素用于描述二维的影像,而体素则可以用于描述三维空间上的立体的对象,是三维空间分割上的最小单位,在游戏中可用于行走、飞行、摄像机等碰撞检测。体素即为游戏场景对象中的场景对象的基本构成单元,每个场景对象由至少一个体素构成。场景对象即游戏场景的3D图像中的对象,如游戏场景中的建筑、地形、山、石头等等。一个水平位置为游戏地图中水平面上的一块区域,每块区域的形状和大小为体素的上表面或下表面的形状和大小,垂直投影在同一水平位置上的体素为同一水平位置处的,每个水平位置处的第一个体素(也可称为第一层体素)为该水平位置处的上表面高度最小的体素。
格子,水平位置是在3D游戏场景中,是不考虑高度信息时的位置信息。如图2中所示的三维坐标的示意图,以z轴表示游戏场景中的高度信息,则x轴和y轴所形成的平面即为水平面,创建格子时约定该格子所相关的体素信息。每个格子所在的位置为一个水平位置。以图2为例,格子Q的周围相邻格子分别为周左上角格子、正上方格子、右上角格子,右方格子、右下角格子、下方格子、左下角格子、左方格子,图2中对应映射为Q1-Q8。
请参阅图3,图3为本申请实施例提供的一种虚拟场景特效融合中的处理方法的流程示意图。该虚拟场景中特效融合的处理方法的具体流程可以如下:
S110:当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;
S120:在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;
S130:根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
本发明的核心在于,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息,在着色shade操作中反向出该特效区域内每个格子相邻格子情况,分别计算出该区域的每个角度或每条边的有向距离场,同时计算出该区域的的相关的有向距离场,转角的格子和它相邻的边上的格子有向距离场是连续的,后续的采样及【0,1】之间的渐变值(透明或不透明)的计算是同样是连续的,因此形成的特效渲染也是一个整体。
以下具体介绍本发明。
一、步骤S110。
当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息进一步包括:
每一个格子设置的周围相邻格子分别为左上角格子、正上方格子、右上角格子,右方格子、右下角格子、下方格子、左下角格子、左方格子,用8bit的值来记录该格子对应的8个周围相邻格子存在情况,8bit每一位的位置表明对应的哪一个相邻格子,该位上的“0/1”表明该个相邻格子是否存在。
如图2所示,假设特效区域为3*4=12个格子,则以Q为例,Q1-Q8分别表示左上角格子、正上方格子、右上角格子,右方格子、右下角格子、下方格子、左下角格子、左方格子是否存在相邻格子的情况,0表示存在,1表示不存在(也可以相反)。该Q格子对应的8bit为11111111。以Q5的格子为例,其左上角格子、正上方格子和左方格子为存在的,即为1,其它相邻格子都不存在,该Q5格子对应的8bit为11000001,当然,哪一位表明哪一个相邻格了的属性,可以预先约定,上述也仅是举例。
通过上述方式,可以获得特效区域所有的格子对应的周围相邻格子存在情况。特效区域有N个格子,则存在N个对应的8bit值。还是以图2为例,特效区域存在12个8bit值。
本实例中,将该些值先存在UV贴图里,后续续在做进特效融合时,从UV贴图获得该些图,可以反向出对应的信息。
还要说明的是,格子不一定是四边形的,通过Marching Squares(一个用于矩阵网格点数据生成等值面的一种算法)的算法,正方形的格子根据四个角落的01数据可以得到18种形状,这18种形状也也可以计算出对应的有向距离场。最终形成的特效形状可以是一个圆角多边形的形状,而不一定是四四方方的。
二、步骤S120
根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,同步计算出该区域的每个角度或每条边的有向距离场进一步包括:
对特效区域的每个格子对应的8bit进行解析,解析出特效区域的每个格子每一条边,每个角是否存在相邻的格子;
对该区域的该些格子的每一边、每一角计算有向距离场,按照下述的原则是取最小的平滑的有向距离场为每个格子每个角度或每条边的有向距离场。
判断该格子角落的左右两条边是否有格子,如果有,则进一步判断该角落有没有格子,如果没有,则判断出该格子为缺口格,在混合的时候由于corner的分量是1,线性插值的结果会更多地使用到格子角落的有向距离场
当三个格子形成L型时,角落上的格子做个平滑的过渡。
还有,特效区域内每个格子记录当前状态的有向距离场,并和预先保存的前一状态的有向距离场进行对比,获得格子从内部到外部还是外部到内部的变化状态:添加格子是从一个小的有向距离场渐变到大的有向距离场,移除格子从大的有向距离场到小的有向距离场;
当判断为到内的变化状态时,将该格子的有向距离场置为O,以便后续不对其进行插值计算。
特效区域内每个格子先计算两种有向距离场:距离四条边界的有向距离场和距离四个顶点的有向距离场,根据是否存在相邻的格子和是否存在缺口格对这两种有向距离场进行混合,最终得到特效渲染形状的有向距离场。
smin函数是一种通过多项式计算在两个数中平滑过渡的方法。主要用来对两个相邻的距离边界的有向距离场进行混合,以产生一个圆角的有向距离场。
若所述特效为渐变动画时,先计算各个格子渐变前的有向距离场值,再计算该格子渐变后的有向距离场值,对每个格子渐变前的有向距离场值和渐变后的有向距离场值之间做插值;获得从渐变前的格子特效渐变到渐变后格子特效的动画,再用该动画来做溶解操作。特效渐变可以用一张噪波图来实现。
三、S130:根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
预计算各个角落的查找遮罩和比较遮罩,如左下角的查找遮罩是000001011,比较遮罩是000001010,然后用当前的连续性遮罩和查找遮罩取并,当最后值等于比较遮罩时,意味着这是一个拐角。可以判断出该角落是一个拐角,使用这个角落的坐标计算出相对于这个角落的有向距离场,这个距离场的形状是圆形,经过混合之后的特效形状对应一个圆角。可以用到上述的smin函数用来对两个相邻的距离边界的有向距离场进行混合,以产生一个圆角的有向距离场。
根据有向距离场按照以下方式计算透明度:特效区域内每个格子先计算两种有向距离场:距离边界的有向距离场和距离顶点的有向距离场,根据是否存在相邻的格子和是否存在缺口格对这两种有向距离场进行混合,最终得到特效渲染形状的有向距离场。其中距离为正的区域,会根据距离的远近和一张噪波贴图据算出特效的不透明度值,不透明度为0时完全透明,不透明度值越大越不透明。
对于一个ramp,可以使用u和v两个值来表示其位置。通常,u和v的取值范围是[0,1],其中(0,0)代表ramp的左下角,(1,1)代表ramp的右上角。在渲染中,可以使用u和v的值来获取ramp上对应位置的颜色值。首先,根据u和v的值计算出ramp上的实际坐标。然后,根据这些坐标在ramp纹理上进行采样,获取相应的颜色值。对阈值做曲线拟合意味着使用ramp贴图的像素值来拟合一个函数,该函数能够将输入的阈值映射到对应的颜色。具体而言,假设有一张ramp贴图,其中包含一系列不同阈值下的颜色。还有一组已知的阈值和对应的ramp贴图像素值。通过这些已知的数据来找到一个函数模型,该模型能够将任意的阈值输入,输出对应的颜色。
根据效果贴图采样结果和有向距离场信息对特效区区的目标进行渲染,以得到渲染后的物特效效果。当然,也可以如上述若所述特效为渐变动画时,先计算各个格子渐变前的有向距离场值,再计算该格子渐变后的有向距离场值,对每个格子渐变前的有向距离场值和渐变后的有向距离场值之间做插值;获得从渐变前的格子特效渐变到渐变后格子特效的动画,再用该动画来做溶解操作。特效渐变可以用一张噪波图来实现。
请参阅图4和图5,为本实例的一个对比例。图4为以格子为单位的特效图,图5为虚拟场景中特效融合的处理后的特效图。融合后的效图非常好好,整个特效区域是一个整体效果。
本发明还提供了一种虚拟场景中特效融合的处理装置,包括:
相邻格子存在编码单元:用于当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;
有向距离场计算单元,用于在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;
融合处理单元:用于根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述虚拟场景中特效融合的处理装置的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述渲染方法的电子设备。下面参照图6来描述根据本公开的这种示例性实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。如图6所示,电子设备600可以以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630和显示单元640。存储单元620存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述“具体实施方式”部分中描述的根据本公开各种示例性实施方式的步骤。具体的,计算机可读存储介质上所存储的程序产品可使电子设备执行以下步骤:确认目标对象模型的模型信息,该模型信息进一步包括对当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
请注意,这只是一个简单的示例,实际的拟合过程可能需要根据实际情况进行更复杂的模型选择和参数调整。另外,曲线拟合可能会受到数据噪声和样本数量的影响,因此在实际应用中需要注意调整参数和数据质量。
Claims (9)
1.一种虚拟场景中特效融合的处理方法,其特征在于,包括:
当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;
在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;
根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
2.如权利要求1所述的虚拟场景中特效融合的处理方法,其特征在于,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息进一步包括:
每一个格子设置的周围相邻格子分别为周左上角格子、正上方格子、右上角格子,右方格子、右下角格子、下方格子、左下角格子、左方格子,用8bit的值来记录该格子对应的8个周围相邻格子存在情况,8bit每一位的位置表明对应的哪一个相邻格子,该位上的“0/1”表明该个相邻格子是否存在;
循环周围每一个格子,获得特效区域N个格子各自的周围相邻格子存在情况的信息,将其形成成N个格子对应8bit值,后将其存到uv里。
3.如权利要求2所述的虚拟场景中特效融合的处理方法,其特征在于,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,同步计算出该区域的每个角度或每条边的有向距离场进一步包括:
对特效区域的每个格子对应的8bit进行解析,解析出特效区域的每个格子每一条边,每个角是否存在相邻的格子;
取最小的平滑的有向距离场为每个格子每个角度或每条边的有向距离场。
4.如权利要求3所述的虚拟场景中特效融合的处理方法,其特征在于,还包括:
判断该格子角落的左右两条边是否有格子,如果有,则进一步判断该角落有没有格子,如果没有,则判断出该格子为缺口格,对该缺口格计算一个有向距离场和另一个有向距离长混合;
当三个格子形成L型时,角落上的格子做个平滑的过渡。
5.如权利要求1所述的虚拟场景中特效融合的处理方法,其特征在于,还包括:
若所述特效为渐变动画时,先计算各个格子渐变前的有向距离场值,再计算该格子渐变后的有向距离场值,
对每个格子渐变前的有向距离场值和渐变后的有向距离场值之间做插值;获得从渐变前的格子特效渐变到渐变后格子特效的动画,再用该动画来做溶解操作。
6.如权利要求1所述的虚拟场景中特效融合的处理方法,其特征在于,根据有向距离场按照以下方式计算透明度:
特效区域内每个格子先计算两种有向距离场:距离边界的有向距离场和距离顶点的有向距离场,根据是否存在相邻的格子和是否存在缺口格对这两种有向距离场进行混合,最终得到特效渲染形状的有向距离场,其中距离为正的区域,会根据距离的远近和预先设定的噪波贴图据算出特效的不透明度值,不透明度为0时完全透明,不透明度值越大越不透明。
7.如权利要求1所述的虚拟场景中特效融合的处理方法,其特征在于,还包括:
特效区域内每个格子记录当前状态的有向距离场,并和预先保存的前一状态的有向距离场进行对比,获得格子从内部到外部还是外部到内部的变化状态:添加格子是从一个小的有向距离场渐变到大的有向距离场,移除格子从大的有向距离场到小的有向距离场;
当判断为到内的变化状态时,将该格子的有向距离场值不变。
8.如权利要求1所述的虚拟场景中特效融合的处理方法,其特征在于,还包括:
预计算各个角落的查找遮罩和比较遮罩,包括左下角的查找遮罩是000001011,比较遮罩是000001010,然后用当前的连续性遮罩和查找遮罩取并,当最后值等于比较遮罩时,可以判断出该角落是一个拐角,使用这个角落的坐标计算出相对于这个角落的有向距离场,这个距离场的形状是圆形,经过混合之后的特效形状对应一个圆角。
9.一种虚拟场景中特效融合的处理装置,其特征在于,包括:
相邻格子存在编码单元:用于当以格子为单位的特效被触发时,循环周围每一个格子,记录特效区域内每个格子对应的周围相邻格子存在情况的信息;
有向距离场计算单元,用于在进行着色shade操作中,根据每个格子周围相邻格子存在情况,反向获得每一条边,每个角是否存在相邻的格子,并同步计算出该区域的每个角度或每条边的有向距离场;
融合处理单元:用于根据有向距离场计算出显示的贴图和透明度,以进行特效融合的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310830091.0A CN116899216B (zh) | 2023-07-07 | 2023-07-07 | 一种虚拟场景中特效融合的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310830091.0A CN116899216B (zh) | 2023-07-07 | 2023-07-07 | 一种虚拟场景中特效融合的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116899216A true CN116899216A (zh) | 2023-10-20 |
CN116899216B CN116899216B (zh) | 2024-04-19 |
Family
ID=88365980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310830091.0A Active CN116899216B (zh) | 2023-07-07 | 2023-07-07 | 一种虚拟场景中特效融合的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116899216B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160049001A1 (en) * | 2013-06-25 | 2016-02-18 | Google Inc. | Curvature-Driven Normal Interpolation for Shading Applications |
CN113077539A (zh) * | 2021-04-08 | 2021-07-06 | 网易(杭州)网络有限公司 | 目标虚拟模型的渲染方法、装置及电子设备 |
CN115713584A (zh) * | 2022-11-10 | 2023-02-24 | 上海纵游网络技术有限公司 | 基于有向距离场渲染体积云方法、系统、设备及存储介质 |
CN116245989A (zh) * | 2022-12-15 | 2023-06-09 | 珠海普罗米修斯视觉技术有限公司 | 体积视频的处理方法、装置、存储介质及计算机设备 |
CN116338665A (zh) * | 2023-03-01 | 2023-06-27 | 上海壁仞智能科技有限公司 | 结合有向距离场光线投射的光线追踪装置和方法 |
-
2023
- 2023-07-07 CN CN202310830091.0A patent/CN116899216B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160049001A1 (en) * | 2013-06-25 | 2016-02-18 | Google Inc. | Curvature-Driven Normal Interpolation for Shading Applications |
CN113077539A (zh) * | 2021-04-08 | 2021-07-06 | 网易(杭州)网络有限公司 | 目标虚拟模型的渲染方法、装置及电子设备 |
CN115713584A (zh) * | 2022-11-10 | 2023-02-24 | 上海纵游网络技术有限公司 | 基于有向距离场渲染体积云方法、系统、设备及存储介质 |
CN116245989A (zh) * | 2022-12-15 | 2023-06-09 | 珠海普罗米修斯视觉技术有限公司 | 体积视频的处理方法、装置、存储介质及计算机设备 |
CN116338665A (zh) * | 2023-03-01 | 2023-06-27 | 上海壁仞智能科技有限公司 | 结合有向距离场光线投射的光线追踪装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116899216B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111701238B (zh) | 虚拟画卷的显示方法、装置、设备及存储介质 | |
CN109771951B (zh) | 游戏地图生成的方法、装置、存储介质和电子设备 | |
EP3882870B1 (en) | Method and device for image display, storage medium and electronic device | |
CN111127611B (zh) | 三维场景渲染方法、装置及电子设备 | |
CN114677467B (zh) | 地形图像渲染方法、装置、设备及计算机可读存储介质 | |
CN104680572A (zh) | 基于bim的移动终端建筑模型渲染性能优化方法和系统 | |
CN108043027B (zh) | 存储介质、电子装置、游戏画面的显示方法和装置 | |
CN112138386A (zh) | 一种体积渲染方法、装置、存储介质及计算机设备 | |
US9754398B1 (en) | Animation curve reduction for mobile application user interface objects | |
CN112717414B (zh) | 游戏场景编辑方法、装置、电子设备以及存储介质 | |
US20240037839A1 (en) | Image rendering | |
JP2023524368A (ja) | 仮想シーンのアダプティブ表示方法及び装置、電子機器、並びにコンピュータプログラム | |
CN112494941B (zh) | 虚拟对象的显示控制方法及装置、存储介质、电子设备 | |
CN115082607A (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN112206519B (zh) | 实现游戏场景环境变化的方法、装置、存储介质及计算机设备 | |
CN113230652B (zh) | 虚拟场景变换方法、装置、计算机设备及存储介质 | |
CN116899216B (zh) | 一种虚拟场景中特效融合的处理方法和装置 | |
CN116485969A (zh) | 体素对象生成方法、装置和计算机可读存储介质 | |
CN116212374A (zh) | 模型处理方法、装置、计算机设备和存储介质 | |
CN113989460B (zh) | 用于增强现实场景的实时天空替换特效控制方法及装置 | |
CN110502305B (zh) | 一种动态界面的实现方法、装置及相关设备 | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
US10019834B2 (en) | Real-time rendering of volumetric models with occlusive and emissive particles | |
WO2024093610A1 (zh) | 阴影渲染方法、装置、电子设备及可读存储介质 | |
CN117959704A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |