CN112999657B - 虚拟角色的幻影显示方法、装置、设备及介质 - Google Patents
虚拟角色的幻影显示方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112999657B CN112999657B CN202110258387.0A CN202110258387A CN112999657B CN 112999657 B CN112999657 B CN 112999657B CN 202110258387 A CN202110258387 A CN 202110258387A CN 112999657 B CN112999657 B CN 112999657B
- Authority
- CN
- China
- Prior art keywords
- historical
- output
- phantom
- current
- frame
- 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
Links
Images
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
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5252—Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
-
- 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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/807—Role playing or strategy games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟角色的幻影显示方法、装置、设备及介质,涉及三维虚拟世界领域。该方法包括:显示位于虚拟世界中的虚拟角色;控制所述虚拟角色在所述虚拟世界中移动;在当前帧中显示在移动过程中具有幻影的所述虚拟角色,所述幻影包括基于所述当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。本申请能够减少产生虚拟角色幻影的内存占用和计算时间,并且更好地表现出更加真实和流畅的幻影效果。
Description
技术领域
本申请涉及三维虚拟世界领域,特别涉及一种虚拟角色的幻影显示方法、装置、设备及介质。
背景技术
诸如虚拟人物、虚拟动物、虚拟机械生物之类的虚拟角色,能够在三维虚拟世界中活动,比如,行走、奔跑、跳跃、行驶等。
在某些场景下需要显示虚拟角色的模糊幻影效果。相关技术中显示当前帧的过程中,对虚拟角色的三维模型(简称主模型)复制若干个副本模型,将多个副本模型跟随在虚拟角色的主模型之后,最终渲染出虚拟角色的模糊幻影效果。
但是在高品质的游戏中,虚拟角色的三维模型的模型面数非常多,复制多个副本模型会占用非常大的内存成本和时间成本。
发明内容
本申请实施例提供了一种虚拟角色的幻影显示方法、装置、设备及存储介质,能够以较少的内存成本和时间成本实现显示效果更优秀的幻影效果。所述技术方案如下:
根据本申请的一个方面,提供了一种虚拟角色的幻影显示方法,该方法包括:
显示位于虚拟世界中的虚拟角色;
控制所述虚拟角色在所述虚拟世界中移动;
在当前帧中显示在移动过程中具有幻影的所述虚拟角色,所述幻影包括基于所述当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。
根据本申请的另一个方面,提供了一种虚拟角色的幻影显示装置,该装置包括:
显示模块,用于显示位于虚拟世界中的虚拟角色;
交互模块,用于用户控制所述虚拟角色在所述虚拟世界中的移动。
所述显示模块,用于在当前帧中显示在移动过程中具有幻影的所述虚拟角色,所述幻影包括基于所述当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。
在本实施例的一个可选设计中,所述显示模块,用于在所述当前帧中显示在移动过程中具有n重幻影的所述虚拟角色,所述n重幻影中的至少一重幻影是基于所述当前帧之前的历史帧中的虚拟角色产生的;其中,n为正整数。
在本实施例的一个可选设计中,所述n重幻影中的第i重幻影的透明度大于第i+1重幻影,所述第i重幻影对应的第i历史帧早于所述第i+1重幻影对应的第i+1历史帧;其中,i为正整数。
在本实施例的一个可选设计中,所述n重幻影中的所述第i重幻影的模糊度大于所述第i+1重幻影,所述第i重幻影对应的所述第i历史帧早于所述第i+1重幻影对应的第i+1历史帧;其中,i为正整数。
在本实施例的一个可选设计中,所述虚拟世界里设置有主摄像机与幻影摄像机模型。所述主摄像机用于在所述虚拟世界中对所述虚拟角色进行自动跟随,得到虚拟世界画面;所述幻影摄像机用于得到历史帧中的虚拟角色画面。所述装置包括获取模块和融合模块。
所述获取模块,用于获取所述主摄像机在所述当前时刻采集的当前输出结果以及所述幻影摄像机在所述历史时刻采集的所述虚拟角色的历史输出结果。
所述融合模块,用于对所述当前输出结果和所述历史输出结果进行融合,得到当前帧,所述当前帧包括具有幻影的所述虚拟角色。
在本实施例的一个可选设计中,所述获取模块,用于根据第一摄像机参数和第二摄像机参数设置所述幻影摄像机在所述历史时刻的第三摄像机参数;获取具有所述第三摄像机参数的所述幻影摄像机,在所述历史时刻采集的所述虚拟角色的历史输出结果;
其中,所述第一摄像机参数是所述主摄像机在所述历史时刻的摄像机参数,所述第二摄像机参数是所述主摄像机在所述历史帧的前一帧对应时刻的摄像机参数。
在本实施例的一个可选设计中,所述获取模块,用于将两倍所述第一摄像机参数与所述第二摄像机参数的差,设置为所述幻影摄像机在所述历史时刻的第三摄像机参数。
在本实施例的一个可选设计中,所述当前输出结果包括当前颜色输出和当前深度输出;所述历史输出结果包括历史颜色输出和历史深度输出;
所述融合模块,用于响应于第一像素点的当前深度输出小于所述历史深度输出,根据所述第一像素点的当前颜色输出和历史颜色输出的加权和,得到所述第一像素点的最终颜色输出;响应于第二像素点的当前深度输出大于所述历史深度输出,根据所述第二像素点的当前颜色输出,得到所述第二像素点的最终颜色输出;重复执行上述两个步骤,基于各个像素点的所述最终颜色输出得到所述当前帧。
在本实施例的一个可选设计中,所述装置,还包括:
第一处理模块,用于基于第一参数对所述历史颜色输出进行半透明处理。
在本实施例的一个可选设计中,所述第一处理模块,用于基于所述历史时刻与所述当前时刻之间的时间距离,确定所述第一参数。
在本实施例的一个可选设计中,所述装置,还包括:
第二处理模块,用于基于第二参数对所述历史颜色输出进行模糊化处理。
在本实施例的一个可选设计中,所述第二处理模块,用于基于所述历史时刻与所述当前时刻之间的时间距离,确定所述第二参数。
根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面所述的虚拟角色的幻影显示方法。
根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面所述的虚拟角色的幻影显示方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面所述的虚拟角色的幻影显示方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过基于当前帧之前的至少一个历史帧产生虚拟角色的幻影,在当前帧中显示具有幻影的虚拟角色,由于充分利用了虚拟角色在历史帧中的二维成像信息来生成幻影,不需要对虚拟角色的三维模型进行复制,因此减少了内存占用和计算时间,而且虚拟角色在各帧之间的动作会略有差异,虚拟角色在历史帧中的动作与当前帧中的动作具有动作连续性,能够更好地表现出更加真实和流畅的幻影效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构示意图;
图2是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的流程示意图;
图3是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的界面图;
图4是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的流程示意图;
图5是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的流程示意图;
图6是本申请一个示例性实施例提供的确定幻影摄像机位置的位置关系示意图;
图7是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的界面图;
图8是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的流程示意图;
图9是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的原理图;
图10是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的原理图;
图11是本申请一个示例性实施例提供的虚拟角色的幻影显示方法的原理图;
图12是本申请一个示例性实施例提供的虚拟角色的幻影展示装置的框图;
图13是本申请一个示例性实施例提供的计算机设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
虚拟世界是指应用程序在终端上运行时显示(或提供)的虚拟世界。
示例性的,该虚拟世界可以是对真实世界的仿真世界,也可以是半仿真半虚构的三维世界,还可以是纯虚构的三维世界。
示例性的,该虚拟世界可以是二维虚拟世界、2.5维虚拟世界和三维虚拟世界中的任意一种。
可选地,该虚拟世界还用于至少两个虚拟角色之间的虚拟世界对战,在该虚拟世界中具有可供至少两个虚拟角色使用的虚拟资源。
虚拟角色是指在虚拟世界中的可活动对象。示例性的,该可活动对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。
可选地,当虚拟世界为三维虚拟世界时,虚拟角色可以是三维立体模型,每个虚拟角色在三维虚拟世界中具有自身的形状和体积,占据三维虚拟世界中的一部分空间。
可选地,虚拟角色是基于三维人体骨骼技术(或三维模型)构建的三维角色,该虚拟角色通过穿戴不同的皮肤来实现不同的外在形象。在一些实现方式中,虚拟角色也可以采用2.5维或2维模型来实现,本申请实施例对此不加以限定。
图1给出了本申请一个示例性实施例提供的计算机系统的结构框图。该计算机系统100包括:终端110和服务器120。
终端110安装和运行有支持虚拟环境的客户端111,该客户端111可以是多人在线对战程序。当终端运行客户端111时,第一终端110的屏幕上显示客户端111的用户界面。该客户端可以是军事仿真程序、大逃杀射击游戏、虚拟现实(Virtual Reality,VR)应用程序、增强现实(Augmented Reality,AR)程序、三维地图程序、虚拟现实游戏、增强现实游戏、第一人称射击游戏(First-Person Shooting Game,FPS)、第三人称射击游戏(Third-Personal Shooting Game,TPS)、多人在线战术竞技游戏(Multiplayer Online BattleArena Games,MOBA)、策略游戏(Simulation Game,SLG)中的任意一种。在本实施例中,以该客户端是角色扮演游戏来举例说明。终端110是用户112使用的终端,用户112使用终端110控制位于虚拟环境中的虚拟角色进行活动,虚拟角色可以称为用户112的主控虚拟角色。虚拟角色的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、射击、攻击、投掷中的至少一种。示意性的,虚拟角色是虚拟人物,比如仿真人物角色或动漫人物角色。
图1中仅示出了一个终端,但在不同实施例中存在多个其它终端140可以接入服务器120。可选地,还存在一个或多个终端140是开发者对应的终端,在终端140上安装有支持虚拟环境的客户端的开发和编辑平台,开发者可在终端140上对客户端进行编辑和更新,并将更新后的客户端安装包通过有线或无线网络传输至服务器120,终端110可从服务器120下载客户端安装包实现对客户端的更新。
终端110以及其它终端140通过无线网络或有线网络与服务器120相连。
服务器120包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持三维虚拟环境的客户端提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器120包括处理器122、用户账号数据库123、对战服务模块124、面向用户的输入/输出接口(Input/Output Interface,I/O接口)125。其中,处理器122用于加载服务器120中存储的指令,处理用户账号数据库123和对战服务模块124中的数据;用户账号数据库123用于存储第一终端110以及其它终端140所使用的用户账号的数据,比如用户账号的头像、用户账号的昵称、用户账号的战斗力指数,用户账号所在的服务区;对战服务模块124用于提供多个对战房间供用户进行对战,比如1V1对战、3V3对战、5V5对战等;面向用户的I/O接口125用于通过无线网络或有线网络和终端110和/或其它终端140建立通信交换数据。
图2示出了本申请一个示例性实施例示出的虚拟角色的幻影显示方法的流程示意图。该方法可由图1所示的终端110(或终端110内的客户端)来执行进行举例说明。该方法包括如下步骤:
步骤102:显示位于虚拟世界中的虚拟角色;
终端显示位于虚拟世界中的虚拟角色。虚拟角色位于终端显示的当前帧的中心。
步骤104:控制虚拟角色在虚拟世界中移动;
控制虚拟角色在虚拟世界中移动的方式包括但不限于:拖动操作、点击操作、双击操作、语音操作、压力触控操作、眼神控制、体感控制中的至少一种,本申请对此不加以限定。
比如,在用户使用触摸屏进行操作时,用户通过在触摸屏上拖动移动轮盘来控制虚拟角色在虚拟世界中移动;又比如,在用户使用鼠标进行操作时,用户通过点击鼠标控制虚拟角色在虚拟世界中移动;又比如,在用户使用体感设备进行操作时,用户通过移动身体或挥动手柄来控制虚拟角色在虚拟世界中移动。
步骤106:在当前帧中显示在移动过程中具有幻影的虚拟角色。
虚拟角色的幻影包括:基于当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。或者,虚拟角色的幻影包括:基于当前帧以及当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。
终端在当前帧中显示具有n重幻影的虚拟角色。N重幻影中的至少一重幻影是基于当前帧之前的历史帧中的虚拟角色产生的幻影。
可选地,n重幻影中的每重幻影都基于当前帧之前的一个历史帧中的虚拟角色产生;或者,n重幻影中的一部分幻影是基于当前帧中的虚拟角色产生的,另一部分幻影是基于当前帧之前的历史帧中的虚拟角色产生,本申请对此不加以限定。
历史帧中的虚拟角色可理解为:在历史帧中显示的虚拟角色,或,由摄像机模型在历史帧时刻对虚拟角色的三维模型进行采集得到的成像信息。
假设当前帧为第i帧,在第i帧中显示具有4重幻影的虚拟角色,该4重幻影可能是分别基于第i-4帧、第i-3帧、第i-2帧、第i-1帧产生的;或者,该4重幻影可能是分别基于第i-8帧、第i-6帧、第i-4帧、第i-2帧帧产生的;再或者,虚拟角色的幻影也可以分别基于当前帧或当前帧之前的历史帧中的虚拟角色产生,其4重幻影可能是分别基于第i-3帧、第i-2帧、第i-1帧、第i帧产生的。
在移动过程中具有幻影的虚拟角色的n重幻影中,第i重幻影的透明度大于第i+1重幻影,其中第i重幻影对应的第i历史帧早于第i+1重幻影对应的第i+1历史帧;第i重幻影的模糊度大于第i+1重幻影,其中第i重幻影对应的第i历史帧早于第i+1重幻影对应的第i+1历史帧。
示例性的如图3所示。界面67示出了第n帧中显示的虚拟角色具有四重幻影,每重幻影分别基于第n-4帧、第n-3帧、第n-2帧、第n-1帧中的虚拟角色产生,如幻影61、幻影62、幻影63、幻影64所示。其中,第一重幻影至第四重幻影的透明度逐渐减小,模糊度逐渐降低。结合主摄像机画面65所示第n帧主摄像机画面与幻影61、幻影62、幻影63、幻影64,在当前帧中显示在移动过程中具有幻影的虚拟角色。
综上所述,本实施例提供的方法,通过基于当前帧之前的至少一个历史帧产生虚拟角色的幻影,在当前帧中显示具有幻影的虚拟角色,由于充分利用了虚拟角色在历史帧中的二维成像信息来生成幻影,不需要对虚拟角色的三维模型进行复制,因此减少了内存占用和计算时间,而且虚拟角色在各帧之间的动作会略有差异,虚拟角色在历史帧中的动作与当前帧中的动作具有动作连续性,能够更好地表现出更加真实和流畅的幻影效果。
图4示出了本申请一个示例性实施例示出的虚拟角色的幻影显示方法的流程图。本实施例以该方法由图1所示的终端110(或终端110内的客户端)来执行进行举例说明。该方法包括如下步骤:
步骤202:显示位于虚拟世界中的虚拟角色;
参考图2中的步骤102所述,不再赘述。
步骤204:控制虚拟角色在虚拟世界中移动;
参考图2中的步骤104所述,不再赘述。
步骤206:获取主摄像机在当前时刻采集的当前输出结果;
主摄像机是指在虚拟世界中位于虚拟角色周围的摄像机模型,用于在虚拟世界中对虚拟角色进行自动跟随,采集得到虚拟世界画面。终端通过主摄像机显示该虚拟世界画面,且用户看不到主摄像机(相当于用户在虚拟世界中的眼睛)。可选地,该虚拟世界画面是以虚拟角色的第一人称视角或第三人称视角在虚拟世界中进行观察得到的画面。
当前时刻是指当前帧对应的时刻。
当前输出结果是主摄像机在当前时刻对整个虚拟世界采集并输出的结果。示例性的,当前输出结果包括但不限于:当前颜色输出和当前深度输出。当前输出结果中不仅包括虚拟角色的当前颜色输出和当前深度输出,还包括位于虚拟世界中的环境、背景、物体、其它虚拟角色中的至少一种元素的当前颜色输出和当前深度输出。
其中,当前颜色输出是指模型材质在当前帧的像素值,当前深度输出是指模型与主摄像机之间的景深距离,用于判断不同模型之间的遮挡关系。
步骤208:获取幻影摄像机在历史时刻采集的虚拟角色的历史输出结果;
历史时刻是指历史帧对应的时刻。
幻影摄像机是指在虚拟世界中位于虚拟角色周围的摄像机模型。幻影摄像机与主摄像机是不同的摄像机模型。幻影摄像机用于模拟历史时刻的历史视角来采集虚拟角色的历史输出结果,以生成虚拟角色的幻影。
幻影摄像机在虚拟世界中的位置,是基于主摄像机在虚拟世界中的历史位置确定的。比如,基于主摄像机在历史时刻的历史位置,确定幻影摄像机在当前时刻的当前位置。
示例性的,幻影摄像机在第i帧的采集时刻,以模拟第i-1帧时的历史视角采集虚拟角色的历史输出结果。可选地,幻影摄像机对除虚拟角色之外的其他元素不进行采集。幻影摄像机所采集的各个历史时刻的历史输出结果会缓存在内存中,比如缓存幻影摄像机在最近k个历史时刻采集的历史输出结果。
历史输出结果是幻影摄像机以历史时刻的历史视角采集并输出的结果,历史输出结果包括但不限于:历史颜色输出和历史深度输出。
其中,历史颜色输出是指模型材质在历史帧的像素值,历史深度输出是指模型与幻影摄像机之间的景深距离,用于判断不同模型之间的遮挡关系。
步骤210:对当前输出结果和历史输出结果进行融合,得到当前帧;
可选地,终端通过判断虚拟世界中其它元素与虚拟角色的遮挡关系,对当前输出结果和历史输出结果进行融合。其中,虚拟世界中其它元素是指虚拟世界中除了虚拟角色外的其它虚拟元素,包括但不限于建筑物、植物、动物、地理地形或其它虚拟角色。
示例性的,对于当前帧中的每个像素点,比较当前输出结果中的当前深度输出与历史输出结果中的历史深度输出,可以认为深度输出小代表距离主摄像机更近,深度输出大代表距离主摄像机更远。考虑其遮挡关系,舍弃深度输出大的输出结果,保留深度输出小的输出结果。
由于当前帧中的一部分像素点是具有历史输出结果的目标像素点,比如虚拟角色所在的像素点以及周围像素点;另一部分像素点是不具有历史输出结果的像素点,比如背景像素点。对于每个目标像素点,重复上述深度输出的比较,对每个目标像素点的当前输出结果和历史输出结果进行融合,得到当前帧。
可选的,终端通过混合当前输出结果与历史输出结果的颜色输出,对当前输出结果和历史输出结果进行融合。
示例性的,对当前输出结果和历史输出结果的颜色输出分别设定权重,获得其加权和,对当前输出结果和历史输出结果进行融合。
步骤212:在当前帧中显示在移动过程中具有幻影的虚拟角色。
参考图2中的步骤106所述,不再赘述。
综上所述,本实施例提供的方法,还通过引入幻影摄像机,利用幻影摄像机采集历史帧视角的虚拟角色的历史输出结果缓存在内存中,仅需要较少的计算量和内存空间,即可完成虚拟角色的幻影计算。相比于相关技术中复制虚拟角色的三维模型的技术,不仅减少了对计算性能和存储空间的要求,还能够生成动作连续感更好的幻影。
图5示出了本申请一个示例性实施例示出的虚拟角色的幻影显示方法的流程图。本实施例以该方法由图1所示的终端110(或终端110内的客户端)来执行进行举例说明。该方法包括如下步骤:
步骤302:显示位于虚拟世界中的虚拟角色;
参考图2中的步骤102所述,不再赘述。
步骤304:控制虚拟角色在虚拟世界中移动;
参考图2中的步骤104所述,不再赘述。
步骤306a:获取第一摄像机参数和第二摄像机参数;
第一摄像机参数是指主摄像机在历史时刻的摄像机参数,第一摄像机参数包括但不限于:位置参数和旋转参数。位置参数用于指示摄像机模型在虚拟世界中的三维坐标(x,y,z),旋转参数用于指示摄像机模型在三维虚拟世界中的偏移角度:俯仰角、滚转角、偏航角。
第二摄像机参数是指主摄像机在历史帧的前一帧对应时刻的摄像机参数,第二摄像机参数包括但不限于位置参数和旋转参数。
步骤306b:设置幻影摄像机的第三摄像机参数;
第三摄像机参数是幻影摄像机在步骤206a所述的历史时刻的摄像机参数,第三摄像机参数包括但不限于位置参数和旋转参数。
假设当前帧为第i帧,历史帧包括第i-1帧、第i-2帧、第i-3帧和第i-4帧。
对于第i-1帧时的幻影摄像机,根据主摄像机在第i-2帧时的第二摄像机参数和第i-1帧时的第一摄像机参数,确定幻影摄像机在第i-1帧时的第三摄像机参数。
对于第i-2帧时的幻影摄像机,根据主摄像机在第i-3帧时的第二摄像机参数和第i-2帧时的第一摄像机参数,确定幻影摄像机在第i-2帧时的第三摄像机参数。
对于第i-3帧时的幻影摄像机,根据主摄像机在第i-4帧时的第二摄像机参数和第i-3帧时的第一摄像机参数,确定幻影摄像机在第i-3帧时的第三摄像机参数。
对于第i-4帧时的幻影摄像机,根据主摄像机在第i-5帧时的第二摄像机参数和第i-4帧时的第一摄像机参数,确定幻影摄像机在第i-4帧时的第三摄像机参数。
示例性的,第三摄像机参数由将两倍第一摄像机参数与第二摄像机参数做差得到,使得幻影摄像机能够模拟主摄像机在前一帧时的历史视角。
示例性的如图6所示,实线框表示的是当前帧,即第i帧时主摄像机的位置;实线圆表示的是当前帧,即第i帧虚拟角色的位置;点划线框表示的是在当前帧的前一帧,即第i-1帧时主摄像机的位置;点划线圆表示的是在当前帧的前一帧,即第i-1帧虚拟角色的位置;虚线框表示的是当前帧,即第i帧时幻影摄像机的位置。
其中,当前帧,即第i帧时幻影摄像机的位置由将两倍第i帧时主摄像机位置参数减去第i-1帧时的主摄像机位置参数得到,也即,第三摄像机参数与第一摄像机参数的差等于第一摄像机参数与第二摄像机参数的差。从而使得第i帧时幻影摄像机所采集到的虚拟角色可以模拟主摄像机在第i-1时帧时所采集的虚拟角色。终端在内存中缓存幻影摄像机在最近5帧对应的时刻所采集的虚拟角色,以便后续计算。
虚拟世界中的虚拟角色始终位于主摄像机的中心位置。从第i-1帧到第i帧,代表虚拟角色的圆从点划线圆移动到实线圆的位置,代表主摄影机的方框也由点划线框移动到实线框的位置。对于当前帧,即第i帧而言,幻影摄像机移到虚线框的位置时,可以模拟出第i-1帧中虚拟角色在第i帧主摄像机中的相对位置。
类似地,第三摄像机参数中的旋转参数可以通过同样的方法获得。
步骤307:获取幻影摄像机在历史时刻采集的虚拟角色的历史颜色输出、历史深度输出;
其中,历史颜色输出是指模型材质在历史时刻的像素值,历史深度输出是指模型与幻影摄像机之间的景深距离,用于判断不同模型之间的遮挡关系。
可选地,基于幻影摄像机在当前帧之前的至少一个历史帧对应的历史时刻采集的虚拟角色获取历史颜色输出和历史深度输出。
步骤308:获取主摄像机在当前时刻采集的当前颜色输出和当前深度输出;
其中,当前颜色输出是指模型材质在当前时刻的像素值,当前深度输出是指模型与幻影摄像机之间的景深距离,用于判断不同模型之间的遮挡关系。
步骤310a:判断当前深度输出是否小于历史深度输出;
示例性的,对于当前帧中的每个像素点,比较当前输出结果中的当前深度输出与历史输出结果中的历史深度输出,可以认为深度输出小代表距离主摄像机更近,深度输出大代表距离主摄像机更远。考虑其遮挡关系,舍弃深度输出大的输出结果,保留深度输出小的输出结果。
若历史深度输出小于当前深度输出结果,则说明虚拟角色的幻影不会被遮挡,进行步骤310b、步骤310c;若历史深度输出结果大于当前深度输出结果,则说明虚拟角色的幻影会被遮挡,进行步骤310d。
步骤310b:基于第一参数对历史颜色输出进行半透明处理,基于第二参数对历史颜色输出进行模糊化处理。
第一参数指的是对历史颜色输出进行半透明处理的透明度参数。本实施例中透明度参数越大,幻影越不可见。第一参数是基于历史帧与当前帧之间的时间距离确定的,历史帧与当前帧之间的时间距离与第一参数的大小成正比例关系,即时间距离越大,第一参数越大。
第二参数指的是对历史颜色输出进行模糊化处理的模糊度参数。本实施例中模糊度参数越大,幻影越模糊。第二参数是基于历史帧与当前帧之间的时间距离确定的,历史帧与当前帧之间的时间距离与第二参数的大小成正比例关系,即时间距离越大,第二参数越大。
示例性的如图3所示,虚拟角色具有4重幻影,当前帧为第n帧。选择第n-1帧、第n-2帧、第n-3帧、第n-4帧作为历史帧,分别获得第一重幻影、第二重幻影、第三重幻影、第四重幻影。基于历史帧与当前帧之间的时间距离确定的透明度参数可以分别为80%、60%、40%、20%(透明度越大,幻影越不可见);模糊度参数可以分别为80%、60%、40%、20%(模糊度越大,幻影越模糊)。
示例性的如图7所示,终端上显示虚拟世界20、位于虚拟世界中的虚拟角色22、方向控制控件24、模式切换控件26、好友列表控件28、语音功能控件30、地图控件32、设置控件34、背包控件36、菜单列表控件38、伤害输出控件40、攻击控件42、视角切换控件44、突进输出控件46、跳跃控件48。当用户通过拖动24方向控制控件来控制虚拟角色22在虚拟世界20中向左移动时,终端显示在移动过程中具有四重幻影的虚拟角色。从右往左分别是第一重幻影至第四重幻影,其中第一重幻影至第四重幻影对应的历史帧的时间由早到晚。由图可见,从第一重幻影至第四重幻影的透明度和模糊度都逐次降低。
步骤310c:根据第一像素点的当前颜色输出和历史颜色输出的加权和,得到第一像素点的最终输出颜色;
第一像素点指的是当前深度输出小于历史深度输出的像素点,在该情况下,幻影未被遮挡。
根据第一像素点的当前颜色输出和历史颜色输出的加权和,得到第一像素点的最终输出颜色。以虚拟角色具有4重幻影举例,权重设置可以是每一帧历史颜色输出各占10%,当前颜色输出占60%;也可以是第n-4帧的历史颜色输出占10%,第n-3帧的历史颜色输出占15%,第n-2帧的历史颜色输出占20%,第n-1帧的历史颜色输出占25%,当前颜色输出占30%等。
步骤310d:根据第二像素点的当前颜色输出,得到第二像素点的最终颜色输出;
第二像素点指的是当前深度输出大于历史深度输出的像素点,该情况下幻影被遮挡,故第二像素点的当前颜色输出即为第二像素点的最终颜色输出。
步骤310e:重复步骤310a至步骤310d,直至所有像素点融合完毕;
由于当前帧中的一部分像素点是具有历史输出结果的目标像素点,比如虚拟角色所在的像素点以及周围像素点;另一部分像素点是不具有历史输出结果的像素点,比如背景像素点。对于每个目标像素点,重复上述深度输出的比较,对每个目标像素点的当前输出结果和历史输出结果进行融合,得到当前帧。
步骤312:在当前帧中显示在移动过程中具有幻影的虚拟角色。
参考图2中的步骤106所述,不再赘述。
综上所述,本实施例提供的方法,通过基于当前帧之前的至少一个历史帧产生虚拟角色的幻影,在当前帧中显示具有幻影的虚拟角色,由于充分利用了虚拟角色在历史帧中的二维成像信息来生成幻影,不需要对虚拟角色的三维模型进行复制,因此减少了内存占用和计算时间,而且虚拟角色在各帧之间的动作会略有差异,虚拟角色在历史帧中的动作与当前帧中的动作具有动作连续性,能够更好地表现出更加真实和流畅的幻影效果。
本实施例提供的方法,还通过对当前颜色输出和历史颜色输出求加权和、对幻影进行模糊化和半透明处理,使得虚拟角色的幻影效果更加逼真,提升了用户的体验感。
图8示出了本申请一个示例性实施例示出的虚拟角色的幻影显示方法的流程示意图。本实施例中虚拟角色具有四重幻影。该方法可由图1所示的终端110(或终端110内的客户端)来执行进行举例说明。该方法包括如下步骤:
步骤321,开始;
步骤322,创建幻影摄像机;
步骤323,获取当前帧,即第i帧时的主摄像机状态;
步骤324,获取当前帧之前的一个历史帧,即第i-1帧时的主摄像机状态;
步骤325,结合第i帧时的主摄像机状态与第i-1帧时的主摄像机状态,设置第i帧时的的幻影摄像机状态;
步骤326,缓存幻影摄像机在第i帧的历史颜色输出、历史深度输出;
步骤327,分别获取幻影摄像机在第i-4帧、第i-3帧、第i-2帧、第i-1帧的历史颜色输出、历史深度输出;
步骤328,获取主摄像机在第i帧的当前颜色输出、当前深度输出;
步骤329,比较主摄像机的当前深度输出与幻影摄像机的历史深度输出;
响应于第一像素点的当前深度输出大于历史深度输出,根据第一像素点的当前颜色输出和历史颜色输出的加权和,得到第一像素点的最终颜色输出。
响应于第二像素点的当前深度输出小于历史深度输出,根据第二像素点的当前颜色输出,得到第二像素点的最终颜色输出。
步骤330,对每一个像素点重复上述步骤309;
步骤331,基于第一参数和第二参数,分别对当前帧之前的四个历史帧,即第i-1帧、第i-2帧、第i-3帧、第i-4帧时幻影摄像机的历史颜色输出进行半透明处理和模糊化处理;
第一参数指的是对历史颜色输出进行半透明处理的透明度参数,第一参数是基于历史帧与当前帧之间的时间距离确定的。历史帧与当前帧之间的时间距离和第一参数的大小成正比例关系,即时间距离越大,第一参数越大。
第二参数指的是对历史颜色输出进行模糊化处理的模糊度参数,第二参数是基于历史帧与当前帧之间的时间距离确定的。历史帧与当前帧之间的时间距离和第二参数的大小成正比例关系,即时间距离越大,第二参数越大。
步骤332,在当前帧显示具有四重幻影的虚拟角色;
步骤333,结束。
以幻影为4重幻影,分别根据第n-4帧、第n-3帧、第n-2帧和第n-1帧来生成幻影为例:
示例性的如图9所示,虚拟角色具有4重幻影,当前帧为第n帧。步骤401和步骤402,获取第n-5帧时和第n-4帧时的主摄像机位置参数和旋转参数。步骤403结合第n-5帧时与第n-4帧时的主摄像机状态,设置第n-4帧时的幻影摄像机状态。步骤404,获取幻影摄像机在第n-4帧时的历史颜色输出和历史深度输出并缓存。类似的,缓存第n-3帧时、第n-2帧时、第n-1帧时的幻影摄像机的历史颜色输出和历史深度输出。步骤414,获取第n帧时的主摄像机的位置参数和旋转参数,进而在步骤415中获取主摄像机在第n帧时的当前颜色输出和当前深度输出。步骤416,比较幻影摄像机的历史深度输出和主摄像机的当前深度输出。若幻影摄像机的历史深度输出小于主摄像机的当前深度输出,则执行步骤417,对经过半透明化和模糊化的历史颜色输出加权平均得到最终结果;若幻影摄像机的历史深度输出大于主摄像机的当前深度输出,则执行步骤418,舍弃幻影摄像机的历史深度输出,选择主摄像机的当前深度输出作为最终颜色输出。
以幻影为4重幻影,分别根据第n-8帧、第n-6帧、第n-4帧和第n-2帧来生成幻影为例:
示例性的如图10所示,虚拟角色具有4重幻影,当前帧为第n帧。步骤501和步骤502,获取第n-10帧时和第n-8帧时的主摄像机位置参数和旋转参数。步骤503结合第n-10帧时与第n-8帧时的主摄像机状态,设置第n-8帧时的幻影摄像机状态。步骤504,获取幻影摄像机在第n-8帧时的历史颜色输出和历史深度输出并缓存。类似的,缓存第n-6帧时、第n-4帧时、第n-2帧时的幻影摄像机的历史颜色输出和历史深度输出。步骤514,获取第n帧时的主摄像机的位置参数和旋转参数,进而在步骤515中获取主摄像机在第n帧时的当前颜色输出和当前深度输出。步骤516,比较幻影摄像机的历史深度输出和主摄像机的当前深度输出。若幻影摄像机的历史深度输出小于主摄像机的当前深度输出,则执行步骤517,对经过半透明化和模糊化的历史颜色输出加权平均得到最终结果;若幻影摄像机的历史深度输出大于主摄像机的当前深度输出,则执行步骤518,舍弃幻影摄像机的历史深度输出,选择主摄像机的当前深度输出作为最终颜色输出。
以幻影为4重幻影,分别根据第n-3帧、第n-2帧、第n-1帧和第n帧(当前帧)来生成幻影为例:
示例性的如图11所示,虚拟角色具有4重幻影,当前帧为第n帧,步骤601和步骤602,获取第n-4帧时和第n-3帧时的主摄像机位置参数和旋转参数。步骤603结合第n-4帧时与第n-3帧时的主摄像机状态,设置第n-3帧时的幻影摄像机状态。步骤604,获取幻影摄像机在第n-3帧时的历史颜色输出和历史深度输出并缓存。类似的,缓存第n-2帧时、第n-1帧时、第n帧时幻影摄像机的历史颜色输出和历史深度输出。步骤611,获取第n帧时的主摄像机的位置参数和旋转参数,进而在步骤614中获取主摄像机在第n帧时的当前颜色输出和当前深度输出。步骤615,比较幻影摄像机的历史深度输出和主摄像机的当前深度输出。若幻影摄像机的历史深度输出小于主摄像机的当前深度输出,则执行步骤616,对经过半透明化和模糊化的历史颜色输出加权平均得到最终结果;若幻影摄像机的历史深度输出大于主摄像机的当前深度输出,则执行步骤617,舍弃幻影摄像机的历史深度输出,选择主摄像机的当前深度输出作为最终颜色输出。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图12示出了本申请一个示例性实施例提供的虚拟角色的幻影显示方法的展示装置的框图,所述装置包括:
显示模块1220,用于显示位于虚拟世界中的虚拟角色;
交互模块1270,用于用户控制所述虚拟角色在所述虚拟世界中的移动。
所述显示模块1220,用于在当前帧中显示在移动过程中具有幻影的所述虚拟角色,所述幻影包括基于所述当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。
在本实施例的一个可选设计中,所述显示模块1220,用于在所述当前帧中显示在移动过程中具有n重幻影的所述虚拟角色,所述n重幻影中的至少一重幻影是基于所述当前帧之前的历史帧中的虚拟角色产生的;其中,n为正整数。
在本实施例的一个可选设计中,所述n重幻影中的第i重幻影的透明度大于第i+1重幻影,所述第i重幻影对应的第i历史帧早于所述第i+1重幻影对应的第i+1历史帧;其中,i为正整数。
在本实施例的一个可选设计中,所述n重幻影中的所述第i重幻影的模糊度大于所述第i+1重幻影,所述第i重幻影对应的所述第i历史帧早于所述第i+1重幻影对应的第i+1历史帧;其中,i为正整数。
在本实施例的一个可选设计中,所述虚拟世界里设置有主摄像机与幻影摄像机模型。所述主摄像机用于在所述虚拟世界中对所述虚拟角色进行自动跟随,得到虚拟世界画面;所述幻影摄像机用于得到历史帧中的虚拟角色画面。所述装置包括获取模块1230和融合模块1240。
所述获取模块1230,用于获取所述主摄像机在所述当前时刻采集的当前输出结果以及所述幻影摄像机在所述历史时刻采集的所述虚拟角色的历史输出结果。
所述融合模块1240,用于对所述当前输出结果和所述历史输出结果进行融合,得到当前帧对所述当前输出结果和所述历史输出结果进行融合,得到所述当前帧,所述当前帧包括具有幻影的所述虚拟角色。
在本实施例的一个可选设计中,所述获取模块1230,用于根据第一摄像机参数和第二摄像机参数设置所述幻影摄像机在所述历史时刻的第三摄像机参数;获取具有所述第三摄像机参数的所述幻影摄像机,在所述历史时刻采集的所述虚拟角色的历史输出结果;
其中,所述第一摄像机参数是所述主摄像机在所述历史时刻的摄像机参数,所述第二摄像机参数是所述主摄像机在所述历史帧的前一帧时刻的摄像机参数。
在本实施例的一个可选设计中,所述获取模块1230,用于将两倍所述第一摄像机参数与所述第二摄像机参数的差,设置为所述幻影摄像机在所述历史帧的第三摄像机参数。
在本实施例的一个可选设计中,所述当前输出结果包括当前颜色输出和当前深度输出;所述历史输出结果包括历史颜色输出和历史深度输出;
所述融合模块1240,用于响应于第一像素点的当前深度输出大于所述历史深度输出,根据所述第一像素点的当前颜色输出和历史颜色输出的加权和,得到所述第一像素点的最终颜色输出;响应于第二像素点的当前深度输出小于所述历史深度输出,根据所述第二像素点的当前颜色输出,得到所述第二像素点的最终颜色输出;重复执行上述两个步骤,基于各个像素点的所述最终颜色输出得到所述当前帧。
在本实施例的一个可选设计中,所述装置,还包括:
第一处理模块1250,用于基于第一参数对所述历史颜色输出进行半透明处理。
在本实施例的一个可选设计中,所述第一处理模块1250,用于基于所述历史帧与所述当前帧之间的时间距离,确定所述第一参数。
在本实施例的一个可选设计中,所述装置,还包括:
第二处理模块1260,用于基于第二参数对所述历史颜色输出进行模糊化处理。
在本实施例的一个可选设计中,所述第二处理模块1260,用于基于所述历史帧与所述当前帧之间的时间距离,确定所述第二参数。
图13是根据一示例性实施例示出的一种终端的结构示意图。所述终端1300包括中央处理单元(Central Processing Unit,CPU)1301、包括随机存取存储器(Random AccessMemory,RAM)1302和只读存储器(Read-Only Memory,ROM)1303的系统存储器1304,以及连接系统存储器1304和中央处理单元1301的系统总线1305。所述计算机设备1300还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1306,和用于存储操作系统1313、应用程序1314和其他程序模块1315的大容量存储设备1307。
所述基本输入/输出系统1306包括有用于显示信息的显示器1308和用于用户输入信息的诸如鼠标、键盘之类的输入设备1309。其中所述显示器1308和输入设备1309都通过连接到系统总线1305的输入输出控制器1310连接到中央处理单元1301。所述基本输入/输出系统1306还可以包括输入输出控制器1310以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1310还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1307通过连接到系统总线1305的大容量存储控制器(未示出)连接到中央处理单元1301。所述大容量存储设备1307及其相关联的计算机设备可读介质为计算机设备1300提供非易失性存储。也就是说,所述大容量存储设备1307可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器1304和大容量存储设备1307可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1300还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备1300可以通过连接在所述系统总线1305上的网络接口单元1312连接到网络1311,或者说,也可以使用网络接口单元1312来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器1301通过执行该一个或一个以上程序来实现上述虚拟角色的幻影显示方法的全部或者部分步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的虚拟角色的幻影显示方法。
可选地,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述虚拟角色的幻影显示方面的各种可选实现方式中提供的方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请的实施例中采用的透明度概念,透明度越大,则图像越不可见;本申请的实施例中采用的模糊度概念,模糊度越大,则图像越模糊。本领域普通技术人员可以理解在其它实施例中,上述提到的透明度和模糊度可以有不同的解释。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种虚拟角色的幻影显示方法,其特征在于,所述方法包括:
显示位于虚拟世界中的虚拟角色;
控制所述虚拟角色在所述虚拟世界中移动;
获取幻影摄像机在历史时刻采集的所述虚拟角色的历史输出结果,所述历史输出结果包括历史颜色输出和历史深度输出;及,获取主摄像机在当前时刻采集的当前输出结果,所述当前输出结果包括当前颜色输出和当前深度输出;
响应于第一像素点的当前深度输出小于所述历史深度输出,根据所述第一像素点的当前颜色输出和历史颜色输出的加权和,得到所述第一像素点的最终颜色输出;
响应于第二像素点的当前深度输出大于所述历史深度输出,根据所述第二像素点的当前颜色输出,得到所述第二像素点的最终颜色输出;
重复执行上述两个步骤,基于各个像素点的所述最终颜色输出得到当前帧;
在所述当前帧中显示在移动过程中具有幻影的所述虚拟角色,所述幻影包括基于所述当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。
2.根据权利要求1所述的方法,其特征在于,所述在所述当前帧中显示在移动过程中具有幻影的所述虚拟角色,包括:
在所述当前帧中显示在移动过程中具有n重幻影的所述虚拟角色,所述n重幻影中的至少一重幻影是基于所述当前帧之前的历史帧中的虚拟角色产生的;
其中,n为正整数。
3.根据权利要求2所述的方法,其特征在于,
所述n重幻影中的第i重幻影的透明度大于第i+1重幻影,所述第i重幻影对应的第i历史帧早于所述第i+1重幻影对应的第i+1历史帧;
其中,i为正整数。
4.根据权利要求2所述的方法,其特征在于,
所述n重幻影中的第i重幻影的模糊度大于第i+1重幻影,所述第i重幻影对应的第i历史帧早于所述第i+1重幻影对应的第i+1历史帧;
其中,i为正整数。
5.根据权利要求1所述的方法,其特征在于,所述获取幻影摄像机在历史时刻采集的所述虚拟角色的历史输出结果,包括:
根据第一摄像机参数和第二摄像机参数设置所述幻影摄像机在所述历史时刻的第三摄像机参数;
获取具有所述第三摄像机参数的所述幻影摄像机,在所述历史时刻采集的所述虚拟角色的历史输出结果;
其中,所述第一摄像机参数是所述主摄像机在所述历史时刻的摄像机参数,所述第二摄像机参数是所述主摄像机在所述历史帧的前一帧对应时刻的摄像机参数。
6.根据权利要求5所述的方法,其特征在于,所述根据第一摄像机参数和第二摄像机参数设置所述幻影摄像机在所述历史时刻的第三摄像机参数,包括:
将两倍所述第一摄像机参数与所述第二摄像机参数的差,设置为所述幻影摄像机在所述历史时刻的第三摄像机参数。
7.根据权利要求1至6任一所述的方法,其特征在于,所述响应于第一像素点的当前深度输出小于所述历史深度输出,根据所述第一像素点的当前颜色输出和历史颜色输出的加权和,得到所述第一像素点的最终颜色输出之前,还包括:
基于第一参数对所述历史颜色输出进行半透明处理。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
基于所述历史时刻与所述当前时刻之间的时间距离,确定所述第一参数。
9.根据权利要求1至6任一所述的方法,其特征在于,所述响应于第一像素点的当前深度输出小于所述历史深度输出,根据所述第一像素点的当前颜色输出和历史颜色输出的加权和,得到所述第一像素点的最终颜色输出之前,还包括:
基于第二参数对所述历史颜色输出进行模糊化处理。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
基于所述历史时刻与所述当前时刻之间的时间距离,确定所述第二参数。
11.一种虚拟角色的幻影显示装置,其特征在于,所述装置包括:
显示模块,用于显示位于虚拟世界中的虚拟角色;
交互模块,用于用户控制所述虚拟角色在所述虚拟世界中的移动;
获取模块,用于获取幻影摄像机在历史时刻采集的所述虚拟角色的历史输出结果,所述历史输出结果包括历史颜色输出和历史深度输出;及,获取主摄像机在当前时刻采集的当前输出结果,所述当前输出结果包括当前颜色输出和当前深度输出;
融合模块,用于响应于第一像素点的当前深度输出小于所述历史深度输出,根据所述第一像素点的当前颜色输出和历史颜色输出的加权和,得到所述第一像素点的最终颜色输出;
所述融合模块,用于响应于第二像素点的当前深度输出大于所述历史深度输出,根据所述第二像素点的当前颜色输出,得到所述第二像素点的最终颜色输出;
所述融合模块,用于重复执行上述两个步骤,基于各个像素点的所述最终颜色输出得到当前帧;
所述显示模块,用于在所述当前帧中显示在移动过程中具有幻影的所述虚拟角色,所述幻影包括基于所述当前帧之前的至少一个历史帧中的虚拟角色产生的幻影。
12.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10中任一项所述的虚拟角色幻影显示方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至10中任一项所述的虚拟角色幻影显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110258387.0A CN112999657B (zh) | 2021-03-09 | 2021-03-09 | 虚拟角色的幻影显示方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110258387.0A CN112999657B (zh) | 2021-03-09 | 2021-03-09 | 虚拟角色的幻影显示方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112999657A CN112999657A (zh) | 2021-06-22 |
CN112999657B true CN112999657B (zh) | 2022-11-25 |
Family
ID=76403623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110258387.0A Active CN112999657B (zh) | 2021-03-09 | 2021-03-09 | 虚拟角色的幻影显示方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112999657B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104766361A (zh) * | 2015-04-29 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种残影效果的实现方法,及装置 |
CN110913118A (zh) * | 2018-09-17 | 2020-03-24 | 腾讯数码(天津)有限公司 | 视频处理方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8953909B2 (en) * | 2006-01-21 | 2015-02-10 | Elizabeth T. Guckenberger | System, method, and computer software code for mimic training |
-
2021
- 2021-03-09 CN CN202110258387.0A patent/CN112999657B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104766361A (zh) * | 2015-04-29 | 2015-07-08 | 腾讯科技(深圳)有限公司 | 一种残影效果的实现方法,及装置 |
CN110913118A (zh) * | 2018-09-17 | 2020-03-24 | 腾讯数码(天津)有限公司 | 视频处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112999657A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108619720B (zh) | 动画的播放方法和装置、存储介质、电子装置 | |
EP2527019B1 (en) | Sprite strip renderer | |
US20170249785A1 (en) | Virtual reality session capture and replay systems and methods | |
CN113134233B (zh) | 控件的显示方法、装置、计算机设备及存储介质 | |
US11409276B2 (en) | Method and system for controlling robots within in an interactive arena and generating a virtual overlayed | |
CN107895399A (zh) | 一种全方位视角切换方法、装置、终端设备及存储介质 | |
TWI831074B (zh) | 虛擬場景中的信息處理方法、裝置、設備、媒體及程式產品 | |
CN112402960A (zh) | 虚拟场景中状态切换方法、装置、设备及存储介质 | |
CN113209618B (zh) | 虚拟角色的控制方法、装置、设备及介质 | |
EP3995190A1 (en) | Virtual environment image display method and apparatus, device and medium | |
CN112711458A (zh) | 虚拟场景中道具资源的展示方法及装置 | |
CN113797536A (zh) | 虚拟场景中对象的控制方法、装置、存储介质及程序产品 | |
CN112057860B (zh) | 虚拟场景中激活操作控件的方法、装置、设备及存储介质 | |
US20230271084A1 (en) | Method of displaying shooting for virtual firearm, apparatus, and computer-readable storage medium | |
JP2024522067A (ja) | ユーザインタフェースの表示方法、装置、機器及びコンピュータプログラム | |
CN114470775A (zh) | 虚拟场景中的对象处理方法、装置、设备及存储介质 | |
CN111389007B (zh) | 一种游戏控制方法、装置、计算设备及存储介质 | |
CN112999657B (zh) | 虚拟角色的幻影显示方法、装置、设备及介质 | |
CN109692476B (zh) | 游戏交互方法、装置、电子设备及存储介质 | |
CN112870694B (zh) | 虚拟场景的画面显示方法、装置、电子设备及存储介质 | |
CN113144617B (zh) | 虚拟对象的控制方法、装置、设备及计算机可读存储介质 | |
CN112717403B (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
CN115068929A (zh) | 游戏信息获取方法、装置、电子设备和存储介质 | |
WO2024012016A1 (zh) | 虚拟场景的信息显示方法、装置、电子设备、存储介质及计算机程序产品 | |
US12019837B2 (en) | Control display method and apparatus, device, medium, and program product |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40047811 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |