CN111714880A - 画面的显示方法和装置、存储介质、电子装置 - Google Patents

画面的显示方法和装置、存储介质、电子装置 Download PDF

Info

Publication number
CN111714880A
CN111714880A CN202010367099.4A CN202010367099A CN111714880A CN 111714880 A CN111714880 A CN 111714880A CN 202010367099 A CN202010367099 A CN 202010367099A CN 111714880 A CN111714880 A CN 111714880A
Authority
CN
China
Prior art keywords
target object
configuration information
motion
target
posture
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
Application number
CN202010367099.4A
Other languages
English (en)
Other versions
CN111714880B (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 CN202010367099.4A priority Critical patent/CN111714880B/zh
Publication of CN111714880A publication Critical patent/CN111714880A/zh
Application granted granted Critical
Publication of CN111714880B publication Critical patent/CN111714880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/65Methods for processing data by generating or executing the game program for computing the condition of a game character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/80Features 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/8082Virtual reality

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是根据本申请实施例的一种可选的刚体属性的示意图;
图7是根据本申请实施例的一种可选的画面渲染的流程图;
图8是根据本申请实施例的一种可选的游戏数据流向的示意图;
图9是根据本申请实施例的一种可选的画面的显示装置的示意图;
以及
图10是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
PhysX:读音与Physics相同,是一套开源的物理运算引擎,用于模拟物理效果,也是世界三大物理运算引擎之一,另外两种是Havok和Bullet。
骨骼动画:骨架由一系列具有层次关系的关节相互连接组成,是一种树结构,骨骼动画通过改变骨骼的朝向和位置来为模型生成动画。
游戏动画中角色对象的动作姿态相较于现实世界中的姿态而言,存在较大误差,主要体现在动画只能表现美术制作人员已经做好的效果,既不能提现与场景内物体的互动,也不能表现角色通过逻辑操作所表现出的一些效果,例如从跑步动画过渡到静止的休闲动画,如果使用美术人员制作好的跑步动画和静止的休闲动画进行切换,不会表现角色停下来时头发、裙摆往前飘的过渡物理效果。
为了克服以上问题,根据本申请实施例的一方面,提供了一种画面的显示方法的方法实施例。
可选地,在本实施例中,上述画面的显示方法可以应用于如图1所示的由游戏引擎101和物理引擎103所构成的硬件环境中。如图1所示,物理引擎103通过总线与游戏引擎101进行连接,可用于为游戏引擎101提供物体之间、物体和场景之间发生碰撞后的力学模拟的服务,可在物理引擎103上或独立于物理引擎103设置数据库105(可以是片上存储、寄存器、内存等),用于为物理引擎103提供数据存储服务,上述总线包括但不限于:片内总线、片间总线;物理引擎103可以是单独的物理运算处理器PPU(Paralleling and ProtectionUnit),游戏引擎101可以通过图形处理器GPU(Graphics Processing Unit),二者也可以均集成在相同的处理器中,如都集成在GPU中,游戏引擎101和物理引擎103还可以作为中央处理器CPU(central processing unit)中的模块。
本申请实施例的画面的显示方法可以由处理器CPU、GPU来执行,也可以由处理器CPU、GPU、游戏引擎以及物理引擎共同执行。图2是根据本申请实施例的一种可选的画面的显示方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取目标对象的第一配置信息,第一配置信息与目标对象的第一运动状态匹配,目标对象为虚拟场景中的可移动对象,如游戏中玩家控制的角色、非玩家控制角色(如玩家的宠物、怪兽等)。
上述运动状态即目标对象在游戏的虚拟场景中的状态,如跑动中、走路中,静止中等。
步骤S204,根据第一配置信息对目标模型的物理属性进行配置,目标模型用于在虚拟场景中渲染出目标对象。
上述目标模型是游戏中按照游戏角色(即上述目标对象)的一定比例制作设计成的模型,是运用到游戏引擎中进行渲染的数据。
对于不同的运动状态,在游戏画面的表现上是不同的,例如跑步时和走路时头发飘在空中的程度(飘起来的头发的数量和角度等)是不同的,为了逼真的表现这种状态下的游戏画面,可以预先配置不同类型的运行状态下的相应物理属性的属性值,以便于在处于某种状态时采用与之匹配的属性值来进行配置。例如,通过对物理属性的各个属性值的测试,确定每种运动状态下的最适合的属性值(即能够逼真的展示与现实世界相同的姿态时的属性值),从而得到该运动状态下的配置信息。
步骤S206,利用配置后的目标模型在物理引擎中模拟出目标对象的第一运动姿态,第一运动姿态为目标对象处于第一运动状态时的运动姿态。
物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟,以及发生碰撞后的物体骨骼运动的力学模拟。
游戏引擎的模拟一般分为两部分,一部分是更新游戏数据,一部分是渲染游戏。物理引擎在模拟时,使用游戏引擎更新后的数据进行模拟,而游戏引擎的渲染则使用物理引擎的模拟数据。上述第一运行姿态即物理引擎的模拟数据,输入游戏引擎后游戏引擎可以利用该数据渲染得到相应的游戏画面。
步骤S208,显示与目标对象的第一运动姿态匹配的运动画面。
例如,可以生成目标对象的骨骼结构,并将骨骼结构添加至对应的皮肤中,并影响其中的所有顶点,令该皮肤与骨架结构对应并关联,可以使用骨骼动画的方式控制游戏应用中目标对象的运动。在骨骼动画中,目标对象具有互相连接的“骨骼”组成的骨架结构,可以通过改变骨骼的朝向和位置(即运动姿态,如上述第一运动姿态)来生成目标对象的动作。经过蒙皮后,该骨架结构中的各骨骼将会对应影响该皮肤的所有顶点,使骨骼动画在特定的外在形象下进行具有更真实物理效果的运动。
通过上述步骤,目标对象在虚拟场景中不同的运动状态可能出现不同的物理状态,这些物理状态即通过物理属性控制的,故而可以通过物理属性来调整其在不同运动状态下的物理状态,进而在渲染出来的画面中呈现出与真实世界类似的动画,可以解决了相关技术中游戏动画的准确度较低的技术问题,进而达到提高游戏动画的准确度的技术效果。下面结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S202提供的技术方案中,获取目标对象的第一配置信息,第一配置信息与目标对象的第一运动状态匹配,目标对象为虚拟场景中的可移动对象。
可选地,在获取目标对象的第一配置信息之前,可以预先创建目标模型,目标模型包括多个关节,每个关节对应于一个第一部件和第二部件(此处的部件可以理解为模型的一个组件,如刚体),第一部件为可在运动画面中显现的且受第三部件影响的部件,即需要进行物理模拟的部件,第二部件为不可在运动画面中显现且用于影响第四部件(第四部件为非刚体)的部件,即第二部件为能够对非刚体产生影响的部件,第三部件为除开第一部件、第二部件以及第四部件以外的部件。
在创建好目标模型之后,为第一部件配置多个控制器,多个控制器中的每个控制器对应于多个运动状态中的一个,多个控制器中任意两个控制器对应的运动状态不同,另外每个控制器配置关于第二部件和第一部件之间的关联关系,如弹簧阻尼系数,用于实现将第一部件拉向第二部件的效果。
在上述方案中,可按照如下方式创建多个控制器中的每个控制器:获取用于表示多个运动状态中目标运动状态的物理属性的属性值,如密度、动摩擦系数、静摩擦系数和还原系数等,目标运动状态与多个控制器中待创建的目标控制器匹配;将获取到的物理属性的属性值作为目标配置信息封装成目标控制器,多个配置信息包括目标配置信息。
可选地,第二部件对非刚体造成的影响(如踝关节对裤腿、头部对头发、身上的各个关节对服饰)可以在物理引擎中模拟出来,可以各种运动状态下的将模拟结果制成动画:创建多个动画集合,多个动画集合中的每个动画集合对应于多个运动状态中的一个,多个动画集合中的任意两个动画集合对应的运动状态不同,每个动画集合中的一个动画对应于相应运动状态下的一个姿态。
采用上述方案,在渲染的过程中,在任意的运动状态下,可以为非刚体匹配相应的动画结合,然后从相应的动画集合中选择姿态;可选地,在渲染的过程中,也可以将第二部件传入物理引擎,用物理引擎实时模拟出相应的非刚体的姿态。
在上述实施例中,获取目标对象的第一配置信息可采用如下方式实现:获取多个控制器,多个控制器中的每个控制器是对多个配置信息中的一个配置信息进行封装得到的,多个配置信息中的每个配置信息与一个运动状态匹配,任意两个配置信息所匹配的运动状态不同;按照第一运动状态从多个控制器中查找到第一控制器,进而就相当于获得了第一配置信息,第一控制器是对第一配置信息进行封装得到的。
在步骤S204提供的技术方案中,根据第一配置信息对目标模型的物理属性进行配置,目标模型用于在虚拟场景中渲染出目标对象。
对于目标对象而言,处于不同运动状态下,相同属性的属性值可能不同,如在走路和跑步时与场景中另一对象发生碰撞时的碰撞相关参数不一样。故而,为了更为真实模拟现实世界中的情况,可以按照预先取得的不同运动状态的配置信息进行配置。
可选地,在根据第一配置信息对目标模型的物理属性进行配置之后,在第一部件的刚体属性从刚体变化为第一配置信息所配置的非刚体的情况下,生成用于表示第一部件发生姿态变化的动画,发生姿态变化过程中的位置为pos=(1-α)*poslast+α*posanim,发生姿态变化过程中的旋转角度为
Figure BDA0002476864440000081
其中,poslast为切换控制器前第一部件的位置,posanim根据第二部件计算出来的第一部件的位置,α为取值位于0和1之间的系数,rotlast为切换控制器前第一部件的旋转角度,rotanim为根据第二部件计算出来第一部件的旋转角度,θ为rotlast和rotanim的夹角。
在上述方案中,进行刚体属性切换时,为了避免画面产生突变,采用了线性插值的方法来实现,通过改变α的取值(如第一帧时为0,第二帧时为0.1,直至增长到1)来实现。
在步骤S206提供的技术方案中,利用配置后的目标模型在物理引擎中模拟出目标对象的第一运动姿态,第一运动姿态为目标对象处于第一运动状态时的运动姿态。物理引擎获取游戏引擎的游戏更新数据,并结合之前的姿态即可在物理引擎中模拟出目标对象之后的第一运动姿态。
在步骤S208提供的技术方案中,显示与目标对象的第一运动姿态匹配的运动画面。
在一个可选的实施例中,上述显示的画面可以是预先制作好的,在显示与目标对象的第一运动姿态匹配的运动画面时,可从多个动画集合中查找与第一运动状态匹配的第一动画集合;在第一动画集合中查找与第一运动姿态匹配的动画,并显示基于与第一运动姿态匹配的动画生成的运动画面。
在另一个可选的实施例中,上述显示的画面也可以是实时渲染的,在利用物理引擎模拟确定了目标对象的运动姿态之后,可以利用该运动姿态通过GPU进行渲染,进而得到运动画面。在该方案中,可以不从多个动画集合查找最匹配的动画状态,而是获得物理引擎计算的结果。需要播放的动画是可以确定的,之所以播放的效果更好,是因为动画作为物理引擎的输入数据,结合了角色的其他物理状态,物理引擎会计算每个骨骼的姿态,这个姿态比单用动画做更符合物理效果。
例如,一个角色有比较长的裙子,跑步急停时,纯靠动画只能在跑步和站立动作之间切换,但是如果使用物理动画,在停的时候裙子的表现会更符合现实中的物理效果,该效果和角色运动的速度也有关系,而这种效果的表现,可不用事先做好的若干动画进行查询,而利用物理引擎进行计算,以便于获取计算的结果,利用计算的结果进行渲染。
可选地,在显示与目标对象的第一运动姿态匹配的运动画面之后,若目标对象的运动状态发生变化,则可以按照如下方式进行处理:在目标对象的运动状态从第一运动状态变化为第二运动状态的情况下,获取与第二运动状态匹配的第二配置信息;根据第二配置信息对目标模型的物理属性进行配置;利用目标模型在物理引擎中模拟出目标对象的第二运动姿态,其中,第二运动姿态为目标对象处于第二运动状态时的运动姿态;显示与目标对象的第二运动姿态匹配的运动画面。该实施例具体的实现方式与图2所示的步骤类似,不再赘述。
在本申请的技术方案中,将部分物理状态(例如,在走路,坐车,攀爬)参数封装为控制器,每个控制器都是一个独立的文件,用户预先配置若干套控制器,游戏运行时通过切换控制器,整体改变角色所有刚体的物理状态参数,以适应不同类型的动画,然后将物理数据和动画数据进行融合,既能有美术制作人员想要的效果(即细节与真实世界相同),又能表现出与场景物理世界的互动。作为一种可选的实施例,下面结合图3以具体的实施方式进一步详述本申请的技术方案。
步骤S302,配置一套与骨骼动画的骨架层次结构对应的刚体数据,1个骨架由N(N为大于1的自然数)个关节组成,每个关节对应1个刚体,每个刚体包括刚体自身的物理属性(如密度、动摩擦系数、静摩擦系数和还原系数等,这些参数可以由PhysX这样的物理引擎提供)和构成该关节的M(M为大于等于0的自然数)个刚体图形,刚体图形由物理引擎提供的立方体、胶囊和球等组成。
在配置骨架的时候尽可能贴合模型,以模拟出更真实的物理效果。这部分刚体会受到场景物理世界的影响,后续步骤会描述其如何受影响。
步骤S304,每个关节(如图4所示的点表示关节)添加1个不可见的刚体(如图5中角色身上的框体),每个刚体有0个刚体图形,具有Kinematic属性(该属性的意思是该刚体本身不会表现物理效果,但是会影响其他的非Kinematic刚体),刚体的姿态(如位置和旋转)由骨骼动画模块计算出每个关节的姿态后传入物理系统,骨骼动画模块计算的结果是美术制作想要表现的结果,但最终结果既要有美术人员想要的结果,也要有和场景互动的真实反馈,这个步骤就是把美术制作的数据传入物理系统。
步骤S306,经过步骤S302和步骤S304,每个关节都对应有两个刚体,如图6所示,可为这两个刚体添加约束(如物理引擎PhysX中的D6Joint),在该约束中配置刚度stiffness和阻尼damping,linear和angular分别表示用于位移和旋转的stiffness和damping。PhysX基于弹簧阻尼系统的模型可实现把A刚体拉向B刚体的效果,通过设置的stiffness和damping就是需要传入的参数,不同的数值会有不同的表现效果。在本申请中可把步骤S302的刚体拉向步骤S304的刚体,就是通过这个约束完成。
步骤S308,步骤S302的刚体在受到场景中其他刚体的影响时,表现相应的物理效果,例如被boss打击;步骤S302的刚体还受到步骤S304刚体的影响,被拉向动画想要的方向,表现动画的效果。本申请在步骤S302-步骤S306将参数传入PhysX,由PhysX计算出步骤S302刚体的姿态(如位置和方向),再用步骤S302刚体的姿态代替骨骼动画的计算结果对模型进行渲染,相当于用物理计算的结果替代了动画数据,但是在物理计算的过程中采用步骤S304和步骤S306的方法用到动画数据,以此达到动画和物理效果的融合。
步骤S310,在游戏中,角色的不同动作可能会出来不同物理状态,例如,在走路,坐车,攀爬,步骤S302配置的刚体和步骤S306配置的约束,在这几种动作下,有部分刚体需要修改属性。为了方便游戏开发人员,本申请将图6中下面方框中的物理属性提出来,该方框中前2个属性在步骤S302中使用,后4个属性在步骤S306中使用,每种物理状态单独配置一个控制器文件,在游戏中通过切换控制器,能够整体切换步骤S302的刚体属性和步骤S306的约束属性,降低开发难度。
步骤S312,在步骤S310进行刚体属性切换时,如果刚体从非Kinematic切换为Kinematic,会在下一帧从物理模拟的状态变为完全动画的状态,这种变化会带来显示效果上的突变,因此本申请在步骤S310切换控制器时,对于非Kinematic到Kinematic的这部分刚体所对应关节的姿态用线性插值的方法进行平滑处理:
pos=(1-α)*poslast+α*poSanim
Figure BDA0002476864440000111
其中pos为平滑后刚体所对应关节的位置,poslast为切换控制器前该关节的位置,posanim为动画计算出来该关节的位置,α为线性插值系数,在0.2秒(该数值可根据效果修改)内从0匀速变为1,当该α变为1时过渡状态结束,这部分关节完全由动画驱动。
rot为平滑后刚体所对应关节的旋转。rotlast为切换控制器前该关节的旋转,rotanim为动画计算出来该关节的旋转,θ为rotlast和rotanim的夹角,α为球面线性插值系数,在0.2秒内从0匀速变为1,当该α变为1时过渡状态结束,这部分关节完全由动画驱动。
然后运行系统每帧的更新流程。具体流程参见图7:
步骤S702,更新动画数据。
步骤S704,设置步骤S304所需的刚体数据。
步骤S706,PhysX计算步骤S302的刚体姿态。
步骤S708,获取步骤S302的刚体姿态,取代原先的动画数据进行渲染。
其他的数据流向参见图8,将动画数据、该角色的刚体、场景中其他刚体之间的关系封装为控制器,由PhysX物理引擎进行融合,得到刚体姿态,然后结合渲染数据进行渲染。
在本申请的技术方案中,使用控制器对物理状态进行封装,在切换控制器时,在非Kinematic到Kinematic之间进行过渡,从而可以实现骨骼动画数据与物理数据的融合。该方案可以减少美术工作量,如果是为了适配场景的物理交互而将一个动画做成多个动画(做多套动画,由代码逻辑控制动画与场景物理世界的交互,也能近似表现出与场景内其他物体互动的效果,但是会导致角色逻辑过于复杂,开发成本高),利用本申请可以采用一个动画,结合物理引擎的实时计算的结果,得到相应效果;具有更好的显示效果。游戏场景和玩家是充分交互的,很多东西不可预测,如果事先将物理交互的情况全部都考虑到,做在动画里,不太现实,会进行精简,最后导致效果不够完善,而本申请在物理效果这部分是实时计算的结果,与动画结合后,能够获得较好的显示效果;减少游戏开发人员工作量,本申请提供若干控制器进行物理状态切换,游戏开发人员根据角色的动作分为若干物理状态,每种配置好一个控制器文件。当角色的物理状态变化时,只需要切换控制器文件,不需要单独修改每个刚体的物理属性,并且不需要额外处理两种物理状态切换时的过渡效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
游戏动画中角色对象的动作姿态相较于现实世界中的姿态而言,存在较大误差,主要体现在动画只能表现美术制作人员已经做好的效果,既不能提现与场景内物体的互动,也不能表现角色通过逻辑操作所表现出的一些效果,例如从跑步动画过渡到静止的休闲动画,如果使用美术人员制作好的跑步动画和静止的休闲动画进行切换,不会表现角色停下来时头发、裙摆往前飘的过渡物理效果。
为了克服以上问题,根据本申请实施例的另一个方面,还提供了一种用于实施上述画面的显示方法的画面的显示装置。图9是根据本申请实施例的一种可选的画面的显示装置的示意图,如图9所示,该装置可以包括:
第一获取单元901,用于获取目标对象的第一配置信息,其中,第一配置信息与目标对象的第一运动状态匹配,目标对象为虚拟场景中的可移动对象。
上述运动状态即目标对象在游戏的虚拟场景中的状态,如跑动中、走路中,静止中等。
第一配置单元903,用于根据第一配置信息对目标模型的物理属性进行配置,其中,目标模型用于在虚拟场景中渲染出目标对象。
上述目标模型是游戏中按照游戏角色(即上述目标对象)的一定比例制作设计成的模型,是运用到游戏引擎中进行渲染的数据。
对于不同的运动状态,在游戏画面的表现上是不同的,例如跑步时和走路时头发飘在空中的程度(飘起来的头发的数量和角度等)是不同的,为了逼真的表现这种状态下的游戏画面,可以预先配置不同类型的运行状态下的相应物理属性的属性值,以便于在处于某种状态时采用与之匹配的属性值来进行配置。例如,通过对物理属性的各个属性值的测试,确定每种运动状态下的最适合的属性值(即能够逼真的展示与现实世界相同的姿态时的属性值),从而得到该运动状态下的配置信息。
模拟单元905,用于利用配置后的目标模型在物理引擎中模拟出目标对象的第一运动姿态,其中,第一运动姿态为目标对象处于第一运动状态时的运动姿态。
物理引擎主要包含游戏世界中的物体之间、物体和场景之间发生碰撞后的力学模拟,以及发生碰撞后的物体骨骼运动的力学模拟。
游戏引擎的模拟一般分为两部分,一部分是更新游戏数据,一部分是渲染游戏。物理引擎在模拟时,使用游戏引擎更新后的数据进行模拟,而游戏引擎的渲染则使用物理引擎的模拟数据。上述第一运行姿态即物理引擎的模拟数据,输入游戏引擎后游戏引擎可以利用该数据渲染得到相应的游戏画面。
显示单元907,用于显示与目标对象的第一运动姿态匹配的运动画面。
例如,可以生成目标对象的骨骼结构,并将骨骼结构添加至对应的皮肤中,并影响其中的所有顶点,令该皮肤与骨架结构对应并关联,可以使用骨骼动画的方式控制游戏应用中目标对象的运动。在骨骼动画中,目标对象具有互相连接的“骨骼”组成的骨架结构,可以通过改变骨骼的朝向和位置(即运动姿态,如上述第一运动姿态)来生成目标对象的动作。经过蒙皮后,该骨架结构中的各骨骼将会对应影响该皮肤的所有顶点,使骨骼动画在特定的外在形象下进行具有更真实物理效果的运动。
需要说明的是,该实施例中的第一获取单元901可以用于执行本申请实施例中的步骤S202,该实施例中的第一配置单元903可以用于执行本申请实施例中的步骤S204,该实施例中的模拟单元905可以用于执行本申请实施例中的步骤S206,该实施例中的显示单元907可以用于执行本申请实施例中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,目标对象在虚拟场景中不同的运动状态可能出现不同的物理状态,这些物理状态即通过物理属性控制的,故而可以通过物理属性来调整其在不同运动状态下的物理状态,进而在渲染出来的画面中呈现出与真实世界类似的动画,可以解决了相关技术中游戏动画的准确度较低的技术问题,进而达到提高游戏动画的准确度的技术效果。
可选地,第一获取单元包括:获取模块,用于获取多个控制器,其中,多个控制器中的每个控制器是对多个配置信息中的一个配置信息进行封装得到的,多个配置信息中的每个配置信息与一个运动状态匹配,任意两个配置信息所匹配的运动状态不同;第一查找模块,用于按照第一运动状态从多个控制器中查找到第一控制器,其中,第一控制器是对第一配置信息进行封装得到的。
可选地,装置还包括:第二获取单元,用于在获取多个控制器之前,获取用于表示多个运动状态中目标运动状态的物理属性的属性值,其中,目标运动状态与多个控制器中待创建的目标控制器匹配;封装单元,用于将获取到的物理属性的属性值作为目标配置信息封装成目标控制器,其中,多个配置信息包括目标配置信息。
可选地,第一获取单元,还用于在显示与目标对象的第一运动姿态匹配的运动画面之后,在目标对象的运动状态从第一运动状态变化为第二运动状态的情况下,获取与第二运动状态匹配的第二配置信息;第一配置单元,还用于根据第二配置信息对目标模型的物理属性进行配置;模拟单元,还用于利用配置后的目标模型在物理引擎中模拟出目标对象的第二运动姿态,其中,第二运动姿态为目标对象处于第二运动状态时的运动姿态;显示单元,还用于显示与目标对象的第二运动姿态匹配的运动画面。
可选地,装置还包括:第一创建单元,用于在获取目标对象的第一配置信息之前,创建多个动画集合,其中,多个动画集合中的每个动画集合对应于多个运动状态中的一个,多个动画集合中的任意两个动画集合对应的运动状态不同,每个动画集合中的一个动画对应于相应运动状态下的一个姿态。
可选地,显示单元包括:第二查找模块,用于从多个动画集合中查找与第一运动状态匹配的第一动画集合;显示模块,用于在第一动画集合中查找与第一运动姿态匹配的动画,并显示基于与第一运动姿态匹配的动画生成的运动画面。
可选地,装置还包括:第二创建单元,用于在获取目标对象的第一配置信息之前,创建目标模型,其中,目标模型包括多个关节,每个关节对应于一个第一部件和第二部件,第一部件为可在运动画面中显现的且受第三部件影响的部件,第二部件为不可在运动画面中显现且用于影响第四部件的部件,第三部件与第一部件、第二部件以及第四部件不同,第四部件为非刚体;第二配置单元,用于为第一部件配置多个控制器,其中,多个控制器中的每个控制器对应于多个运动状态中的一个,多个控制器中任意两个控制器对应的运动状态不同。
可选地,装置还包括:生成单元,用于在根据第一配置信息对目标模型的物理属性进行配置之后,在第一部件的刚体属性从刚体变化为第一配置信息所配置的非刚体的情况下,生成用于表示第一部件发生姿态变化的动画,发生姿态变化过程中的位置为pos=(1-α)*poslast+α*posanim,发生姿态变化过程中的旋转角度为
Figure BDA0002476864440000161
其中,poslast为切换控制器前第一部件的位置,posanim根据第二部件计算出来的第一部件的位置,α为取值位于0和1之间的系数,rotlast为切换控制器前第一部件的旋转角度,rotanim为根据第二部件计算出来第一部件的旋转角度,θ为rotlast和rotanim的夹角。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
在本申请的技术方案中,使用控制器对物理状态进行封装,在切换控制器时,在非Kinematic到Kinematic之间进行过渡,从而可以实现骨骼动画数据与物理数据的融合。该方案可以减少美术工作量,如果是为了适配场景的物理交互而将一个动画做成多个动画,利用本申请可以采用一个动画,结合物理引擎的实时计算的结果,得到相应效果;具有更好的显示效果。游戏场景和玩家是充分交互的,很多东西不可预测,如果事先将物理交互的情况全部都考虑到,做在动画里,不太现实,会进行精简,最后导致效果不够完善,而本申请在物理效果这部分是实时计算的结果,与动画结合后,能够获得较好的显示效果;减少游戏开发人员工作量,本申请提供若干控制器进行物理状态切换,游戏开发人员根据角色的动作分为若干物理状态,每种配置好一个控制器文件。当角色的物理状态变化时,只需要切换控制器文件,不需要单独修改每个刚体的物理属性,并且不需要额外处理两种物理状态切换时的过渡效果。
根据本申请实施例的另一个方面,还提供了一种用于实施上述画面的显示方法的服务器或终端。
图10是根据本申请实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图10中仅示出一个)处理器1001、存储器1003、以及传输装置1005,如图10所示,该终端还可以包括输入输出设备1007。
其中,存储器1003可用于存储软件程序以及模块,如本申请实施例中的画面的显示方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的画面的显示方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1003用于存储应用程序。
处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:
获取目标对象的第一配置信息,其中,第一配置信息与目标对象的第一运动状态匹配,目标对象为虚拟场景中的可移动对象;
根据第一配置信息对目标模型的物理属性进行配置,其中,目标模型用于在虚拟场景中渲染出目标对象;
利用配置后的目标模型在物理引擎中模拟出目标对象的第一运动姿态,其中,第一运动姿态为目标对象处于第一运动状态时的运动姿态;
显示与目标对象的第一运动姿态匹配的运动画面。
处理器1001还用于执行下述步骤:
创建目标模型,其中,目标模型包括多个关节,每个关节对应于一个第一部件和第二部件,第一部件为可在运动画面中显现的且受第三部件影响的部件,第二部件为不可在运动画面中显现且用于影响第四部件的部件,第三部件与第一部件、第二部件以及第四部件不同,第四部件为非刚体;
为第一部件配置多个控制器,其中,多个控制器中的每个控制器对应于多个运动状态中的一个,多个控制器中任意两个控制器对应的运动状态不同。
采用本申请实施例,提供了一种“获取目标对象的第一配置信息,其中,第一配置信息与目标对象的第一运动状态匹配,目标对象为虚拟场景中的可移动对象;根据第一配置信息对目标模型的物理属性进行配置,其中,目标模型用于在虚拟场景中渲染出目标对象;利用配置后的目标模型在物理引擎中模拟出目标对象的第一运动姿态,其中,第一运动姿态为目标对象处于第一运动状态时的运动姿态;显示与目标对象的第一运动姿态匹配的运动画面”的方案。目标对象在虚拟场景中不同的运动状态可能出现不同的物理状态,这些物理状态即通过物理属性控制的,故而可以通过物理属性来调整其在不同运动状态下的物理状态,进而在渲染出来的画面中呈现出与真实世界类似的动画,可以解决了相关技术中游戏动画的准确度较低的技术问题,进而达到提高游戏动画的准确度的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行画面的显示方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取目标对象的第一配置信息,其中,第一配置信息与目标对象的第一运动状态匹配,目标对象为虚拟场景中的可移动对象;
根据第一配置信息对目标模型的物理属性进行配置,其中,目标模型用于在虚拟场景中渲染出目标对象;
利用配置后的目标模型在物理引擎中模拟出目标对象的第一运动姿态,其中,第一运动姿态为目标对象处于第一运动状态时的运动姿态;
显示与目标对象的第一运动姿态匹配的运动画面。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
创建目标模型,其中,目标模型包括多个关节,每个关节对应于一个第一部件和第二部件,第一部件为可在运动画面中显现的且受第三部件影响的部件,第二部件为不可在运动画面中显现且用于影响第四部件的部件,第三部件与第一部件、第二部件以及第四部件不同,第四部件为非刚体;
为第一部件配置多个控制器,其中,多个控制器中的每个控制器对应于多个运动状态中的一个,多个控制器中任意两个控制器对应的运动状态不同。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
本发明实施例还包括在下列编号条款中规定的这些和其他方面:
1.一种画面的显示方法,其中,包括:
获取目标对象的第一配置信息,其中,所述第一配置信息与所述目标对象的第一运动状态匹配,所述目标对象为虚拟场景中的可移动对象;
根据所述第一配置信息对目标模型的物理属性进行配置,其中,所述目标模型用于在所述虚拟场景中渲染出所述目标对象;
利用配置后的所述目标模型在物理引擎中模拟出所述目标对象的第一运动姿态,其中,所述第一运动姿态为所述目标对象处于所述第一运动状态时的运动姿态;
显示与所述目标对象的第一运动姿态匹配的运动画面。
2.根据条款1所述的方法,其中,获取目标对象的第一配置信息包括:
获取多个控制器,其中,所述多个控制器中的每个控制器是对多个配置信息中的一个配置信息进行封装得到的,所述多个配置信息中的每个配置信息与一个运动状态匹配,任意两个配置信息所匹配的运动状态不同;
按照所述第一运动状态从所述多个控制器中查找到第一控制器,其中,所述第一控制器是对所述第一配置信息进行封装得到的。
3.根据条款2所述的方法,其中,在获取多个控制器之前,所述方法还包括按照如下方式创建所述多个控制器中的每个控制器:
获取用于表示多个运动状态中目标运动状态的物理属性的属性值,其中,所述目标运动状态与所述多个控制器中待创建的目标控制器匹配;
将获取到的物理属性的属性值作为目标配置信息封装成所述目标控制器,其中,所述多个配置信息包括所述目标配置信息。
4.根据条款1所述的方法,其中,在显示与所述目标对象的第一运动姿态匹配的运动画面之后,所述方法还包括:
在所述目标对象的运动状态从所述第一运动状态变化为第二运动状态的情况下,获取与所述第二运动状态匹配的第二配置信息;
根据所述第二配置信息对所述目标模型的物理属性进行配置;
利用配置后的所述目标模型在所述物理引擎中模拟出所述目标对象的第二运动姿态,其中,所述第二运动姿态为所述目标对象处于所述第二运动状态时的运动姿态;
显示与所述目标对象的第二运动姿态匹配的运动画面。
5.根据条款1所述的方法,其中,在获取目标对象的第一配置信息之前,所述方法还包括:
创建多个动画集合,其中,所述多个动画集合中的每个动画集合对应于多个运动状态中的一个,所述多个动画集合中的任意两个动画集合对应的运动状态不同,每个动画集合中的一个动画对应于相应运动状态下的一个姿态。
6.根据条款5所述的方法,其中,显示与所述目标对象的第一运动姿态匹配的运动画面包括:
从所述多个动画集合中查找与所述第一运动状态匹配的第一动画集合;
在所述第一动画集合中查找与所述第一运动姿态匹配的动画,并显示基于与所述第一运动姿态匹配的动画生成的所述运动画面。
7.根据条款1至6中任意一项所述的方法,其中,在获取目标对象的第一配置信息之前,所述方法还包括:
创建所述目标模型,其中,所述目标模型包括多个关节,每个关节对应于一个第一部件和第二部件,所述第一部件为可在所述运动画面中显现的且受第三部件影响的部件,所述第二部件为不可在所述运动画面中显现且用于影响第四部件的部件,所述第三部件与所述第一部件、所述第二部件以及所述第四部件不同,所述第四部件为非刚体;
为所述第一部件配置多个控制器,其中,所述多个控制器中的每个控制器对应于多个运动状态中的一个,所述多个控制器中任意两个控制器对应的运动状态不同。
8.根据条款7所述的方法,其中,在根据所述第一配置信息对目标模型的物理属性进行配置之后,所述方法还包括:
在所述第一部件的刚体属性从刚体变化为所述第一配置信息所配置的非刚体的情况下,按照如下方式生成用于表示所述第一部件发生姿态变化的动画,
发生姿态变化过程中的位置为pos=(1-α)*poslast+α*posanim,发生姿态变化过程中的旋转角度为
Figure BDA0002476864440000241
其中,poslast为切换控制器前所述第一部件的位置,posanim根据所述第二部件计算出来的所述第一部件的位置,α为取值位于0和1之间的系数,rotlast为切换控制器前所述第一部件的旋转角度,rotanim为根据所述第二部件计算出来所述第一部件的旋转角度,θ为rotlast和rotanim的夹角。
9.一种画面的显示装置,其中,包括:
第一获取单元,用于获取目标对象的第一配置信息,其中,所述第一配置信息与所述目标对象的第一运动状态匹配,所述目标对象为虚拟场景中的可移动对象;
第一配置单元,用于根据所述第一配置信息对目标模型的物理属性进行配置,其中,所述目标模型用于在所述虚拟场景中渲染出所述目标对象;
模拟单元,用于利用配置后的所述目标模型在物理引擎中模拟出所述目标对象的第一运动姿态,其中,所述第一运动姿态为所述目标对象处于所述第一运动状态时的运动姿态;
显示单元,用于显示与所述目标对象的第一运动姿态匹配的运动画面。
10.根据条款9所述的装置,其中,所述第一获取单元包括:
获取模块,用于获取多个控制器,其中,所述多个控制器中的每个控制器是对多个配置信息中的一个配置信息进行封装得到的,所述多个配置信息中的每个配置信息与一个运动状态匹配,任意两个配置信息所匹配的运动状态不同;
第一查找模块,用于按照所述第一运动状态从所述多个控制器中查找到第一控制器,其中,所述第一控制器是对所述第一配置信息进行封装得到的。
11.根据条款10所述的装置,其中,所述装置还包括:
第二获取单元,用于在获取多个控制器之前,获取用于表示多个运动状态中目标运动状态的物理属性的属性值,其中,所述目标运动状态与所述多个控制器中待创建的目标控制器匹配;
封装单元,用于将获取到的物理属性的属性值作为目标配置信息封装成所述目标控制器,其中,所述多个配置信息包括所述目标配置信息。
12.根据条款9所述的装置,其中,
所述第一获取单元,还用于在显示与所述目标对象的第一运动姿态匹配的运动画面之后,在所述目标对象的运动状态从所述第一运动状态变化为第二运动状态的情况下,获取与所述第二运动状态匹配的第二配置信息;
所述第一配置单元,还用于根据所述第二配置信息对所述目标模型的物理属性进行配置;
所述模拟单元,还用于利用配置后的所述目标模型在所述物理引擎中模拟出所述目标对象的第二运动姿态,其中,所述第二运动姿态为所述目标对象处于所述第二运动状态时的运动姿态;
所述显示单元,还用于显示与所述目标对象的第二运动姿态匹配的运动画面。
13.根据条款9所述的装置,其中,所述装置还包括:
第一创建单元,用于在获取目标对象的第一配置信息之前,创建多个动画集合,其中,所述多个动画集合中的每个动画集合对应于多个运动状态中的一个,所述多个动画集合中的任意两个动画集合对应的运动状态不同,每个动画集合中的一个动画对应于相应运动状态下的一个姿态。
14.根据条款13所述的装置,其中,所述显示单元包括:
第二查找模块,用于从多个动画集合中查找与所述第一运动状态匹配的第一动画集合;
显示模块,用于在所述第一动画集合中查找与所述第一运动姿态匹配的动画,并显示基于与所述第一运动姿态匹配的动画生成的所述运动画面。
15.根据条款9至14中任意一项所述的装置,其中,所述装置还包括:
第二创建单元,用于在获取目标对象的第一配置信息之前,创建所述目标模型,其中,所述目标模型包括多个关节,每个关节对应于一个第一部件和第二部件,所述第一部件为可在所述运动画面中显现的且受第三部件影响的部件,所述第二部件为不可在所述运动画面中显现且用于影响第四部件的部件,所述第三部件与所述第一部件、所述第二部件以及所述第四部件不同,所述第四部件为非刚体;
第二配置单元,用于为所述第一部件配置多个控制器,其中,所述多个控制器中的每个控制器对应于多个运动状态中的一个,所述多个控制器中任意两个控制器对应的运动状态不同。
16.根据条款15所述的装置,其中,所述装置还包括:
生成单元,用于在根据所述第一配置信息对目标模型的物理属性进行配置之后,在所述第一部件的刚体属性从刚体变化为所述第一配置信息所配置的非刚体的情况下,生成用于表示所述第一部件发生姿态变化的动画,
发生姿态变化过程中的位置为pos=(1-α)*poslast+α*posanim,发生姿态变化过程中的旋转角度为
Figure BDA0002476864440000271
其中,poslast为切换控制器前所述第一部件的位置,posanim为根据所述第二部件计算出来的所述第一部件的位置,α为取值位于0和1之间的系数,rotlast为切换控制器前所述第一部件的旋转角度,rotanim为根据所述第二部件计算出来所述第一部件的旋转角度,θ为rotlast和rotanim的夹角。
17.一种存储介质,其中,所述存储介质包括存储的程序,其中,所述程序运行时执行上述条款1至8任一项中所述的方法。
18.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器通过所述计算机程序执行上述条款1至8任一项中所述的方法。

