CN112642149A - 游戏动画更新方法、装置及计算机可读存储介质 - Google Patents
游戏动画更新方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112642149A CN112642149A CN202011606895.5A CN202011606895A CN112642149A CN 112642149 A CN112642149 A CN 112642149A CN 202011606895 A CN202011606895 A CN 202011606895A CN 112642149 A CN112642149 A CN 112642149A
- Authority
- CN
- China
- Prior art keywords
- animation
- rendered
- frame
- data
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 108
- 239000011159 matrix material Substances 0.000 claims abstract description 82
- 238000009877 rendering Methods 0.000 claims abstract description 47
- 238000004364 calculation method Methods 0.000 abstract description 23
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010438 heat treatment Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/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/5258—Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- 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
- A63F2300/6661—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
- A63F2300/6669—Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供的游戏动画更新方法、装置及计算机可读存储介质,涉及计算机图像技术领域,首先确定动画对象与摄像机之间的距离;当距离较远时,根据预先确定的简单动画数据对待渲染模型进行渲染;简单动画数据包括骨骼偏移矩阵;当距离较近时,根据原始骨骼信息计算动画对象待渲染模型的骨骼偏移矩阵,根据计算得到的骨骼偏移矩阵对待渲染动画对象进行渲染;其中,第一距离范围的最小值大于第二距离范围的最大值。本申请提供的方案仅在动画对象距离摄像机较近时实时进行计算,在距离较远时利用预先设定的简单动画数据对待渲染模型进行渲染,减少了计算量,降低了处理器的负荷,提高图像帧率,减少计算量也可以降低设备发热。
Description
技术领域
本发明涉及计算机图像技术领域,具体而言,涉及一种游戏动画更新方法、装置及计算机可读存储介质。
背景技术
三维游戏中,骨骼动画是必不可少的一个模块,但是动画计算是一项比较耗费性能的模块,特别是在移动设备中,动画计算的效率不仅影响游戏的帧率,还对移动设备发热有较大影响。
现有技术实现骨骼动画的时候,每帧动画均需要计算全局骨骼偏移矩阵数据,然后再进行渲染,但在实际游戏运用中,玩家、怪物等各种角色,他们的每种动作都是需要反复播放,骨骼动画需要反复播放时,则会因为每帧重复计算动画的骨骼偏移矩阵数据,处理器计算量大,不仅影响游戏的帧率,还对设备发热有较大影响。
发明内容
本发明的目的包括,例如,提供了一种游戏动画更新方法、装置及计算机可读存储介质,以改善现有的渲染方法计算量大,图像帧率低,设备发热高等问题。
本发明的实施例可以这样实现:
第一方面,本发明提供一种游戏动画更新方法,所述游戏动画更新方法包括:
确定动画对象与摄像机之间的距离;
当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染动画帧进行渲染;所述简单动画数据包括预设数量个动画帧数据,所述动画帧数据包括骨骼偏移矩阵;
当所述动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算所述动画对象待渲染动画帧的骨骼偏移矩阵,根据计算得到的所述骨骼偏移矩阵对所述待渲染动画进行渲染;
其中,所述第一距离范围的最小值大于所述第二距离范围的最大值。
在可选的实施方式中,当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染动画帧进行渲染的步骤包括:
获取待渲染动画帧的帧标识;
根据所述帧标识在所述简单动画数据中确定所述帧标识最接近的动画帧数据;
根据所述动画帧数据对所述待渲染动画帧进行渲染。
在可选的实施方式中,当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染动画帧进行渲染步骤之前,所述方法包括:
获取每一个动画类型的原始动画数据,所述原始动画数据包括多个原始动画帧,每一个所述原始动画帧包括原始骨骼信息;
根据所述原始骨骼信息计算预设数量个动画帧数据,每一个所述动画帧数据包括帧标识以及所述帧标识对应的骨骼偏移矩阵。
在可选的实施方式中,当所述动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算所述动画对象待渲染动画帧的骨骼偏移矩阵,根据计算得到的所述骨骼偏移矩阵对所述待渲染动画进行渲染的步骤包括:
获取待渲染动画帧的帧标识;
根据所述帧标识确定所述帧标识最接近的原始动画帧,所述原始动画帧包括原始骨骼信息;
根据所述原始骨骼信息计算得到待渲染动画帧的骨骼偏移矩阵,依据所述骨骼偏移矩阵对所述待渲染动画帧进行渲染。
在可选的实施方式中,确定动画对象与摄像机之间的距离的步骤包括:
分别确定所述动画对象与所述摄像机的位置坐标;
根据所述动画对象的位置坐标与所述摄像机的位置坐标确定所述动画对象与所述摄像机之间的距离。
第二方面,本发明提供一种游戏动画更新装置,所述游戏动画更新装置用于执行如前述实施方式任意一项所述的方法,所述游戏动画更新装置包括:
确定模块,用于确定动画对象与摄像机之间的距离;
处理模块,用于当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染动画帧进行渲染;所述简单动画数据包括预设数量个动画帧数据,所述动画帧数据包括骨骼偏移矩阵;
所述处理模块还用于当所述动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算所述动画对象待渲染动画帧的骨骼偏移矩阵,根据计算得到的所述骨骼偏移矩阵对所述待渲染动画进行渲染;
其中,所述第一距离范围的最小值大于所述第二距离范围的最大值。
在可选的实施方式中,所述处理模块用于获取待渲染动画帧的帧标识;根据所述帧标识在所述简单动画数据中确定所述帧标识最接近的动画帧数据;根据所述动画帧数据对所述待渲染动画帧进行渲染。
在可选的实施方式中,所述处理模块用于获取每一个动画类型的原始动画数据,所述原始动画数据包括多个原始动画帧,每一个所述原始动画帧包括原始骨骼信息;
所述处理模块用于根据所述原始骨骼信息计算预设数量个动画帧数据,每一个所述动画帧数据包括帧标识以及所述帧标识对应的骨骼偏移矩阵。
在可选的实施方式中,所述处理模块还用于获取待渲染动画帧的帧标识;根据所述帧标识确定所述帧标识最接近的原始动画帧,所述原始动画帧包括原始骨骼信息;根据所述原始骨骼信息计算得到待渲染动画帧的骨骼偏移矩阵,依据所述骨骼偏移矩阵对所述待渲染动画帧进行渲染。
第三方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读程序指令,当所述计算机可读程序指令被处理器执行时实现如前述实施方式任意一项所述游戏动画更新方法的步骤。
相对于现有技术,本申请提供的游戏动画更新方法、装置及计算机可读存储介质,首先确定动画对象与摄像机之间的距离;当动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对动画对象待渲染动画帧进行渲染;简单动画数据包括预设数量个动画帧数据,动画帧数据包括骨骼偏移矩阵;当动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算动画对象待渲染动画帧的骨骼偏移矩阵,根据计算得到的骨骼偏移矩阵对待渲染动画进行渲染;其中,第一距离范围的最小值大于第二距离范围的最大值。仅在动画对象距离摄像机较近时实时进行计算,在距离较远时利用预先设定的简单动画数据对待渲染动画帧进行渲染,减少了计算量,降低了处理器的负荷,提高图像帧率,减少计算量也可以降低设备发热。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本实施例提供的电子设备的示意图;
图2为本实施例提供的一种游戏动画更新方法的流程示意图;
图3为本实施例提供的另一种游戏动画更新方法的流程示意图;
图4为本实施例提供的另一种游戏动画更新方法的流程示意图;
图5为本实施例提供的另一种游戏动画更新方法的流程示意图;
图6为本实施例提供的一种游戏动画更新装置的流程示意图。
图标:100-电子设备;110-处理器;111-存储器;112-总线;113-通信接口;300-游戏动画更新装置;310-确定模块;320-处理模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
本申请实施例提供了一种电子设备,可以是个人电脑、平板电脑、智能手机或其他的终端设备。请参照图1,图1示出了本实施例提供的电子设备的结构示意图。电子设备100包括处理器110、存储器111、总线112。处理器110、存储器111通过总线112连接,处理器110用于执行存储器111中存储的可执行模块,例如计算机程序。
处理器110可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,游戏动画更新方法的各步骤可以通过处理器110中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器110可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器111可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
总线112可以是ISA(Industry Standard Architecture)总线、PCI(PeripheralComponent Interconnect)总线或EISA(Extended Industry Standard Architecture)总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线112或一种类型的总线112。
存储器111用于存储程序,例如游戏动画更新装置对应的程序。游戏动画更新装置包括至少一个可以软件或固件(firmware)的形式存储于存储器111中或固化在电子设备的操作系统(operating system,OS)中的软件功能模块。处理器110在接收到执行指令后,执行所述程序以实现基于智能切割边界的应力数据统计方法。
可能地,本申请实施例提供的电子设备还包括通信接口113。通信接口113通过总线与处理器110连接。处理器110可以通过通信接口113接收服务器传输的数据。
应当理解的是,图1所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供的一种游戏动画更新方法,可以但不限于应用于图1所示的电子设备100,具体的流程,请参考图2,图2示出了本实施例提供的游戏动画更新方法的流程示意图,该游戏动画更新方法包括:
步骤210:确定动画对象与摄像机之间的距离。
确定动画对象与虚拟摄像机之间的距离,虚拟摄像机的位置可以响应用户的操作变换位置,动画对象也可以响应用户的游戏操作移动,动画对象与虚拟摄像机之间的位置是时刻发生变化的。可以理解地,当动画对象距离摄像机距离较远时,会展现更少的动画细节;当动画对象距离摄像机较近时,会展现更多的动画细节。本实施例提供的方案,首先确定动画对象与摄像机之间的距离,根据动画对象与摄像机之间的距离对动画模型渲染的方式进行调整。
步骤220:当动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对动画对象待渲染模型进行渲染;简单动画数据包括预设数量个动画关键帧数据,动画关键帧数据包括骨骼偏移矩阵。
可选地,第一距离范围为较远的距离范围,当动画对象与摄像机之间的距离处于第一距离范围时,表明当前动画对象距离摄像机的位置较远。当动画对象距离摄像机的位置较远的情况下,会展现更少的动画细节,例如,可以适当减少阴影、光照、以及动画对象模型细节等,由于动画对象距离摄像机的位置相对较远,对动画的要求较低,因此无须进行即时计算渲染,可以预先计算生成动画对象各个动作的简单动画数据,简单动画数据包括预设数量个动画关键帧数据,每一个动画关键帧数据均包括骨骼偏移矩阵,根据预先确定的简单动画数据中的骨骼偏移矩阵对动画对象的当前动画进行渲染。可以理解地,根据预先确定的简单动画数据中的骨骼偏移矩阵对动画对象的当前待渲染模型进行渲染,可以减少计算量,降低设备功耗,减少设备的发热。
步骤230:当动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算动画对象当前动画播放时间点下的骨骼偏移矩阵,根据计算得到的骨骼偏移矩阵对待渲染模型进行渲染。
第二距离范围是较近的距离范围,其中,第一距离范围的最小值大于第二距离范围的最大值。当动画对象的位置距离摄像机的距离处于较近的距离范围时,对动画的细节要求更高,需要展示更多的动画细节,因此当动画对象与摄像机之间的距离处于第二距离范围时,对这一情况下的动画对象的待渲染模型进行即时的计算和渲染,即据原始骨骼信息计算动画对象待渲染模型的骨骼偏移矩阵,根据计算得到的骨骼偏移矩阵对待渲染模型进行渲染。可以理解地,实时地对待渲染模型的骨骼偏移矩阵进行计算,可以提高动画质量,提高帧率。
本实施例提供的游戏动画更新方法,当动画对象距离摄像机较远时根据预先确定的简单动画数据确定动画对象待渲染模型的骨骼偏移矩阵;当动画对象距离摄像机较近时,据原始骨骼信息计算生成动画对象待渲染模型的骨骼偏移矩阵,将获取的简单动画数据中的骨骼偏移矩阵或者计算得到的骨骼便宜矩阵传入GPU,由GPU对动画模型进行渲染,根据动画对象距离摄像机远近不同采取不同的渲染方式,在距离较远时直接获取简单动画数据中的骨骼偏移矩阵,当距离较近时实时计算,根据计算得到的骨骼偏移矩阵对待渲染模型进行渲染,一方面可以保障动画帧率,另一方面可以减少设备的计算量,降低功耗,减少设备的发热量。
需要说明的是,步骤220与步骤230并无逻辑上的先后关系,而是根据动画对象与摄像机的距离选择对应的步骤执行。
在图2的基础上,请参阅图3,图3示出了本实施例提供的另一种游戏动画更新方法的流程示意图,结合图3对本实施例提供的在动画对象距离摄像机较远的情况下的动画渲染方式进行介绍,在一些可能的实现方式中,步骤220包括以下子步骤:
步骤220-1:获取动画对象待渲染模型当前动画播放帧标识。
动画对象的动画播放由多个动画帧形成,每一个动画帧均包括可以唯一标识该动画帧的帧标识,该帧标识可以是一个时间戳,但不限于此,还可以是其他类型的标识。系统逻辑会提供动画对象待渲染模型当前动画播放帧标识,以帧标识为时间戳为例,获取的帧标识可以是一个时刻,例如帧标识为2.1s,则表示第2.1s的动画帧。
步骤220-2:根据帧标识在简单动画数据中确定帧标识最接近的动画关键帧数据。
简单动画数据中包括各个动画动作的动画关键帧数据,其中动画关键帧数据包括骨骼偏移矩阵。例如,假设当前动画对象正在执行的动画动作为攻击动作,待渲染动画帧的帧标识为2.1s,则在简单动画数据中查找与帧标识为2.1s的攻击动画最接近的动画关键帧数据。
可选地,在一种可能的实现方式中,若能够查找到帧标识为2.1s的攻击动画的动画帧数据,则利用该动画帧数据包含的骨骼偏移矩阵对当前待渲染模型进行渲染。
在另一些可能的实现方式中,若无法匹配到帧标识为2.1s的攻击动画的动画帧数据,则查找与2.1s最接近的攻击动画的动画帧数据,例如,简单动画数据中包括第2s的攻击动画的动画帧数据、第3s的攻击动画的动画帧数据、第4s的攻击动画的动画帧数据等,则将第2s的攻击动画的动画帧数据确定为最接近的动画帧数据,利用第2s动画帧数据包含的骨骼偏移矩阵对当前待渲染模型进行渲染。
步骤220-3:根据动画帧数据对待渲染模型进行渲染。
根据在简单动画数据中获取的最接近的动画帧数据对当前待渲染的模型进行渲染。
可选地,在一些可能的实现方式中,在根据简单动画数据对动画对象待渲染模型进行渲染步骤之前,还需要预先计算生成简单动画数据,在图3的基础上,参阅图4,本实施例提供的游戏动画更新方法还包括:
步骤211:获取每一个动画类型的原始动画数据,原始动画数据包括多个原始动画帧,每一个原始动画帧包括原始骨骼信息。
可选地,在线可能的实现方式中,将动画对象常用的动画类型筛选出来,如行走、奔跑、攻击等动画类型。获取每一个动画类型的原始动画数据,原始动画数据包括多个原始动画帧,每一个原始动画帧包括原始骨骼信息,骨骼信息是指动画对面模型骨骼的位置坐标、朝向、缩放等信息。原始骨骼信息无法直接进行动画渲染,需要进行计算得到骨骼的偏移矩阵才可以进行动画渲染。
步骤212:根据原始骨骼信息计算生成简单动画数据,简单动画数据包括预设数量个动画关键帧数据,每一个动画关键帧数据包括帧标识以及帧标识对应的骨骼偏移矩阵。
获取原始骨骼信息后,在离线模式下,模拟动画对象各个动画类型的动画更新过程,计算动画更新后的骨骼矩阵,并与原始骨骼信息进行计算,保存骨骼的偏移矩阵。并按照动画更新的顺序生成预设数量个动画关键帧数据,其中,每一个动画关键帧数据均包括帧标识以及与帧标识的骨骼偏移矩阵。
例如,以移动设备为例,一般移动设备中,三维游戏帧率达到30则可以有良好的效果,在模拟动画更新时,默认采用每秒30帧的速度计算动画数据,更新速度可以按需要配置。
将计算后的骨骼偏移矩阵保存在简单动画数据中。例如动画对象有10根骨骼,原始动画数据中包含了3秒的动画数据,按每秒30帧的速度计算,每一根骨骼有91个关键帧的数据,即简单动画中包含了10根骨骼的所有关键帧数据。
在一种可能的实现方式中,为了进一步降低计算量,在生成简单动画数据时,可以仅仅选取关键骨骼进行简单动画数据的计算。
例如,当某一个动画类型仅有部分骨骼进行明显的变化时,例如当动画对象执行行走这一动画类型时,仅有下半身的骨骼发生明显变化,则在计算简单动画数据时,仅对下半身的骨骼进行计算,上半身的骨骼可以减少计算次数,例如,仅对第一个动画帧的上半身的骨骼偏移矩阵进行计算,后续的数据帧均沿用第一个动画帧的上半身的骨骼偏移矩阵;或者按照比例减少计算次数,仅仅对预设帧数的上半身的骨骼偏移矩阵进行计算。
需要说明的是,计算简单动画数据的步骤211~步骤212可以在步骤210之前,也可以在步骤210之后,本实施例对此不作限定。
在可能的实现方式中,在游戏运行中,若动画对象距离摄像机较近,则使用实时插值更新动画的方式对动画进行渲染,动画计算可以放在主线程或则异步线程,使用实时插值计算的骨骼偏移矩阵来进行模型渲染。在一些可能的实现方式中,参阅图5,步骤230包括以下子步骤:
步骤230-1:获取动画对象待渲染模型当前动画播放帧标识。
每一个动画帧均包括可以唯一标识该动画帧的帧标识,该帧标识可以是一个时间戳,但不限于此,还可以是其他类型的标识。系统逻辑会提供动画对象待渲染模型当前动画播放帧标识,以帧标识为时间戳为例,获取的帧标识可以是一个时刻,例如帧标识为2.1s,则表示当前待渲染模型当前动画播放的动画帧为第2.1s的动画帧。
步骤230-2:根据帧标识确定帧标识最接近的原始动画帧,原始动画帧包括原始骨骼信息。
根据待渲染模型当前动画播放动画帧的帧标识确定该帧标识最接近的原始动画帧。假定原始动画帧包括第1s原始动画帧、第2s原始动画帧、第3s原始动画帧。则帧标识2.1最接近的原始动画帧为第2s原始动画帧与第3s原始动画帧。
由于当前待渲染模型当前动画播放动画帧中动画对象距离摄像机较近,因此需要对当前待渲染模型当前动画播放动画帧进行计算,得到骨骼偏移矩阵。
步骤230-3:根据原始骨骼信息计算得到待渲染模型的骨骼偏移矩阵,依据骨骼偏移矩阵对待渲染模型进行渲染。
在一种可能的实现方式中,确定第2s原始动画帧与第3s原始动画帧后,根据第2s原始动画帧中以及第3s原始动画帧中的原始骨骼信息计算确定第2.1s待渲染模型的骨骼矩阵,并与原始骨骼信息进行计算,得到第2.1s动画帧待渲染模型骨骼的偏移矩阵,利用计算得到的第2.1s动画帧的待渲染模型骨骼的偏移矩阵对第2.1s动画帧的待渲染模型进行渲染。
例如第2s原始动画帧中骨骼A的位置为1,第3s原始动画帧中骨骼A的位置为10,则按照比例计算第2.1s动画帧中骨骼A的位置为2,同理,可以根据第2s原始动画帧、第3s原始动画帧计算确定第2.1s动画帧中待渲染模型所有的骨骼矩阵,并与原始骨骼信息进行计算,得到第2.1s动画帧中待渲染模型骨骼的偏移矩阵。
本实施例提供的游戏动画更新方法,根据动画对象与摄像机之间距离远近的不同,采取不同的渲染方式,以达到降低计算量,减少设备发热的效果。当动画对象距离摄像机较远时,对动画品质、细节等要求较低,利用简单动画数据对待渲染动画模型进行渲染;当动画对象距离摄像机较近时,利用实时插值的方式即时计算骨骼偏移矩阵对待渲染模型进行渲染。下面提供一种可能的确定动画对象与摄像机之间距离的实现方式,在一些可能的实现方式中,步骤210包括:
步骤210-1:分别确定动画对象与摄像机的位置坐标。
当动画对象以及摄像机在用户操作或者系统控制的指令下移动位置,其坐标位置也会实时更新,在对待渲染模型进行渲染时,首先确定动画对象的位置坐标以及确定摄像机的位置坐标。
步骤210-2:根据动画对象的位置坐标与摄像机的位置坐标确定动画对象与摄像机之间的距离。
根据动画对象的位置坐标以及摄像机的位置坐标计算动画对象与摄像机之间的距离。例如,假定动画对象的位置坐标为A1(x1,y1,z1),而摄像机的位置坐标为A2(x2,y2,z2),则动画对象与摄像机之间的距离D可以按照以下式子确定:
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种游戏动画更新装置的实现方式,请参阅图6,图6为本发明较佳实施例提供的一种游戏动画更新装置300。需要说明的是,本实施例所提供的游戏动画更新装置300,其基本原理及产生的技术效果和上述实施例提供的游戏动画更新方法基本相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。本实施例提供的游戏动画更新装置300包括确定模块310与处理模块320。
确定模块310,用于确定动画对象与摄像机之间的距离。
可以理解地,在一些可选的实现方式中,该确定模块310可以用于执行上述各个图中的步骤210,以实现对应的技术效果。
处理模块320,用于当动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对动画对象待渲染模型进行渲染;简单动画数据包括预设数量个动画关键帧数据,动画关键帧数据包括骨骼偏移矩阵。
可以理解地,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤220,以实现对应的技术效果。
处理模块320还用于当动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算动画对象待渲染模型的骨骼偏移矩阵,根据计算得到的骨骼偏移矩阵对待渲染模型进行渲染;其中,第一距离范围的最小值大于第二距离范围的最大值。
可以理解地,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤230,以实现对应的技术效果。
在一些可能的实现方式中,处理模块320用于获取动画对象待渲染模型当前动画播放帧标识;根据帧标识在简单动画数据中确定帧标识最接近的动画关键帧数据;根据动画关键帧数据对待渲染模型进行渲染。
可以理解地,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤220-1~步骤220-3,以实现对应的技术效果。
在一些可能的实现方式中,处理模块320用于获取每一个动画类型的原始动画数据,原始动画数据包括多个原始动画帧,每一个原始动画帧包括原始骨骼信息;处理模块320用于根据原始骨骼信息计算生成简单动画数据,简单动画数据包括预设数量个动画关键帧数据,每一个动画关键帧数据包括帧标识以及帧标识对应的骨骼偏移矩阵。
可以理解地,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤211~步骤212,以实现对应的技术效果。
在一些可能的实现方式中,处理模块320还用于获取动画对象待渲染模型当前动画播放帧标识;根据帧标识确定帧标识最接近的原始动画帧,原始动画帧包括原始骨骼信息;根据原始骨骼信息计算得到待渲染模型的骨骼偏移矩阵,依据骨骼偏移矩阵对待渲染模型进行渲染。
可以理解地,在一些可选的实现方式中,该处理模块320可以用于执行上述各个图中的步骤230-1~步骤230-3,以实现对应的技术效果。
在一些可能的实现方式中,确定模块310还用于分别确定所述动画对象与所述摄像机的位置坐标;根据所述动画对象的位置坐标与所述摄像机的位置坐标确定所述动画对象与所述摄像机之间的距离。
可以理解地,在一些可选的实现方式中,该确定模块310可以用于执行上述各个图中的步骤210-1~步骤210-2,以实现对应的技术效果。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可读程序指令,当计算机可读程序指令被处理器执行时实现如前述实施方式任意一项游戏动画更新方法的步骤。
相对于现有技术,本申请提供的游戏动画更新方法、装置及计算机可读存储介质,首先确定动画对象与摄像机之间的距离;当动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对动画对象待渲染模型进行渲染;简单动画数据包括预设数量个动画关键帧数据,动画关键帧数据包括骨骼偏移矩阵;当动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算动画对象待渲染模型的骨骼偏移矩阵,根据计算得到的骨骼偏移矩阵对待渲染模型进行渲染;其中,第一距离范围的最小值大于第二距离范围的最大值。本申请提供的游戏动画更新方法仅在动画对象距离摄像机较近时实时进行计算,在距离较远时利用预先设定的简单动画数据对待渲染模型进行渲染,减少了计算量,降低了处理器的负荷,提高图像帧率,减少计算量的同时也可以降低设备发热。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (10)
1.一种游戏动画更新方法,其特征在于,所述游戏动画更新方法包括:
确定动画对象与摄像机之间的距离;
当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染模型进行渲染;所述简单动画数据包括预设数量个动画关键帧数据,所述动画关键帧数据包括骨骼偏移矩阵;
当所述动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算所述动画对象当前动画播放时间点下的骨骼偏移矩阵,根据计算得到的所述骨骼偏移矩阵对所述待渲染模型进行渲染;
其中,所述第一距离范围的最小值大于所述第二距离范围的最大值。
2.根据权利要求1所述的游戏动画更新方法,其特征在于,当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染模型进行渲染的步骤包括:
获取所述动画对象待渲染模型当前动画播放帧标识;
根据所述帧标识在所述简单动画数据中确定所述帧标识最接近的动画关键帧数据;
根据所述动画关键帧数据对所述待渲染模型进行渲染。
3.根据权利要求1所述的游戏动画更新方法,其特征在于,当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染模型进行渲染步骤之前,所述方法包括:
获取每一个动画类型的原始动画数据,所述原始动画数据包括多个原始动画帧,每一个所述原始动画帧包括原始骨骼信息;
根据所述原始骨骼信息计算生成简单动画数据,所述简单动画数据包括预设数量个动画关键帧数据,每一个所述动画关键帧数据包括帧标识以及所述帧标识对应的骨骼偏移矩阵。
4.根据权利要求1所述的游戏动画更新方法,其特征在于,当所述动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算所述动画对象待渲染模型的骨骼偏移矩阵,根据计算得到的所述骨骼偏移矩阵对所述待渲染模型进行渲染的步骤包括:
获取所述动画对象待渲染模型当前动画播放帧标识;
根据所述帧标识确定所述帧标识最接近的原始动画帧,所述原始动画帧包括原始骨骼信息;
根据所述原始骨骼信息计算得到待渲染模型的骨骼偏移矩阵,依据所述骨骼偏移矩阵对所述待渲染模型进行渲染。
5.根据权利要求1所述的游戏动画更新方法,其特征在于,确定动画对象与摄像机之间的距离的步骤包括:
分别确定所述动画对象与所述摄像机的位置坐标;
根据所述动画对象的位置坐标与所述摄像机的位置坐标确定所述动画对象与所述摄像机之间的距离。
6.一种游戏动画更新装置,其特征在于,所述游戏动画更新装置用于执行如权利要求1~5任意一项所述的方法,所述游戏动画更新装置包括:
确定模块,用于确定动画对象与摄像机之间的距离;
处理模块,用于当所述动画对象与摄像机之间的距离处于第一距离范围时,根据预先确定的简单动画数据对所述动画对象待渲染模型进行渲染;所述简单动画数据包括预设数量个动画关键帧数据,所述动画关键帧数据包括骨骼偏移矩阵;
所述处理模块还用于当所述动画对象与摄像机之间的距离处于第二距离范围时,根据原始骨骼信息计算所述动画对象当前动画播放时间点下的骨骼偏移矩阵,根据计算得到的所述骨骼偏移矩阵对所述待渲染模型进行渲染;
其中,所述第一距离范围的最小值大于所述第二距离范围的最大值。
7.根据权利要求6所述的游戏动画更新装置,其特征在于,所述处理模块用于获取所述动画对象待渲染模型当前动画播放的帧标识;根据所述帧标识在所述简单动画数据中确定所述帧标识最接近的动画关键帧数据;根据所述动画关键帧数据对所述待渲染模型进行渲染。
8.根据权利要求6所述的游戏动画更新装置,其特征在于,所述处理模块用于获取每一个动画类型的原始动画数据,所述原始动画数据包括多个原始动画帧,每一个所述原始动画帧包括原始骨骼信息;
所述处理模块用于根据所述原始骨骼信息计算生成简单动画数据,所述简单动画数据包括预设数量个动画关键帧数据,每一个所述动画关键帧数据包括帧标识以及所述帧标识对应的骨骼偏移矩阵。
9.根据权利要求6所述的游戏动画更新装置,其特征在于,所述处理模块还用于获取所述动画对象待渲染模型当前动画播放帧标识;根据所述帧标识确定所述帧标识最接近的原始动画帧,所述原始动画帧包括原始骨骼信息;根据所述原始骨骼信息计算得到待渲染模型的骨骼偏移矩阵,依据所述骨骼偏移矩阵对所述待渲染模型进行渲染。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可读程序指令,当所述计算机可读程序指令被处理器执行时实现如权利要求1~5任意一项所述游戏动画更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011606895.5A CN112642149A (zh) | 2020-12-30 | 2020-12-30 | 游戏动画更新方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011606895.5A CN112642149A (zh) | 2020-12-30 | 2020-12-30 | 游戏动画更新方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112642149A true CN112642149A (zh) | 2021-04-13 |
Family
ID=75364038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011606895.5A Pending CN112642149A (zh) | 2020-12-30 | 2020-12-30 | 游戏动画更新方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112642149A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113058259A (zh) * | 2021-04-22 | 2021-07-02 | 杭州当贝网络科技有限公司 | 基于游戏内容的体感动作识别方法、系统及存储介质 |
CN115908678A (zh) * | 2023-02-25 | 2023-04-04 | 深圳市益玩网络科技有限公司 | 骨骼模型渲染方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684110A (zh) * | 2004-04-15 | 2005-10-19 | 微软公司 | 混合的对象属性加关键帧模型 |
CN101320482A (zh) * | 2008-07-08 | 2008-12-10 | 浙江大学 | 基于视频纹理的虚拟跑步运动员的绘制方法 |
CN102521861A (zh) * | 2011-11-18 | 2012-06-27 | 大连兆阳软件科技有限公司 | 一种骨骼动画运行时优化方法 |
CN104050708A (zh) * | 2014-06-09 | 2014-09-17 | 无锡梵天信息技术股份有限公司 | 一种3d游戏引擎lod系统的实现方法 |
CN108010112A (zh) * | 2017-11-28 | 2018-05-08 | 腾讯数码(天津)有限公司 | 动画处理方法、装置及存储介质 |
CN108734739A (zh) * | 2017-04-25 | 2018-11-02 | 北京三星通信技术研究有限公司 | 用于时间对齐标定、事件标注、数据库生成的方法及装置 |
-
2020
- 2020-12-30 CN CN202011606895.5A patent/CN112642149A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1684110A (zh) * | 2004-04-15 | 2005-10-19 | 微软公司 | 混合的对象属性加关键帧模型 |
CN101320482A (zh) * | 2008-07-08 | 2008-12-10 | 浙江大学 | 基于视频纹理的虚拟跑步运动员的绘制方法 |
CN102521861A (zh) * | 2011-11-18 | 2012-06-27 | 大连兆阳软件科技有限公司 | 一种骨骼动画运行时优化方法 |
CN104050708A (zh) * | 2014-06-09 | 2014-09-17 | 无锡梵天信息技术股份有限公司 | 一种3d游戏引擎lod系统的实现方法 |
CN108734739A (zh) * | 2017-04-25 | 2018-11-02 | 北京三星通信技术研究有限公司 | 用于时间对齐标定、事件标注、数据库生成的方法及装置 |
CN108010112A (zh) * | 2017-11-28 | 2018-05-08 | 腾讯数码(天津)有限公司 | 动画处理方法、装置及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113058259A (zh) * | 2021-04-22 | 2021-07-02 | 杭州当贝网络科技有限公司 | 基于游戏内容的体感动作识别方法、系统及存储介质 |
CN113058259B (zh) * | 2021-04-22 | 2024-04-19 | 杭州当贝网络科技有限公司 | 基于游戏内容的体感动作识别方法、系统及存储介质 |
CN115908678A (zh) * | 2023-02-25 | 2023-04-04 | 深圳市益玩网络科技有限公司 | 骨骼模型渲染方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
US10792566B1 (en) | System for streaming content within a game application environment | |
CN112642149A (zh) | 游戏动画更新方法、装置及计算机可读存储介质 | |
CN109035415B (zh) | 虚拟模型的处理方法、装置、设备和计算机可读存储介质 | |
CN112882576B (zh) | Ar交互方法、装置、电子设备及存储介质 | |
CN111325819A (zh) | 运动数据处理方法、装置、设备和存储介质 | |
CN107959798B (zh) | 视频数据实时处理方法及装置、计算设备 | |
US7652670B2 (en) | Polynomial encoding of vertex data for use in computer animation of cloth and other materials | |
CN111798545A (zh) | 骨骼动画的播放方法、装置、电子设备和可读存储介质 | |
US20230177755A1 (en) | Predicting facial expressions using character motion states | |
CN111583378B (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
CN115063518A (zh) | 轨迹渲染方法、装置、电子设备及存储介质 | |
CN111080762B (zh) | 虚拟模型渲染方法及装置 | |
CN110930492B (zh) | 模型渲染的方法、装置、计算机可读介质及电子设备 | |
CN112165630B (zh) | 图像渲染方法、装置、电子设备及存储介质 | |
US11281935B2 (en) | 3D object detection from calibrated 2D images | |
CN110719493A (zh) | 弹幕显示方法、装置、电子设备及可读存储介质 | |
CN116095221B (zh) | 一种游戏中的帧率调整方法及相关装置 | |
CN109445868A (zh) | 一种游戏场景中路段模型的生成方法和装置 | |
CN116339860A (zh) | 资源加载方法、装置、电子设备及计算机可读存储介质 | |
CN115965735A (zh) | 纹理贴图的生成方法和装置 | |
CN114404951A (zh) | 游戏渲染更新方法及装置、计算机设备和存储介质 | |
CN108905208A (zh) | 一种基于增强现实的电子游戏方法和装置 | |
CN114596394A (zh) | 一种骨骼动画生成的方法、装置、系统及存储介质 | |
CN114742970A (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 |