CN113936079B - 动画生成方法、设备及存储介质 - Google Patents
动画生成方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113936079B CN113936079B CN202111093623.4A CN202111093623A CN113936079B CN 113936079 B CN113936079 B CN 113936079B CN 202111093623 A CN202111093623 A CN 202111093623A CN 113936079 B CN113936079 B CN 113936079B
- Authority
- CN
- China
- Prior art keywords
- model
- cutting
- game
- game resource
- component
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
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
技术领域
本申请涉及计算机技术领域,尤其涉及一种动画生成方法、设备及存储介质。
背景技术
游戏中通常设置有多个游戏资源。其中,游戏资源包括基于静态模型构建的虚拟物体,以及基于骨骼模型构建的虚拟角色。
在游戏中,玩家可控制虚拟角色与其他虚拟角色或虚拟物体进行交互,从而形成对应的动画效果,提升游戏体验。例如,玩家可控制虚拟角色攻击属于敌方的敌人非玩家控制角色(Non-player Character,NPC),以对敌人NPC造成伤害,并在游戏画面中形成相应的伤害效果。
相关技术中,每一游戏资源对应的动画效果,都需要由游戏制作人员预置到相应模型中的,这些动画效果制作流程复杂,开发周期长。且不同游戏资源的效果不可复用,大大降低游戏开发效率,影响现有的游戏资源的扩展性较差。
因此,亟待提出一种新的解决方案,用以克服目前存在的技术问题。
发明内容
本申请的多个方面提供一种动画生成方法、设备及存储介质,用以实现游戏资源的切割效果,提高切割效果的制作效率,提升游戏资源的可扩展性。
本申请实施例还提供一种动画生成方法,该方法包括:
检测游戏场景中是否发生针对游戏资源的切割事件;
若检测到发生切割事件,则获取针对游戏资源的切割数据;其中,切割数据包括切割组件与游戏资源的接触位置;
根据接触位置生成将游戏资源切分为至少两个部件的动画效果。
可选地,所述根据所述接触位置生成将所述游戏资源切分为至少两个部件的动画效果,包括:
将所述游戏资源所绑定的模型从当前模型切换为程序模型;
根据所述接触位置确定针对所述程序模型的切割方式,所述切割方式包括所述切割组件对应的切割位置、切割方向、切割面材质;
基于所述切割方式将所述程序模型切分为所述至少两个部件对应的部件程序模型;
生成至少两个部件程序模型在游戏场景中的动画效果。
可选地,若所述当前模型为静态模型,则所述将所述游戏资源所绑定的模型从当前模型切换为程序模型,包括:
通过程序网格组件将所述游戏资源所绑定的静态模型中的数据赋值到所述程序模型中,并在游戏场景中隐藏所述静态模型,以使所述游戏资源所绑定的模型从所述静态模型切换为所述程序模型。
可选地,若所述当前模型为骨骼模型,则所述将所述游戏资源所绑定的模型从当前模型切换为程序模型之前,还包括:
将所述游戏资源所绑定的模型从所述骨骼模型切换为静态模型,其中,所述静态模型与所述骨骼模型具有一致的动作特征。
可选地,所述方法还包括:
设置所述骨骼模型与具有不同姿势的多个静态模型的对应关系;
所述将所述游戏资源所绑定的模型从所述骨骼模型切换为静态模型,包括:
通过动画蓝图状态机获取所述骨骼模型在当前时刻所处的姿势;
基于所述骨骼模型所处的姿势,从所述骨骼模型对应的多个静态模型中选取匹配的目标静态模型;
将所述游戏资源所绑定的模型从所述骨骼模型切换为所述目标静态模型。
可选地,所述生成至少两个部件程序模型在游戏场景中的动画效果,包括:
获取作用于所述至少两个部件程序模型的作用力,其中,所述作用力包括重力以及施加在所述切割位置的冲力;
基于所述作用力确定所述至少两个部件程序模型在游戏场景中的运动轨迹;
根据所述运动轨迹生成所述至少两个部件程序模型的动画效果。
可选地,所述检测游戏场景中是否发生针对游戏资源的切割事件,包括:
设置用于包围所述游戏资源的碰撞盒子;
若检测到所述碰撞盒子与所述游戏资源发生碰撞,则确定游戏场景中发生所述切割事件。
可选地,若所述切割组件为武器组件,则所述方法还包括:
在所述武器组件的模型中设置箭头组件;
所述若检测到发生所述切割事件,则获取针对所述游戏资源的切割数据,包括:
若检测到所述碰撞盒子与所述游戏资源发生碰撞,则从所述碰撞盒子与所述游戏资源的碰撞事件中,获取所述武器组件与所述游戏资源的碰撞信息;
以所述碰撞信息中指示的所述箭头组件与所述游戏资源的接触位置作为所述武器组件的切割位置,并以所述箭头组件相对所述游戏资源的方向作为切割方向。
可选地,所述游戏资源包括:游戏场景中的虚拟角色或者虚拟物体;
其中,所述虚拟角色包括玩家角色或者非玩家控制角色NPC,所述虚拟物体包括游戏场景中放置的武器、道具、植物、石头、建筑物中的任意一种或多种。
本申请实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现本申请实施例提供的方法中的步骤。
在本申请实施例提供的技术方案中,首先检测游戏场景中是否发生针对游戏资源的切割事件。进而,若检测到发生上述切割事件,则获取针对游戏资源的切割数据,该切割数据包括切割组件与游戏资源的接触位置。从而,根据接触位置能够生成将游戏资源切分为至少两个部件的动画效果,实现了针对任意游戏资源的切割效果,大大提高了切割效果的制作效率,提升游戏资源的可扩展性。并且,根据接触位置生成游戏资源的切割效果,能够避免动画效果与玩家操作存在差异,提升切割效果的真实感,提高玩家操作体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的动画生成方法的流程示意图;
图2为本申请一示例性实施例提供的一种游戏资源的切割效果示意图;
图3为本申请一示例性实施例提供的另一种游戏资源的切割效果示意图;
图4为本申请一示例性实施例提供的静态模型的示意图;
图5为本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,游戏中通常设置有多个游戏资源。其中,游戏资源包括基于静态模型构建的虚拟物体,以及基于骨骼模型构建的虚拟角色。在游戏中,玩家可控制虚拟角色与其他虚拟角色或虚拟物体进行交互,从而形成对应的动画效果,提升游戏体验。例如,玩家可控制虚拟角色攻击敌人NPC,以对敌人NPC造成伤害,并在游戏画面中形成相应的伤害效果。
相关技术中,每一游戏资源对应的动画效果,都需要由游戏制作人员预置到相应模型中的,这些动画效果制作流程复杂,且不同游戏资源的效果不可复用,大大降低游戏开发效率,影响现有的游戏资源的扩展性较差。
并且,预置的动画效果常常会与玩家操作存在一定差异。例如,玩家控制虚拟角色使用武器从右侧开始切割敌人NPC,而敌人NPC受到切割之后,在游戏画面中播放的预置动画效果却是从左侧开始被切开。这种动画效果与玩家操作的差异往往会使玩家缺乏真实感,降低玩家的操作体验。
因此,亟待提出一种新的解决方案,用以克服目前存在的技术问题。
针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下结合附图,详细说明本申请各实施例提供的技术方案。
本申请实施例提供了一种动画生成方法,图1为本申请一示例性实施例提供的动画生成方法的流程示意图。如图1所示,该方法包括:
101、检测游戏场景中是否发生针对游戏资源的切割事件;
102、若检测到发生切割事件,则获取针对游戏资源的切割数据;其中,切割数据包括切割组件与游戏资源的接触位置;
103、根据接触位置生成将游戏资源切分为至少两个部件的动画效果。
本实施例适用于实现各种图形界面中的动画效果。具体地,图形界面可以实现为游戏界面、游戏编辑界面、或者其他应用界面。
本实施例中,首先,检测游戏场景中是否发生针对游戏资源的切割事件。若检测到游戏场景中发生切割事件,则说明需要对游戏资源进行切割操作,此情况下需要获取针对游戏资源的切割数据,该切割数据至少包括切割组件与游戏资源的接触位置。进而,根据接触位置生成将游戏资源切分为至少两个部件的动画效果,从而实现针对游戏资源的切割效果。
其中,游戏资源包括虚拟物体和/或虚拟角色。其中,虚拟物体可以是基于静态模型构建的,例如是道具、武器、建筑物、植物等。静态模型是用于存储虚拟物体的美术资源数据的游戏模型资源。静态模型可以采用建模软件制作。虚拟角色则是基于骨骼模型构建的,例如是玩家角色、NPC、宠物等。骨骼模型适用于存储虚拟角色的美术资源数据以及骨骼数据的游戏模型资源。
无论是基于静态模型还是基于骨骼模型构建的游戏资源,均可采用上述步骤实现针对该游戏资源的切割效果,从而大大提高切割效果的制作效率,提升游戏资源的可扩展性。并且,根据接触位置生成游戏资源的切割效果,能够避免动画效果与玩家操作存在差异,提升切割效果的真实感,提高玩家操作体验。
实际应用中,可选地,游戏资源可以被切分为两个部件,也可以切分为两个以上的部件。例如,在图2所示的游戏场景中,通过武器组件攻击一个柱状道具,以将其切分为两个部件(如图2中部件1、2)。例如,在另一游戏场景中,也可通过武器组件攻击一个敌人NPC,从而将其切分为两个以上的部件。
本实施例中,动画生成方法中的各个步骤可通过游戏编辑工具中的蓝图控件实现。例如,通过在游戏引擎中通过编写蓝图状态机,实现相应的动画生成逻辑。
下面结合具体实施例说明图1所示的动画生成方法中的各个步骤。
首先,101中,检测游戏场景中是否发生针对游戏资源的切割事件。
其中,针对游戏资源的切割事件,是能够触发针对游戏资源的切割操作的事件。实际应用中,针对游戏资源的切割事件,包括但不限于切割组件与游戏资源所属模型的碰撞事件。
切割组件包括多种不同类型的游戏组件。具体地,在一可选示例中,在战斗场景中,切割组件可以是玩家控制角色所使用的武器组件,如刀、剑、斧头、或者其他形式的武器组件。通过武器组件可以将攻击对象切割为至少两个部件,以执行对应的攻击技能并触发相应界面效果。攻击对象包括同一场景中的虚拟物体或其他虚拟角色。另一示例中,在采集场景中,切割组件可以是玩家控制角色所使用的采集道具组件,如铲子、铁斧、剪刀等。通过采集道具组件可以将采集对象切割为可采集的至少两个部件,以便执行对应的采集操作并触发相应界面效果。该采集对象比如是整块矿石、树上瓜果、地下埋藏的物品等虚拟物体。除了上述示例外,切割组件以及被切割对象还可根据实际应用场景实现为其他形式,本申请并不限定。
本实施例中,切割组件作用的游戏资源包括游戏场景中的虚拟角色或者虚拟物体。虚拟角色包括但不限于玩家角色或者NPC。例如,NPC包括敌人NPC、怪物NPC、剧情路人NPC。除此之外,虚拟物体还包括游戏场景中放置的武器、道具、植物、石头、建筑物中的任意一种或多种。例如,游戏场景中的敌人NPC所持有的盾牌、敌方守护塔、或者装有游戏道具的箱子。
其中,切割组件可以作用在游戏资源所绑定的模型中,也可以作用在该模型关联的其他游戏模型中。例如,假设游戏资源为敌人NPC,那么,切割组件可以直接作用在敌人NPC所绑定的模型中。
基于上文介绍的切割组件,在一可选实施例中,为了及时检测到针对游戏资源的切割事件,101中检测游戏场景中是否发生针对游戏资源的切割事件的过程,可以实现为:设置用于包围游戏资源的碰撞盒子;若检测到碰撞盒子与游戏资源发生碰撞,则确定游戏场景中发生切割事件。
举例来说,假设切割组件是武器组件。假设游戏资源是同一游戏场景中的任一敌人NPC。
基于此,针对该武器组件,可以设置围绕该武器组件的碰撞盒子。碰撞盒子用于表示武器组件在游戏场景中可被碰撞的范围。具体地,碰撞盒子的形状可以根据武器组件的尺寸设置,例如设置为以该武器组件为中心且包围武器组件的长方体盒子。
进而,若检测到虚拟物体或其他虚拟角色进入碰撞盒子,则说明该虚拟物体或其他虚拟角色即将与武器组件发生碰撞。基于此原理,玩家调用该武器组件后,在游戏场景中持续检测是否有虚拟物体或其他虚拟角色进入该武器组件对应的碰撞盒子。当检测到碰撞盒子与敌人NPC发生碰撞时,可以确定武器组件即将与该敌人NPC发生碰撞,从而能够提前确定游戏场景中会发生武器组件切割该敌人NPC的切割事件。由此,可以及时检测到武器组件切割该敌人NPC的切割事件,触发后续操作。
可以理解的是,除了上述示例的碰撞事件外,针对游戏资源的切割事件还包括能够触发游戏资源被切割的其他事件。例如,假设切割事件为触发游戏资源自爆功能,此情况下,切割数据可基于游戏资源的自爆过程进行设置,从而,得到游戏资源从里向外的破坏效果。
基于上述切割事件的检测方式,102中,若检测到游戏场景中发生针对游戏资源的切割事件,则获取针对游戏资源的切割数据。
可以理解的是,获取切割数据主要目的是通过切割数据判断游戏资源的切分状态,如切割位置、切割方向、切割面材质等。故而切割数据包括但不限于切割组件与游戏资源的接触位置。
举例来说,假设切割组件为武器组件,基于此,为了便于获取武器组件的碰撞数据,还可以在武器组件的模型中设置箭头组件。
基于此,若检测到发生切割事件,则获取针对游戏资源的切割数据的过程,可以实现为:若检测到碰撞盒子与游戏资源发生碰撞,则从碰撞盒子与游戏资源的碰撞事件中,获取武器组件与游戏资源的碰撞信息;以碰撞信息中指示的箭头组件与游戏资源的接触位置作为武器组件的切割位置,并以箭头组件相对游戏资源的方向作为切割方向。
通过上述步骤,可以根据箭头组件来获取武器组件与游戏资源的接触位置、以及武器组件相对游戏资源的切割方向,从而保证玩家操作与游戏效果的一致性,增强玩家操作的真实感。
实际应用中,上述步骤可以通过切割程序网格(Slice Procedural Mesh)方式实现。具体地,在武器组件所绑定的模型上添加箭头组件,从而以箭头组件的单位方向向量(Forward Vector)表示武器组件的切割方向以及法线方向。然后,在武器组件所绑定的模型上添加碰撞盒子,若碰撞盒子与游戏资源所绑定的模型发生碰撞,则认为发生针对游戏资源的切割事件。此时,可以采用箭头组件的单位方向向量确定武器组件的切割位置以及切割方向。
在箭头组件中,碰撞位置(Hit Position)参数即为武器组件的切割位置。ForwardArrow的X轴正方向是武器组件的朝向,切片法线方向(Slice Normal)中的X轴正方向为切割平面法线方向。
值得说明的是,除了上述切割数据之外,切割数据还包括切割速度、切割深度。其中,切割速度即切割组件相对游戏资源的运动速度。切割深度为切割组件切入游戏资源的距离,用以描述切割组件与游戏资源的相对位置。
可选地,从碰撞盒子与游戏资源的碰撞事件中,获取武器组件与游戏资源的碰撞信息。进而,以碰撞信息中碰撞盒子相对游戏资源的运动速度作为切割速度,以碰撞信息中碰撞盒子与游戏资源的相对位置确定切割深度。进而,根据切割速度和/或切割深度获取碰撞盒子的受力情况,从而为下文动画效果的生成过程提供基础。
例如,获取碰撞盒子撞击到游戏资源的初始切割速度之后,由于现实世界中通常切割深度越大,受到的阻力越大,切割速度越慢,为模拟这一情况,可以根据初始切割速度以及切割深度,调整切割面产生的阻力的数值变化曲线,从而控制碰撞盒子的切割速度,实现切割速度随切割深度不断减慢的切割动画效果。从而,保证玩家操作与游戏效果的一致性,增强玩家操作的真实感。
可选地,根据切割组件的属性信息调整针对游戏资源的切割数据。这样,可以进一步获取更符合实际应用场景的切割数据,为后续制作出更真实的切割效果提供基础。
举例来说,假设武器组件中还设置有具有伤害效果的附加属性,例如剑气、附魔等,还可通过调整碰撞盒子所覆盖的范围来进一步调整切割组件与游戏资源的实际接触位置。
例如,在被大剑伤害前,剑气属性会使得攻击对象提前受到伤害,此时需要对攻击对象提前进行切割。简单来说,界面效果就是剑气碰到攻击对象,即触发攻击对象的切割过程。因此,若大剑附有剑气属性,则需要扩大碰撞盒子所覆盖的范围,从而获取符合剑气属性设定的接触位置。
除上述示例场景之外,针对游戏资源的切割数据在其他应用场景中也会有所区别,此处暂不展开。
进而,获取针对游戏资源的切割数据之后,103中,根据切割数据中切割组件与游戏资源的接触位置,生成将游戏资源切分为至少两个部件的动画效果。
通过上述步骤,根据接触位置能够自动生成匹配的动画效果,不仅能够扩大切割效果的适用范围,还可避免相关技术中动画效果与玩家操作存在的差异,进一步提升切割效果的真实感,提高玩家操作体验。
在一可选实施例中,103中,根据接触位置生成将游戏资源切分为至少两个部件的动画效果的过程,可以实现为:
将游戏资源所绑定的模型从当前模型切换为程序模型;根据接触位置确定针对程序模型的切割方式;基于切割方式将程序模型切分为至少两个部件对应的部件程序模型;生成至少两个部件程序模型在游戏场景中的动画效果。
举例来说,假设当前模型为静态模型,此情况下,上述步骤中将游戏资源所绑定的模型从当前模型切换为程序模型的过程,具体为:
通过程序网格组件(Procedural Mesh)将游戏资源所绑定的静态模型中的数据赋值到程序模型中,并在游戏场景中隐藏静态模型,以使游戏资源所绑定的模型从静态模型切换为程序模型。
其中,程序模型是基于静态模型生成的且能够用代码逻辑处理的游戏模型资源。实际应用中,游戏资源所绑定的转换为程序模型之后,即可通过游戏引擎中的代码逻辑对程序模型进行直接处理,从而能够自动配合玩家操作实现相应的界面效果。
具体来说,假设某一游戏资源的静态模型中设置有静态网格(Static Mesh)组件以及程序网格组件。在静态模型的蓝图构建阶段,可以通过游戏引擎中网格数据复制(CopyProcedural Mesh From Static Mesh Component)的功能,将静态模型的游戏资源数据赋给程序模型,以便后续直接对程序网格进行处理,从而完成游戏资源所绑定的模型从静态模型到程序模型的后台切换流程。同时,在游戏场景中隐藏静态模型,以使在图形界面中同步将游戏资源所绑定的模型从静态模型切换为程序模型。
进而,将游戏资源所绑定的模型从静态模型切换至程序模型之后,根据接触位置确定针对程序模型的切割方式,并基于切割方式将程序模型切分为至少两个部件对应的部件程序模型。其中,切割方式包括切割组件对应的切割位置、切割方向、切割面材质。例如,假设大剑的切分方式(如切割位置以及切割方向为图3中的斜线所示)如图3所示,基于此,可以将图3所示的敌人NPC切分为部件1和部件2对应的部件程序模型。
在实际应用中,将游戏资源所绑定的模型切换至程序模型之后,当检测到发生切割事件时,执行切片网格组件(Slice Procedural Mesh)方法,若创建另一半程序模型(Create Other Half)项被选中,则意味着需要产生另一半部件的程序模型。具体地,将程序模型(记为InProcMesh)按照输入的切割位置(Plane Position)以及切割面法线方向(Plane Normal)切分为至少两个部件对应的部件程序模型(记为Out Other Half ProcMesh)。并采用输入的切割面的材质处理方式(Cap Option)对至少两个部件程序模型中的切割面进行处理。此外,还需要输入Cap Material是切割面材质,可选地为保持画面一致性,切割面材质可选择原程序模型的材质贴图实现。
在切分得到至少两个部件程序模型之后,生成至少两个部件程序模型在游戏场景中的动画效果。具体地,生成至少两个部件程序模型在游戏场景中的动画效果的过程,可以实现为:
获取作用于至少两个部件程序模型的作用力;基于作用力确定至少两个部件程序模型在游戏场景中的运动轨迹;根据运动轨迹生成至少两个部件程序模型的动画效果。
在本实施例中,针对至少两个部件程序模型的作用力包括重力以及施加在所述切割位置的冲力、以及用于游戏场景中其他影响因子的作用力。例如,在战斗场景中,施加在攻击对象所切分出的至少两个部件程序模型的作用力包括:重力、施加在切割位置的冲力。
可选地,根据游戏场景中的环境设置信息,为至少两个部件程序模型设置与环境设置信息关联的作用力。以战斗场景为例,假设战斗地点为沙漠,此情况下,为至少两个部件程序模型设置与沙漠环境关联的作用力。如沙漠环境中风沙较大,因此需要为至少两个部件程序模型添加相应的阻力。沙漠环境中地面质地较为松软,因此,如果攻击对象处于地面,则还需要为至少两个部件程序模型添加用于模型地面质地效果的其他作用力。
除了示例中介绍的作用力之外,可选地,还可根据切割速度和/或切割深度来分析碰撞盒子的受力情况,从而,为至少两个部件程序模型设置与上述受力情况关联的作用力(如重力、冲力、阻力等),从而模拟出至少两个部件程序模型的实际受力情况。例如,根据切割速度以及切割深度获取切割面所产生的阻力的数值变化曲线,从而,为模拟切割组件相对切割面的动画效果提供基础。其中,切割速度以及切割深度的获取方式参见上文中关于碰撞盒子的介绍,此处不再展开。
通过上述步骤可以实现静态模型的切割效果,大大提升各种静态模型切割效果的制作效率,扩大切割效果的适用范围。
除此之外,由于骨骼模型不可直接转换为程序模型,因此,需要将游戏资源所绑定的模型从骨骼模型切换为静态模型,进而通过上述步骤实现切割效果的制作过程。
具体地,在另一示例中,如果当前模型为骨骼模型,此情况下,在将游戏资源所绑定的模型从当前模型切换为程序模型之前,还需要将游戏资源所绑定的模型从骨骼模型切换为静态模型。其中,静态模型与骨骼模型具有一致的动作特征。简单来说,就是将当前时刻的骨骼模型替换为动作相似的静态模型。
在实际应用中,虚幻引擎中可以通过骨骼模型离线功能生成对应姿势的静态模型。具体地,通过动画蓝图状态机获取骨骼模型在当前时刻所处的姿势;基于骨骼模型所处的姿势,从骨骼模型对应的多个静态模型中选取匹配的目标静态模型;将游戏资源所绑定的模型从骨骼模型切换为目标静态模型。
可选地,还设置骨骼模型与具有不同姿势的多个静态模型的对应关系。例如,可以为某一虚拟角色的骨骼模型绑定具有不同姿势的6个静态模型,其中,具有不同姿势的6个静态模型如图4中的静态模型1至6所示。
可以理解的是,上述各个步骤的执行顺序仅为示例,本申请实施例中并不限定。实际应用中,还可同步执行上述各个步骤。
本实施例中,针对任意游戏资源实现了具有针对性的切割效果,不仅大大提高切割效果的制作效率,提升游戏资源的可扩展性,还能够避免动画效果与玩家操作存在差异,提升切割效果的真实感,提高玩家操作体验。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤104的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图5是本申请一示例性实施例提供的电子设备的结构示意图,如图5所示,该电子设备包括:存储器501、处理器502、通信组件503以及显示组件504。
存储器501,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
其中,存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器502,与存储器501耦合,用于执行存储器501中的计算机程序,以用于:
检测游戏场景中是否发生针对游戏资源的切割事件;
若检测到发生切割事件,则获取针对游戏资源的切割数据;其中,切割数据包括切割组件与游戏资源的接触位置;
根据接触位置生成将游戏资源切分为至少两个部件的动画效果。
进一步可选地,通过显示组件604展示游戏场景。
进一步可选地,处理器602在根据所述接触位置生成将所述游戏资源切分为至少两个部件的动画效果时,具体用于:
将所述游戏资源所绑定的模型从当前模型切换为程序模型;
根据所述接触位置确定针对所述程序模型的切割方式,所述切割方式包括所述切割组件对应的切割位置、切割方向、切割面材质;
基于所述切割方式将所述程序模型切分为所述至少两个部件对应的部件程序模型;
生成至少两个部件程序模型在游戏场景中的动画效果。
进一步可选地,处理器602在若所述当前模型为静态模型,则所述将所述游戏资源所绑定的模型从当前模型切换为程序模型时,具体用于:
通过程序网格组件将所述游戏资源所绑定的静态模型中的数据赋值到所述程序模型中,并在游戏场景中隐藏所述静态模型,以使所述游戏资源所绑定的模型从所述静态模型切换为所述程序模型。
进一步可选地,若所述当前模型为骨骼模型,则处理器602在所述将所述游戏资源所绑定的模型从当前模型切换为程序模型之前,还用于:
将所述游戏资源所绑定的模型从所述骨骼模型切换为静态模型,其中,所述静态模型与所述骨骼模型具有一致的动作特征。
可选地,所述处理器602还用于:
设置所述骨骼模型与具有不同姿势的多个静态模型的对应关系;
可选地,所述处理器602将所述游戏资源所绑定的模型从所述骨骼模型切换为静态模型时,具体用于:
通过动画蓝图状态机获取所述骨骼模型在当前时刻所处的姿势;
基于所述骨骼模型所处的姿势,从所述骨骼模型对应的多个静态模型中选取匹配的目标静态模型;
将所述游戏资源所绑定的模型从所述骨骼模型切换为所述目标静态模型。
可选地,所述处理器602生成至少两个部件程序模型在游戏场景中的动画效果时,具体用于:
获取作用于所述至少两个部件程序模型的作用力,其中,所述作用力包括重力以及施加在所述切割位置的冲力;
基于所述作用力确定所述至少两个部件程序模型在游戏场景中的运动轨迹;
根据所述运动轨迹生成所述至少两个部件程序模型的动画效果。
可选地,所述处理器602检测游戏场景中是否发生针对游戏资源的切割事件时,具体用于:
设置用于包围所述游戏资源的碰撞盒子;
若检测到所述碰撞盒子与所述游戏资源发生碰撞,则确定游戏场景中发生所述切割事件。
可选地,若所述切割组件为武器组件,则所述处理器602还用于:
在所述武器组件的模型中设置箭头组件;
若检测到发生所述切割事件,则所述处理器602在获取针对所述游戏资源的切割数据时,具体用于:
若检测到所述碰撞盒子与所述游戏资源发生碰撞,则从所述碰撞盒子与所述游戏资源的碰撞事件中,获取所述武器组件与所述游戏资源的碰撞信息;
以所述碰撞信息中指示的所述箭头组件与所述游戏资源的接触位置作为所述武器组件的切割位置,并以所述箭头组件相对所述游戏资源的方向作为切割方向。
可选地,所述游戏资源包括:游戏场景中的虚拟角色或者虚拟物体。
其中,所述虚拟角色包括玩家角色或者非玩家控制角色NPC,所述虚拟物体包括游戏场景中放置的武器、道具、植物、石头、建筑物中的任意一种或多种。
进一步,如图5所示,该电子设备还包括:电源组件505、音频组件505等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
其中,通信组件503被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,显示组件504可以实现为显示器,该显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。未屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
其中,电源组件505,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种动画生成方法,其特征在于,包括:
检测游戏场景中是否发生针对游戏资源的切割事件;
若检测到发生所述切割事件,则获取针对所述游戏资源的切割数据;其中,所述切割数据包括切割组件与所述游戏资源的接触位置;
根据所述接触位置生成将所述游戏资源切分为至少两个部件的动画效果;
所述根据所述接触位置生成将所述游戏资源切分为至少两个部件的动画效果,包括:
将所述游戏资源所绑定的模型从当前模型切换为程序模型;
根据所述接触位置确定针对所述程序模型的切割方式,所述切割方式包括所述切割组件对应的切割位置、切割方向、切割面材质;
基于所述切割方式将所述程序模型切分为所述至少两个部件对应的部件程序模型;
生成至少两个部件程序模型在游戏场景中的动画效果。
2.根据权利要求1所述的方法,其特征在于,若所述当前模型为静态模型,则所述将所述游戏资源所绑定的模型从当前模型切换为程序模型,包括:
通过程序网格组件将所述游戏资源所绑定的静态模型中的数据赋值到所述程序模型中,并在游戏场景中隐藏所述静态模型,以使所述游戏资源所绑定的模型从所述静态模型切换为所述程序模型。
3.根据权利要求1所述的方法,其特征在于,若所述当前模型为骨骼模型,则所述将所述游戏资源所绑定的模型从当前模型切换为程序模型之前,还包括:
将所述游戏资源所绑定的模型从所述骨骼模型切换为静态模型,其中,所述静态模型与所述骨骼模型具有一致的动作特征。
4.根据权利要求3所述的方法,其特征在于,还包括:
设置所述骨骼模型与具有不同姿势的多个静态模型的对应关系;
所述将所述游戏资源所绑定的模型从所述骨骼模型切换为静态模型,包括:
通过动画蓝图状态机获取所述骨骼模型在当前时刻所处的姿势;
基于所述骨骼模型所处的姿势,从所述骨骼模型对应的多个静态模型中选取匹配的目标静态模型;
将所述游戏资源所绑定的模型从所述骨骼模型切换为所述目标静态模型。
5.根据权利要求1所述的方法,其特征在于,所述生成至少两个部件程序模型在游戏场景中的动画效果,包括:
获取作用于所述至少两个部件程序模型的作用力,其中,所述作用力包括重力以及施加在所述切割位置的冲力;
基于所述作用力确定所述至少两个部件程序模型在游戏场景中的运动轨迹;
根据所述运动轨迹生成所述至少两个部件程序模型的动画效果。
6.根据权利要求1所述的方法,其特征在于,所述检测游戏场景中是否发生针对游戏资源的切割事件,包括:
设置用于包围所述游戏资源的碰撞盒子;
若检测到所述碰撞盒子与所述游戏资源发生碰撞,则确定游戏场景中发生所述切割事件。
7.根据权利要求6所述的方法,其特征在于,若所述切割组件为武器组件,则所述方法还包括:
在所述武器组件的模型中设置箭头组件;
所述若检测到发生所述切割事件,则获取针对所述游戏资源的切割数据,包括:
若检测到所述碰撞盒子与所述游戏资源发生碰撞,则从所述碰撞盒子与所述游戏资源的碰撞事件中,获取所述武器组件与所述游戏资源的碰撞信息;
以所述碰撞信息中指示的所述箭头组件与所述游戏资源的接触位置作为所述武器组件的切割位置,并以所述箭头组件相对所述游戏资源的方向作为切割方向。
8.根据权利要求1至7任一所述的方法,其特征在于,所述游戏资源包括:游戏场景中的虚拟角色或者虚拟物体;
其中,所述虚拟角色包括玩家角色或者非玩家控制角色NPC,所述虚拟物体包括游戏场景中放置的武器、道具、植物、石头、建筑物中的任意一种或多种。
9.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器用于存储一条或多条计算机指令;
所述处理器用于执行所述一条或多条计算机指令以用于:执行权利要求1-8任一项所述的方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序;
所述计算机程序被执行时,用以实现权利要求1-8任一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111093623.4A CN113936079B (zh) | 2021-09-17 | 2021-09-17 | 动画生成方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111093623.4A CN113936079B (zh) | 2021-09-17 | 2021-09-17 | 动画生成方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113936079A CN113936079A (zh) | 2022-01-14 |
CN113936079B true CN113936079B (zh) | 2022-08-26 |
Family
ID=79276045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111093623.4A Active CN113936079B (zh) | 2021-09-17 | 2021-09-17 | 动画生成方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113936079B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8622831B2 (en) * | 2007-06-21 | 2014-01-07 | Microsoft Corporation | Responsive cutscenes in video games |
US20100190556A1 (en) * | 2009-01-26 | 2010-07-29 | Daniel Chan | Information storage medium, game program, and game system |
WO2015140813A1 (en) * | 2014-03-17 | 2015-09-24 | Vats Nitin | Interactive display system with screen cut-to-shape of displayed object for realistic visualization and user interaction |
CN208061323U (zh) * | 2018-04-18 | 2018-11-06 | 哈米德莱萨·莱萨·莫萨耶比 | 一种水果自动售卖机 |
CN111603774B (zh) * | 2020-06-29 | 2023-09-26 | 网易(杭州)网络有限公司 | 游戏中虚拟资源的破碎方法及装置 |
-
2021
- 2021-09-17 CN CN202111093623.4A patent/CN113936079B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113936079A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10726611B1 (en) | Dynamic texture mapping using megatextures | |
JP7038817B2 (ja) | 情報処理方法、装置、記憶媒体及び電子デバイス | |
CN111701238B (zh) | 虚拟画卷的显示方法、装置、设备及存储介质 | |
CN106215419B (zh) | 碰撞控制方法及装置 | |
US11369872B2 (en) | Storage medium storing game program, game processing method, and information processing apparatus | |
EP3040807B1 (en) | Virtual sensor in a virtual environment | |
JP2020513948A (ja) | 情報処理方法及び装置、記憶媒体、電子機器 | |
CN108434734A (zh) | 游戏场景中虚拟资源处理方法、装置、终端和存储介质 | |
TWI831066B (zh) | 虛擬場景中狀態切換方法、裝置、設備、媒體及程式產品 | |
US10525356B2 (en) | Storage medium, game apparatus, game system and game control method | |
CN107899246B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN112717407B (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
JP7534539B2 (ja) | 仮想アイテムの投入方法、装置、端末、及びプログラム | |
KR102698789B1 (ko) | 가상 장면의 정보 처리 방법 및 장치, 디바이스, 매체 및 프로그램 제품 | |
CN112843682B (zh) | 数据同步方法、装置、设备及存储介质 | |
CN113936079B (zh) | 动画生成方法、设备及存储介质 | |
US20230025389A1 (en) | Route generation system within a virtual environment of a game application | |
CN114146414A (zh) | 虚拟技能的控制方法、装置、设备、存储介质及程序产品 | |
CN113934347A (zh) | 模型切换方法、设备及存储介质 | |
US20240325916A1 (en) | World prediction within a game application environment | |
CN116966549A (zh) | 虚拟场景中瞄准点的确定方法、装置、设备及存储介质 | |
CN115607966A (zh) | 游戏中的信息处理方法、装置、存储介质以及电子装置 | |
CN114042317A (zh) | 基于虚拟对象的交互方法、装置、设备、介质及程序产品 | |
CN118436976A (zh) | 虚拟场景的互动处理方法、装置、电子设备及存储介质 | |
CN115475383A (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 |