Claims (10)

1.一种画面的显示方法,其特征在于,包括:
获取目标对象的第一配置信息,其中,所述第一配置信息与所述目标对象的第一运动状态匹配,所述目标对象为虚拟场景中的可移动对象;
根据所述第一配置信息对目标模型的物理属性进行配置,其中,所述目标模型用于在所述虚拟场景中渲染出所述目标对象;
利用配置后的所述目标模型在物理引擎中模拟出所述目标对象的第一运动姿态,其中,所述第一运动姿态为所述目标对象处于所述第一运动状态时的运动姿态;
显示与所述目标对象的第一运动姿态匹配的运动画面。
2.根据权利要求1所述的方法,其特征在于,获取目标对象的第一配置信息包括:
获取多个控制器,其中,所述多个控制器中的每个控制器是对多个配置信息中的一个配置信息进行封装得到的,所述多个配置信息中的每个配置信息与一个运动状态匹配,任意两个配置信息所匹配的运动状态不同;
按照所述第一运动状态从所述多个控制器中查找到第一控制器,其中,所述第一控制器是对所述第一配置信息进行封装得到的。
3.根据权利要求2所述的方法,其特征在于,在获取多个控制器之前,所述方法还包括按照如下方式创建所述多个控制器中的每个控制器:
获取用于表示多个运动状态中目标运动状态的物理属性的属性值,其中,所述目标运动状态与所述多个控制器中待创建的目标控制器匹配;
将获取到的物理属性的属性值作为目标配置信息封装成所述目标控制器,其中,所述多个配置信息包括所述目标配置信息。
4.根据权利要求1所述的方法,其特征在于,在显示与所述目标对象的第一运动姿态匹配的运动画面之后,所述方法还包括:
在所述目标对象的运动状态从所述第一运动状态变化为第二运动状态的情况下,获取与所述第二运动状态匹配的第二配置信息;
根据所述第二配置信息对所述目标模型的物理属性进行配置;
利用配置后的所述目标模型在所述物理引擎中模拟出所述目标对象的第二运动姿态,其中,所述第二运动姿态为所述目标对象处于所述第二运动状态时的运动姿态;
显示与所述目标对象的第二运动姿态匹配的运动画面。
5.根据权利要求1所述的方法,其特征在于,在获取目标对象的第一配置信息之前,所述方法还包括:
创建多个动画集合,其中,所述多个动画集合中的每个动画集合对应于多个运动状态中的一个,所述多个动画集合中的任意两个动画集合对应的运动状态不同,每个动画集合中的一个动画对应于相应运动状态下的一个姿态。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,在获取目标对象的第一配置信息之前,所述方法还包括:
创建所述目标模型,其中,所述目标模型包括多个关节,每个关节对应于一个第一部件和第二部件,所述第一部件为可在所述运动画面中显现的且受第三部件影响的部件,所述第二部件为不可在所述运动画面中显现且用于影响第四部件的部件,所述第三部件与所述第一部件、所述第二部件以及所述第四部件不同,所述第四部件为非刚体;
为所述第一部件配置多个控制器,其中,所述多个控制器中的每个控制器对应于多个运动状态中的一个,所述多个控制器中任意两个控制器对应的运动状态不同。
7.根据权利要求6所述的方法,其特征在于,在根据所述第一配置信息对目标模型的物理属性进行配置之后,所述方法还包括:
在所述第一部件的刚体属性从刚体变化为所述第一配置信息所配置的非刚体的情况下,按照如下方式生成用于表示所述第一部件发生姿态变化的动画,
发生姿态变化过程中的位置为pos=(1-α)*poslast+α*posanim,发生姿态变化过程中的旋转角度为
Figure FDA0002476864430000031
其中,poslast为切换控制器前所述第一部件的位置,posanim根据所述第二部件计算出来的所述第一部件的位置,α为取值位于0和1之间的系数,rotlast为切换控制器前所述第一部件的旋转角度,rotanim为根据所述第二部件计算出来所述第一部件的旋转角度,θ为rotlast和rotanim的夹角。
8.一种画面的显示装置,其特征在于,包括:
第一获取单元,用于获取目标对象的第一配置信息,其中,所述第一配置信息与所述目标对象的第一运动状态匹配,所述目标对象为虚拟场景中的可移动对象;
第一配置单元,用于根据所述第一配置信息对目标模型的物理属性进行配置,其中,所述目标模型用于在所述虚拟场景中渲染出所述目标对象;
模拟单元,用于利用配置后的所述目标模型在物理引擎中模拟出所述目标对象的第一运动姿态,其中,所述第一运动姿态为所述目标对象处于所述第一运动状态时的运动姿态;
显示单元,用于显示与所述目标对象的第一运动姿态匹配的运动画面。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
CN202010367099.4A 2020-04-30 2020-04-30 画面的显示方法和装置、存储介质、电子装置 Active CN111714880B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010367099.4A CN111714880B (zh) 2020-04-30 2020-04-30 画面的显示方法和装置、存储介质、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010367099.4A CN111714880B (zh) 2020-04-30 2020-04-30 画面的显示方法和装置、存储介质、电子装置

Publications (2)

Publication Number Publication Date
CN111714880A true CN111714880A (zh) 2020-09-29
CN111714880B CN111714880B (zh) 2023-10-20

Family

ID=72563674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010367099.4A Active CN111714880B (zh) 2020-04-30 2020-04-30 画面的显示方法和装置、存储介质、电子装置

Country Status (1)

Country Link
CN (1) CN111714880B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112316422A (zh) * 2020-11-27 2021-02-05 上海米哈游天命科技有限公司 服饰变化方法、装置、电子设备和存储介质
CN112689190A (zh) * 2021-03-22 2021-04-20 游艺星际(北京)科技有限公司 弹幕显示方法、装置、终端及存储介质
CN113379876A (zh) * 2021-06-07 2021-09-10 腾讯科技(上海)有限公司 动画数据处理方法、装置、计算机设备和存储介质
CN113470151A (zh) * 2021-04-06 2021-10-01 成都完美时空网络技术有限公司 一种动画状态机的实现方法和装置
CN113827959A (zh) * 2021-08-27 2021-12-24 网易(杭州)网络有限公司 游戏动画的处理方法、装置及电子装置
WO2022166456A1 (zh) * 2021-02-05 2022-08-11 华为技术有限公司 一种界面中对象的动画生成方法、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317130B1 (en) * 1996-10-31 2001-11-13 Konami Co., Ltd. Apparatus and method for generating skeleton-based dynamic picture images as well as medium storing therein program for generation of such picture images
US20030043154A1 (en) * 2001-08-23 2003-03-06 Namco Ltd Image generation method, program, and information storage medium
CN102214365A (zh) * 2011-07-11 2011-10-12 中国人民解放军海军航空工程学院 基于骨骼动画原理的通用虚拟人仿真技术
CN108815848A (zh) * 2018-05-31 2018-11-16 腾讯科技(深圳)有限公司 虚拟对象显示方法、装置、电子装置及存储介质
CN110102050A (zh) * 2019-04-30 2019-08-09 腾讯科技(深圳)有限公司 虚拟对象显示方法、装置、电子设备及存储介质
US10497163B1 (en) * 2017-05-16 2019-12-03 Electronic Arts Inc. Computer architecture for animation of a character in a simulation based on muscle activation data
US10535174B1 (en) * 2017-09-14 2020-01-14 Electronic Arts Inc. Particle-based inverse kinematic rendering system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317130B1 (en) * 1996-10-31 2001-11-13 Konami Co., Ltd. Apparatus and method for generating skeleton-based dynamic picture images as well as medium storing therein program for generation of such picture images
US20030043154A1 (en) * 2001-08-23 2003-03-06 Namco Ltd Image generation method, program, and information storage medium
CN102214365A (zh) * 2011-07-11 2011-10-12 中国人民解放军海军航空工程学院 基于骨骼动画原理的通用虚拟人仿真技术
US10497163B1 (en) * 2017-05-16 2019-12-03 Electronic Arts Inc. Computer architecture for animation of a character in a simulation based on muscle activation data
US10535174B1 (en) * 2017-09-14 2020-01-14 Electronic Arts Inc. Particle-based inverse kinematic rendering system
CN108815848A (zh) * 2018-05-31 2018-11-16 腾讯科技(深圳)有限公司 虚拟对象显示方法、装置、电子装置及存储介质
CN110102050A (zh) * 2019-04-30 2019-08-09 腾讯科技(深圳)有限公司 虚拟对象显示方法、装置、电子设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112316422A (zh) * 2020-11-27 2021-02-05 上海米哈游天命科技有限公司 服饰变化方法、装置、电子设备和存储介质
WO2022166456A1 (zh) * 2021-02-05 2022-08-11 华为技术有限公司 一种界面中对象的动画生成方法、电子设备及存储介质
CN112689190A (zh) * 2021-03-22 2021-04-20 游艺星际(北京)科技有限公司 弹幕显示方法、装置、终端及存储介质
CN113470151A (zh) * 2021-04-06 2021-10-01 成都完美时空网络技术有限公司 一种动画状态机的实现方法和装置
CN113470151B (zh) * 2021-04-06 2024-03-22 成都完美时空网络技术有限公司 一种动画状态机的实现方法和装置
CN113379876A (zh) * 2021-06-07 2021-09-10 腾讯科技(上海)有限公司 动画数据处理方法、装置、计算机设备和存储介质
CN113379876B (zh) * 2021-06-07 2023-09-01 腾讯科技(上海)有限公司 动画数据处理方法、装置、计算机设备和存储介质
CN113827959A (zh) * 2021-08-27 2021-12-24 网易(杭州)网络有限公司 游戏动画的处理方法、装置及电子装置

Also Published As

Publication number Publication date
CN111714880B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN111714880B (zh) 画面的显示方法和装置、存储介质、电子装置
WO2022021686A1 (zh) 虚拟对象的控制方法及装置、存储介质、电子装置
CN111659115B (zh) 虚拟角色控制方法、装置、计算机设备和存储介质
US20140078144A1 (en) Systems and methods for avatar creation
US9208613B2 (en) Action modeling device, method, and program
US11238667B2 (en) Modification of animated characters
US11816772B2 (en) System for customizing in-game character animations by players
CN111773686A (zh) 动画的生成方法和装置、存储介质、电子装置
US20170221251A1 (en) Animating a virtual object in a virtual world
US20230177755A1 (en) Predicting facial expressions using character motion states
CN111968204B (zh) 一种骨骼模型的运动展示方法和装置
US20180144531A1 (en) Animating a virtual object in a virtual world
US10410393B2 (en) Animating a virtual object in a virtual world
CN114797108A (zh) 游戏角色模型渲染方法、装置、电子设备和存储介质
US20230298297A1 (en) Layered clothing that conforms to an underlying body and/or clothing layer
CN115526967A (zh) 虚拟模型的动画生成方法、装置、计算机设备及存储介质
JP2024518913A (ja) 主制御対象の投影生成方法、装置、コンピュータ機器及びコンピュータプログラム
KR20240055025A (ko) 실용 3d 에셋을 위한 추론된 골격 구조
CN112843704B (zh) 动画模型处理方法、装置、设备及存储介质
CN114882153A (zh) 一种动画生成的方法及装置
CN108198234B (zh) 可实时互动的虚拟角色生成系统及方法
CN118160008A (zh) 实用3d资产的推断的骨骼结构
Rajendran Understanding the Desired Approach for Animating Procedurally
JP2001104634A (ja) ゲーム機
CN116385605A (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200929

Assignee: Beijing Xuanguang Technology Co.,Ltd.

Assignor: Perfect world (Beijing) software technology development Co.,Ltd.

Contract record no.: X2022990000514

Denomination of invention: Screen display method and device, storage medium, and electronic device

License type: Exclusive License

Record date: 20220817

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant