CN111744195A - 模型控制方法和装置、存储介质和电子装置 - Google Patents
模型控制方法和装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN111744195A CN111744195A CN202010531650.4A CN202010531650A CN111744195A CN 111744195 A CN111744195 A CN 111744195A CN 202010531650 A CN202010531650 A CN 202010531650A CN 111744195 A CN111744195 A CN 111744195A
- Authority
- CN
- China
- Prior art keywords
- object model
- state
- animation
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 168
- 230000033001 locomotion Effects 0.000 claims abstract description 245
- 238000006073 displacement reaction Methods 0.000 claims description 52
- 230000037237 body shape Effects 0.000 claims description 30
- 230000008859 change Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 238000001514 detection method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 238000004088 simulation Methods 0.000 abstract description 17
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 46
- 241001465754 Metazoa Species 0.000 description 39
- 230000006399 behavior Effects 0.000 description 38
- 230000009471 action Effects 0.000 description 37
- 230000014509 gene expression Effects 0.000 description 23
- 210000000988 bone and bone Anatomy 0.000 description 20
- 230000036544 posture Effects 0.000 description 19
- 230000001360 synchronised effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000003542 behavioural effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000019771 cognition Effects 0.000 description 5
- 238000001816 cooling Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 241000282461 Canis lupus Species 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 210000003414 extremity Anatomy 0.000 description 2
- 210000000610 foot bone Anatomy 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 210000000689 upper leg Anatomy 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010171 animal model Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000028838 turning behavior Effects 0.000 description 1
- 230000016776 visual perception Effects 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/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种模型控制方法和装置、存储介质和电子装置。其中,该方法包括:确定虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;获取与所述第一状态对应的第一动画和移动轨迹信息,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹;在播放所述第一动画的同时,按照所述移动轨迹信息控制所述第一对象模型进行移动。本申请解决了相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种模型控制方法和装置、存储介质和电子装置。
背景技术
在一些场景中,可以模拟特定对象在各种状态下的行为状态。例如,在虚拟场景中,可以模拟多足动物(例如,四足动物)在战斗过程中的表现,以符合动物的行为认知,上述多足动物可以是虚拟场景中非玩家控制的NPC(Non-Player Character,非玩家角色),例如,怪物等。
对于大世界即时制战斗游戏,通常不太注重战斗过程的表现,尤其是对于四足动物的战斗表现,使得四足动物的战斗表现并不符合对动物的行为认知。
对于副本制服务器战斗游戏,在战斗表现上通常会强于大世界即时制游戏。此类游戏增强了每个单位在战斗中的受击表现,但战斗表现相对简单,仅对当前所处状态起到提示作用。
可见,相关技术中的对象模型(例如,虚拟场景中的四足动物)控制方式,存在由于表现方式过于简单导致的对象拟真程度低的问题。
发明内容
本申请实施例提供了一种模型控制方法和装置、存储介质和电子装置,以至少解决相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题。
根据本申请实施例的一个方面,提供了一种模型控制方法,包括:确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
根据本申请实施例的另一个方面,提供了一种模型控制方法,包括:检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
根据本申请实施例的又一个方面,提供了一种模型控制装置,包括:第一确定单元,用于确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;第一获取单元,用于获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;第一控制单元,用于在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
根据本申请实施例的又一个方面,提供了一种模型控制装置,包括:检测单元,用于检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;第一生成单元,用于生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;第一发送单元,用于向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
根据本申请实施例的又一个方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请实施例的又一个方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在本申请实施例中,采用在播放动作的同时实时处理位置的变化的方式,确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,由于在对象模型由于被操作而进入到第一状态时(例如,受击状态),同时获取对应的动画(例如,受击动画)和移动轨迹,可以实现在播放动画的同时控制对象移动的目的,避免了由于直接对模型进行位置拖拽导致的表现不真实,达到了提升对象拟真程度的技术效果,进而解决了相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的模型控制方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的模型控制方法的流程示意图;
图3是根据本申请实施例的另一种可选的模型控制方法的流程示意图;
图4是根据本申请实施例的一种可选的模型控制装置的示意图;
图5是根据本申请实施例的另一种可选的模型控制装置的示意图;
图6是根据本申请实施例的一种电子装置的结构框图;
图7是根据本申请实施例的另一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种模型控制方法的方法实施例。可选地,在本实施例中,上述模型控制方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器102通过网络与终端101连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的模型控制方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的模型控制方法也可以是由安装在其上的客户端来执行。
可选地,本申请实施例中提供了一种模型控制方法,该模型控制方法可以应用于图1中所示的终端101或者类似的设备上,图2是根据本申请实施例的一种可选的模型控制方法的流程示意图,如图2所示,该方法可以包括以下步骤:
步骤S202,确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
步骤S204,获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;
步骤S206,在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
通过上述步骤S202至步骤S206,通过确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,解决了相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题,提升了对象拟真程度。
在步骤S202提供的技术方案中,确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态。
在虚拟场景中,例如,游戏场景,通常会包含多个对象,多个对象模型之间可以通过相互操作,例如,技能攻击,撞击等,以实现虚拟场景中不同对象之间的互动。上述对象可以是人形对象,也可以是非人形对象,可以是玩家对象,也可以是非玩家对象,例如,NPC(Non-Player Character,非玩家角色)。
需要说明的是,本实施例中以虚拟场景为游戏场景、对象模型为非玩家操控的NPC(以四足动物为例)、操作为攻击操作或者受击操作为例说明所提供的模型控制方法,对于游戏场景中的其他对象,其他虚拟场景中的对象、甚至是非虚拟场景中的对象,以及,对于除了战斗中的攻击或者受击以外的其他操作,均可以采用本实施例中所提供的模型控制方法或者类似的模型控制方法进行控制。
本实施例中对象模型的表现可以是战斗过程中的表现,也就是,对象模型处于战斗状态的情况下的表现。对于一些游戏,如,MMORPG(MassiveMultiplayer Online Role-PlayingGame,大型多人在线角色扮演游戏),在游戏场景中的对象战斗过程中,四足动物会作为敌方或者友方阵营单位参与战斗,或与玩家互相攻击,或帮助玩家一同攻击敌对阵营的单位。
上述战斗状态可以是指:对象模型由于攻击其他的对象模型或者被其他的对象模型攻击而在一段时间内处于部分操作被限制的状态,例如,部分药物道具不可使用,部分技能不可使用,无法执行回城操作或者下线操作等。不同的游戏中,其对于战斗状态的限制(例如,持续时间等)可以存在区别。
MMORPG可以使用状态同步规则,由服务器运算模型的状态和位置信息的变化,并通知客户端该状态需要播放的动作以及移动坐标,客户端收到消息后,再对模型处理相应的表现。由于运算方式放在了服务器端,客户端处更多的仅为表现较为合理的过程,而无法注重细节的表现。
终端设备上可以运行有MMORPG的客户端,在该客户端上显示有游戏场景,以及游戏场景中存在的各种对象,例如,玩家对象,非玩家对象(四足动物等),场景道具等。
对于客户端,在战斗过程中,当四足动物受到攻击时,如自身受到攻击,并不会播放与攻击方式相匹配的受击动作,即使会播放受击动作,部分攻击也会导致自身的模型位置直接造成位移并不带有任何与位移相关的动作表现。上述战斗表现方式,四足动物的受击反馈弱,通常为反复播放相同的受击动作。当表现四足动物受到一个较重的受击时,通常直接对模型进行位置拖拽,却没有任何表现位移的动作,表现不真实。
游戏场景中可以包含多个对象模型,例如,多个四足动物,对于其中的第一对象模型,可以确定该第一对象模型进入到第一状态,该第一状态为第一对象模型被第二对象模型操作所进入的状态,例如,该第一状态为第一对象模型由于被第二对象模型操作而产生较大位移(例如,移动距离超过预设的距离阈值)而进入到的状态。
第二对象模型可以对第一对象模型进行攻击,上述攻击可以是一种较重的攻击,例如,使得第一对象模型发生较大位移的攻击。第二对象模型可以是玩家模型,也可以是非玩家模型,例如,NPC,进行的攻击可以是技能攻击,撞击等等。第一对象模型在被第二对象模型攻击时,可以进入到第一状态,该第一状态可以是受击状态。
在步骤S204提供的技术方案中,获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
在MMORPG中看到的模型动画,如走路动画,通常不包含运动轨迹,只是在原地播放移动表现。而在游戏中,是通过一边播放动画,一边赋予模型速度的方式进行匀速移动,无法配合动作表现速度时快时慢。
为提高对象模型的受击表现,可以使用根运动动画(ROOT MOTION)进行四足动物受到较重攻击时的受击表现。根运动动画不仅包含表现,也包含动画实际的位移。这样可以直接针对动作的表现,反馈一个真实的位移表现。
例如,Unity3D中将动画中的变化分为两类:Body Transform和RootTransform,其中,Body Transform主要是用于处理模型自身的动画表演,Root Transform是用于处理模型在平面上的移动轨迹。根运动动画就是在游戏运行时同时处理Body Transform和RootTransform的运算,模型在播放动作的同时实时处理位置的变化,使其开始移动。
第一对象模型可以启用根运动动画的动作资源,启用根运动动画的动作资源是指:当需要真实移动表现时,对于这一类动作,使用根运动动画的制作方式,在资源文件上制作移动轨迹。游戏工程中判断资源文件中有移动轨迹时,则判定该资源启用了根运动动画。
每个启用根运动动画的资源本身是有动画时长的,对于第一对象模型,该第一对象模型与该第一状态对应的受击动画的动画时长为第一时长,且在该第一时长内的移动轨迹通过移动轨迹信息指示,该移动轨迹信息可以是预先保存的,也可以是实时计算的。
在确定第一对象模型进入到第一状态之后,客户端可以获取与第一状态对应的第一动画和移动轨迹信息,例如,通过调取该第一对象模型的动作资源,获取该第一动画和移动轨迹信息,由于包含了移动轨迹,则可以判断该资源启动了根运动动画。
需要说明的是,对于不同的攻击,在其强度超过强度阈值时,其对应的受击动画以及动画时长可以是相同的,也可以是不同的。例如,不同的攻击可以控制第一对象模型进入到不同的攻击状态,不同的攻击状态可以对应于不同的受击动画、不同的动画时长和不同的运动轨迹,具体的对应方式可以根据需要设定,本实施例中对此不作限定。
在步骤S206提供的技术方案中,在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
在获取到第一动画和移动轨迹信息之后,客户端可以在进入第一状态后的第一时长内播放该第一动画,播放该第一动画的方式可以是控制该第一对象模型执行对应的受击动作。在播放第一动画的同时,客户端可以按照移动轨迹信息控制第一对象模型进行移动。
上述移动轨迹信息所指示的移动轨迹可以包含在不同时间点或者位置点的速度,以在控制第一对象模型进行移动时,可以配合动作表现速度时快时慢,例如,先快后慢,以模拟实际受到攻击时由于地面阻力等导致的速度下降。
作为一种可选的实施例,确定虚拟场景中的第一对象模型进入到第一状态包括:
S11,接收服务器发送的状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;
S12,根据状态指示信息,确定第一对象模型进入到第一状态。
第一状态可以是客户端根据第一对象模型的操作或者其他对象模型对第一对象模型所执行的操作确定的,也可以是客户端根据服务器发送的状态指示信息确定的,该状态指示信息用于指示第一对象模型进入到第一状态,例如,受击状态。
可选地,在本实施例中,客户端可以接收服务器发送的状态指示信息,该状态指示信息用于指示第一对象模型进入到第一状态。客户端在接收到该状态指示信息之后,确定出第一对象模型进入到第一状态。
状态指示信息中可以包含第一对象模型的对象标识、以及该第一状态的状态标识,以便客户端可以根据该对象标识和该状态标识确定哪个对象模型进入到哪个状态。
如果同时进入到第一状态的对象模型有多个,不同对象模型的第一状态可以是通过相同状态指示信息指示的,也可以是通过不同状态指示信息指示的。第一状态的指示方式可以根据需要进行设定,本实施例中对此不作限定。
通过本实施例,根据服务器发送的状态指示信息确定进入到第一状态的对象模型,可以保证多个客户端之间的对象状态显示同步。
作为一种可选的实施例,在按照移动轨迹信息控制第一对象模型进行移动的过程中,上述方法还包括:
S21,接收服务器发送的移动指示信息,其中,移动指示信息用于指示第一对象模型在第一时长内的每个单位时间点的位移变化;
S22,使用移动指示信息调整移动轨迹信息,得到调整后的移动轨迹信息;
S23,按照调整后的移动轨迹信息控制第一对象模型进行移动。
每个启用根运动动画的资源本身是有动画时长的,以资源时长除以单位时长,计算该动作拥有几个单位时间。为了保证各个客户端之间的显示同步,需要尽量保证客户端和服务器对于每个单位时间点的结果是一致的,上述单位时间点可以是每个单位时间的结束时刻。
由于受到网络抖动或者客户端性能原因的影响而造成卡顿、或者其他问题,客户端与服务器之间的位置可能并不同步。本实施例中所提供的是一种服务器运算下基于状态同步规则的真实位移表现,以服务器的位置结果为标准,客户端会以加快位移的方式将模型尽快同步至正确状态,使多玩家状态下,模型的位置表现是一致的。
服务器可以向客户端发送移动指示信息,该移动指示信息用于指示第一对象模型在第一时长内的每个单位时间点的位移变化。客户端可以接收服务器发送的移动指示信息,根据该移动指示信息调整移动轨迹信息,例如,调整第一对象模型的位置、位移速度等,得到调整后的移动轨迹信息。
对于客户端来说,可以直接使用动画资源里的移动轨迹,只在每个单位时间点上,与服务器同步状态信息,来修正模型最后正确的位置。例如,在得到调整后的移动轨迹信息之后,可以使用调整后的移动轨迹信息控制第一对象模型进行移动。
需要说明的是,服务器可以同时发送状态指示信息和移动指示信息,即,两者携带在相同的消息进行发送,也可以分别发送状态指示信息和移动指示信息,即,先发送状态指示信息,指示客户端第一对象模型进入到第一状态,再发送移动指示信息,指示在第一时长内的每个单位时间点的位移变化,上述位移变化可以是相对于上一个时间点的位移变化。此外,服务器也可以通过相同或者不同的消息发送不同单位时间点的移动指示信息。上述信息的发送方式可以根据需要进行设定,本实施例中对此不作限定。
通过本实施例,通过移动指示信息来修正模型的移动轨迹,可以在保证客户端与服务器同步的基础上,较少对于网络传输资源的占用。
作为一种可选的实施例,使用移动指示信息调整移动轨迹信息,得到调整后的移动轨迹信息包括:
S31,确定第一对象模型在每个单位时间点的参考位置信息和参考旋转信息,其中,移动指示信息包括参考位置信息和参考旋转信息;
S32,按照参考位置信息和参考旋转信息调整第一对象模型的位移参数,得到调整后的移动轨迹信息,其中,位移参数包括以下至少之一:移动速度,旋转角度。
通过移动指示信息所同步的状态信息可以是距离上一个单位时间点坐标偏移和自身的旋转角度。对于启用根运动动画的模型动作资源,输出以单位时间(例如,100毫秒)的精确位移变化,其中,包含位移和旋转两个参数信息。
当模型需要处理根运动动画时,服务器会根据受到的伤害方式来计算应该使用哪种受击的动作,当判断受伤的动作反馈应使用根运动动画资源时,服务器可以通知客户端进入到对应的受击状态,还可以通知客户端该受击状态的时长。
服务器可以计算每个单位时间后模型应处的位置以及旋转状态,并记录每个单位时间点的模型对于上个单位时间点发生的坐标偏移以及自身的旋转,其中,该时间点的位置信息是用于服务器判断每个单位时间结束时,模型的位置以及旋转结果。服务器可以提前将计算的状态信息(例如,距离上一个单位时间点坐标偏移和自身的旋转角度)传输给客户端。提前传输是指:在每个单位时间点到达之前,提前将该时间点的状态信息传输给客户端。
客户端可以直接使用模型该状态下的动画和真实位移,并根据服务器提前传输的状态信息,对每个单位时间点的状态作差值修正,最终将客户端运算的游戏表现水准实现在基于服务器状态同步的MMORPG游戏中。差值修正可以是指以服务器计算的单位时间(例如,100ms)的位置信息,与相同时间点客户端从动画资源中获得轨迹的位置结果来做修正。
通过上述方式,模型可以真实处理每一个位移的细节表现,如,当一个角色因为受到攻击失去重心而产生了位移,会真实的反馈到每一步位移中,使模型根据动作产生真实的速度和位置变化,不会出现传统MMORPG游戏中的模型在移动中出现滑步的表现。
通过本实施例,根据服务器传输的距离上一个单位时间点坐标偏移和自身的旋转角度对移动轨迹进行修正,可以保证模型移动的拟真程度。
客户端可以同时处理多个模型的受击表现,对于基于服务器运算的游戏,所有的模型的状态都是由服务器统一广播给每一个客户端的。当服务器通知每个客户端模型的状态时,客户端的表现可以是基于本地动画资源中的运动轨迹来进行反馈的,由于资源文件每个客户端都是相同的,所以可以在不同客户端下可以同步播放同一个四足动物模型的根运动动画。
作为一种可选的实施例,上述方法还包括:
S41,确定与虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,第一操作用于控制第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,目标角度为第一朝向与第二朝向之间的转向角度;
S42,按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画,以控制第三对象模型由第一朝向转向第二朝向,其中,第二动画为第三对象模型的转向动画。
相关技术中,四足动物在战斗中的受击行为以及转身动作等,基本没有赋予与行为相匹配的表现。尤其四足动物体型较大时,格外明显。如较大体型的动物瞬间完成180度转身,这类表现比较不合认知。可见,上述转身的行为简单,通常没有转身过程,瞬间完成身体的旋转,表现不真实。
例如,在处理对象模型之间的战斗过程时,表现上会以没有转身动作的方式瞬间转向目标,并向目标跑至满足自身攻击距离的位置。满足攻击距离时则原地向目标进行攻击,期间如选择的攻击目标与自己当前的朝向发生偏移时,则会立刻再次用没有任何动作表现的方式进行转身。
为了克服上述问题,在本实施例中,可以对模型进行转身优化,增强四足动物的转身表现,让转身过程合理,符合认知。
在检测到第三对象模型需要执行第一操作时,客户端或者服务器可以确定与该第一操作对应的目标角度。该第一操作可以用于控制第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,该第一操作可以是转身操作,转向操作,或者其他能够触发对象模型进行转向的操作。
第一朝向可以是第三对象模型当前的朝向,第二朝向是与第四对象模型对应的朝向,例如,面向第四对象模型的朝向,又例如,背向第四对象模型的朝向。第一朝向和第二朝向之间的角度,为该第三对象模型需要转向的角度,即目标角度。
对于由服务器确定目标角度的场景,可以由服务器向其控制范围内的各个客户端同步该目标角度,客户端可以接收服务器同步的目标角度,进而确定第三对象模型需要转向的角度。
客户端在确定目标角度之后,可以按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画,该第二动画可以是第三对象模型的转向动画(转身动画),播放第二动画的方式可以是:一边播放第二动画一边控制第三对象模型进行转身,以控制第三对象模型由第一朝向转至第二朝向,从而完成第三对象模型的转身。
通过本实施例,通过根据转身角度控制转身时长以及播放转身动画,可以保证对象模型转身的有序性,从而提高转身操作的拟真程度。
作为一种可选的实施例,按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画包括:
S51,确定目标角度所处的目标角度范围,其中,第三对象模型的不同的转向角度范围对应于不同的参考转向动画和参考转向时长,目标角度范围对应于第二动画和第二时长;
S52,按照第二时长播放第二动画,直到第三对象模型的朝向转至第二朝向。
为还原转身应有的行为表现,在行为表现方面,可以将转身分成了两个类型,一是小角度转身,二是大角度转身。可以对每个动物都增加左右原地旋转90度、以及原地旋转180度的转身动画,并配置了转身角度和动作的关联。除了上述两个转身类型外,还可以将转身分为多于两种类型,其控制的流程与两个类型的控制过程是类似的,在此不做赘述。
当需要处理自身与目标的转向行为时,判断目标与自身所处的角度差值(目标角度范围),根据差值寻找符合的转身动作(第二动画),并同时获取动作的时长(第二时长)。
处理转身过程时,可以按照第二时长播放第二动画,直到第三对象模型的朝向转至第二朝向。可以以符合条件的转身动作时长作为转身状态的时长,以目标的位置为自身旋转的朝向,并在播放动作的过程中,处理向目标朝向角度进行差值旋转,最终表现为在完成动作表演的同时将自身朝向转向最终的目标位置朝向。
例如,转身动画的播放流程可以包括:
步骤1,先判断目标与自身角度关系。
当转身角度范围在左右0-90度之间时,对站立动作和90度转身动作进行融合,当旋转到对应角度后,回到站立动作的表现。
同理,当转身角度范围在左右90-180度之间时,对90度转身动作和180度转身动作进行融合,当旋转到对应角度后,回到站立的表现。
步骤2,再参考最终朝向角度与两个动作的融合关系比例来计算转身需要的时长。
转身的时长可以参考最终朝向角度与两个动作的融合关系比例来进行计算。
如,45度转身时长可以为:1/2站立动作时长+1/2 90度转身时长;30度转身时长为:2/3站立动作时长+1/3 90度转身时长。
需要说明的是,转身时长也可以仅根据转身角度占转身角度所处的转身角度范围的比例进行计算,而无需考虑站立动作时长,例如,45度转身时长可以为:1/2 90度转身时长。
通过本实施例,通过配置不同转身角度范围的转身动画和转身时间,并按照转身时间播放转身动画,直到对象模型的完成转身,可以还原转身应有的行为表现,提高对象转身的拟真程度。
当判断所需旋转角度过小时,则可以不处理旋转过程表演,直接将模型旋转朝向目标位置。
作为一种可选的实施例,在按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画的过程中,上述方法还包括:
S61,控制第三对象模型从第三对象模型所处的第一位置沿着目标方向移动,其中,目标方向为由第一位置靠近第四对象模型所处的第二位置的方向,或者,由第一位置远离第四对象模型所处的第二位置的方向。
除了还原转身应有的行为表现,还可以还原动物应有的应急反馈。动物应急方面,可以增加与目标位置的逻辑判断。在判断目标与动物自身位置朝向的同时,也可以判断与自身的距离关系。依照每一个动物的习性特色,处理为远离或靠近目标的同时完成转身的表现。
靠近的方式可以是参考目标位置的连线方向,并可以有角度的偏移。远离的方向可以是目标位置连线的相反方向,也可以有角度的偏移。
通过本实施例,通过在还原转身的行为表现的同时,还原动物的应急反馈,可以使得对象模型的行为表现符合事物认知,提高对象模型的拟真程度。
作为一种可选的实施例,上述方法还包括:
S71,接收服务器发送的移动指令,其中,移动指令用于指示虚拟场景中的第五对象模型由第五对象模型所处的第三位置移动到第四位置,第四位置为根据虚拟场景中包含的多个对象模型的体型半径确定的位置,以控制在由第三位置移动到第四位置的过程中,第五对象模型的体型范围与多个对象模型中除了第五对象模型以外的其他对象模型的体型范围不重叠;
S72,响应移动指令,控制第五对象模型由第三位置移动到第四位置。
相关技术中,四足动物对目标发起攻击时,通常不做分散站位,在选择对象模型跑向目标的位置时不会考虑与其他单位所选位置是否重合,通常多单位相互有模型穿插的情况出现,上述模型穿帮是指:模型不符合行为认知的表现所形成的视觉感知。为了避免战斗中动物移动后由于站位原因导致模型重叠造成穿帮,可以为每一个模型配置体型半径,由该体型半径确定的空间范围可以完整包含该模型。
对于服务器,在处理移动行为时,服务器会根据每个模型(例如,第五对象模型)体型半径在场上找到一个与其他模型的体型半径不会重叠的位置作为移动的目标点(例如,第四位置),并通过移动指令将目标点、或者目标点以及由当前点(第三位置)至该目标点的移动路径通过移动指令发送给客户端,可以在一定程度上解决因为移动造成的模型穿帮。
对于客户端,在处理移动行为时,客户端可以接收服务器发送的移动指令,并按照该移动指令所指示的目标点、或者目标点以及由当前点至目标点的移动路径,控制对象模型由当前点移动到目标点。
对于多个模型同时移动的场景,服务器在处理多个目标移动时,可以有前后顺序的:当第一个模型判断需要移动时,立刻获得自身的移动落点,此落点在移动前就会判断是否被其他的模型占用,落点包含模型的体型参数;第二个模型判断移动时,会在相同判断逻辑的基础上,加上第一个需要移动的模型占用落点。依此类推,不同模型同时移动最后也可以保持模型不重叠。
需要说明的是,将目标点发送给客户端,可以至少保证在移动目标点之后,对象模型的体型范围与其他对象模型的体型范围不重叠;将目标点和移动路径发送给客户端,可以保证在移动目标点的过程中以及移动到目标点之后,对象模型的体型范围与其他对象模型的体型范围不重叠。此外,客户端也可以根据当前点、目标点、以及虚拟场景中的对象模型的体型范围,确定一条不会与其他对象模型的体型范围不重叠的移动路径。具体的实现过程可以根据需要进行配置,本实施例中对此不作限定。
通过本实施例,通过根据虚拟场景中包含的多个对象模型的体型半径确定对象模型移动的目标点,可以保证不同对象模型之间不重叠,提高对象模型的拟真程度。
作为一种可选的实施例,上述方法还包括:
S81,在控制虚拟场景中的第六对象模型移动的过程中,确定第一骨骼的第一位姿信息,其中,第一骨骼为第六对象模型的第一部位的骨骼,第一部位为第六对象模型中与虚拟场景的接触面所对应的部位;
S82,根据接触面的位置信息,调整第一位姿信息,以控制第一部位与接触面之间的距离位于目标距离范围以内;
S83,按照调整后的第一位姿信息控制第一部位进行移动。
四足动物由于体型较长,不像两足生物那样可以基于较小面积进行站立。当地面存在起伏时,四足动物基于斜面通常会表现出四肢悬空或者插入地面等模型穿帮表现。
为避免存在悬空站立或与地面穿插的异常表现,可以对四足动物针对地面斜坡做特殊处理。可以在游戏中对于模型脚部骨骼使用反向动力学(Inverse Kinematics,简称IK),反向动力学是指先由子骨骼的方位,反向推导出其继承链上n级的父骨骼方位的方法。
在控制虚拟场景中的对象模型(例如,第六对象模型)移动的过程中,可以确定第一骨骼的第一位姿信息(方位信息,例如,可以包括位置信息),该第一骨骼为对象模型的第一部位的骨骼,第一部位为对象模型中与虚拟场景的接触面所对应的部位。上述接触面可以是地面,建筑物的表面等,该接触面可以为不平整的平面,第一部位为与接触面所对应的部位,上述对应关系可以是接触关系,也可以是靠近关系(未接触),第一部位可以是足部,手部或者其他部位,对应地,第一骨骼可以为足部骨骼,手部骨骼或者其他骨骼。
以接触面为地面,第一部位为足部,第一骨骼为足部骨骼为例,脚部骨骼处理为基于地面的高度自动调整脚的高低位置,保证两者的距离位于目标距离范围以内,以便看上去脚是真正“踩”在地面上的,而不是浮在空气中或者陷入地面以下。
通过本实施例,根据接触面的位置信息来调整第一部位骨骼的位姿信息,可以表征第一部位的表现符合对象的行为认知,提高第一部位的拟真程度。
作为一种可选的实施例,在根据接触面的位置信息,调整第一位姿信息之后,上述方法还包括:
S91,根据调整后的第一位姿信息调整第二骨骼的第二位姿信息,其中,第二骨骼为第六对象模型的第二部位的骨骼,第二部位为第一部位的关联部位;
S92,按照调整后的第二位姿信息控制第二部位进行移动。
由于关联部位的行为表现之间可以相互影响,因此,在调整第一骨骼的位姿信息的同时,可以同时调整与第一骨骼关联的第二骨骼的位姿信息,也就是,应用反向动力学原理,反向推导出其继承链上n级的父骨骼方位。
例如,对于足部骨骼,足部骨骼的处理为基于地面的高度自动调整脚的高低位置,同时可以影响与脚部骨骼相关联的如小腿以及大腿骨骼的姿势,对于手部骨骼,手部骨骼的处理为基于接触面的位置自动调整手的位置,同时可以影响与手部骨骼相关联的如小臂以及大臂骨骼的姿势。
在得到调整后的第二骨骼的位姿信息之后,可以按照调整后的位姿信息控制第二部位进行移动,以避免第二部位的行为表现不符合行为认知,例如,第一部位和第二部位脱节,第一部位与第二部位之间的角度超出正常的行为认知等。
通过本实施例,通过调整关联部位的骨骼的位姿信息,可以保证关联部位的行为表现符合行为认知,提高关联部位的拟真程度。
作为一种可选的实施例,上述方法还包括:
S101,确定与虚拟场景中的第七对象模型的第三部位对应的第三角度,其中,第三角度为第三部位由第三朝向转向与第八对象模型对应的第四朝向的转动角度;
S102,在第三角度小于或者等于目标角度阈值的情况下,按照第三角度控制第三部位由第三朝向转至第四朝向。
可以在游戏场景中对于模型允许转动的部位(例如,头部)使用反向动力学。以头部为例,对于头部骨骼部分,可以限制骨骼合理的旋转范围。在四足动物发现目标时,不会因为自身与目标的位置差异直接进行旋转,而是在合理角度(例如,目标角度阈值)内表现为身体不动但头部在对目标进行持续追踪。如果超出合理角度,则可以控制对象模型进行转向,转向的方式与前述类似,在此不做赘述。
需要说明的是,模型转向是指模型是指模型整体进行转向,也就是,模型转身,而某一部分转向是指该部位(也可以包含该部位的关联部位)进行转向,而模型的其他部位保持或者基本保持原有的朝向。
例如,对于第七对象模型的第三部位,当其需要由当前的第三朝向转向与第八对象模型对应的第四朝向时,可以确定第三部位此次需要转动的角度,即,第三角度,并在第三角度小于或者等于目标角度阈值时,按照第三角度控制第三部位由第三朝向转至第四朝向。
上述转向也可以采用与前述类似的方式对不同的旋转范围赋予不同的旋转动画,以及旋转时长。并按照旋转动画和旋转时长控制第三部位进行旋转,而不是直接转向第四朝向。实际的旋转时长与第三角度占旋转角度范围的比例相关。
需要说明的是,按照反向动力学的原理,头部的转动可以关联颈部以及其他关联部位的转动,头部的关联部位以及头部的转动与关联部位的转动之间的关联可以根据行为认知进行配置,本实施例中对此不作赘述。
通过本实施例,在与目标之间的转动角度在一定范围内时控制特定部位进行旋而不是模型整体转身,可以使得模型的战斗表现更加符合行为认知,提高模型的拟真程度。
作为一种可选的实施例,确定与虚拟场景中的第七对象模型的第三部位对应的第三角度包括:
S111,根据第七对象模型的第三位姿信息和第八对象模型的第四位姿信息,确定第四朝向;
S112,确定第三部位由第三朝向转向第四朝向的第三角度,其中,第三角度包括:沿第一方向的第一转动角度,沿第二方向的第二转动角度,第一方向垂直于第二方向。
第三部位的旋转角度可以包括水平(第一方向)角度和俯仰(第二方向)角度。例如,对于头部,上述合理角度是指符合四足动物颈部骨骼旋转范围的角度,包括水平角度和俯仰角度,依此来控制头部的旋转看上去位于一个合理的旋转范围。
例如,对于第三部位,可以根据第七对象模型的第三位姿信息(例如,方位信息)和第八对象模型(方位信息)的第四位姿信息,确定待旋转到的第四朝向;确定第三部位由第三朝向转向第四朝向的第三角度,该第三角度包括:沿第一方向的第一转动角度(例如,水平角度),沿第二方向的第二转动角度(例如,俯仰角度),第一方向垂直于第二方向。
通过本实施例,通过控制第三部位在不同方向上的旋转角度,可以适用于当前模型与目标之间的体型等的差异,提高第三部位旋转控制的灵活性,从未提高第三部位的拟真程度。
为了还原动物的真实表现,可以对攻击间隔进行了优化。在传统游戏中,同一单位的多个技能同时满足释放条件时,处理逻辑一般为根据技能的优先级连续释放,技能之间的时间间隔极短。
在本实施例中,可以增加“行为冷却时间”,即,行为CD,每释放一次技能可以判定完成一次行为。同时满足多技能释放条件的情况下,加入了冷却时间的机制使行为之间增加了其他的逻辑表现的处理,使整体表现合理有序。
通过加入了行为CD,单位所有的行为都要受到这个行为冷却时间的限制。上述行为可以包括但不限于以下至少之一:施法(释放技能操作),与目标保持距离(移动操作),某种特殊行为表现(例如,眼神交流,威慑等)等。
作为一种可选的实施例,上述方法还包括:
S121,确定与虚拟场景中的第九对象模型的第二操作所对应的第十对象模型,其中,第二操作为第九对象模型待使用的、操作第十对象模型的操作;
S122,在第十对象模型处于第二状态的情况下,控制第九对象模型执行第三操作,其中,第二状态为被第十一对象模型所操作的状态,第三操作为与第二操作不同的操作。
虚拟场景中如果多个单位(对象)对同一目标进行攻击时,例如,四足动物与目标对峙时,只会站于原地进行攻击,表现不真实,并且,在战斗的过程中,由于自身并不会变换位置,所以常以这种有问题的表现完成整场战斗。因此,在多个单位对同一目标进行攻击时,需要避免过多单位同时攻击而导致无法清晰判断的情况,在行为认知上,由于空间的限制,每次攻击同一目标的单位数量少于一定阈值,例如,同时仅有一个单位对同一目标进行攻击。
可以增加单位之间同步攻击状态的机制。如单位判断自身选中的攻击目标与其他正在进行攻击的单位目标是否相同,如果判断该目标处于被攻击状态的情况下,可以转为处理进行其他的行为表现,依此形成多个单位对同一目标可以有序的进行攻击。
例如,对于虚拟场景中的第九对象模型,该对象模型待使用第二操作攻击第十对象模型,如果该第十对象模型处于被攻击状态(或者,当前攻击第十对象模型的对象模型数量超过预定数量阈值),则可以控制第九对象模型其他的操作(第三操作),例如,威慑操作。
通过上述同步攻击状态的方式,可以模拟动物的群体攻击行为。如狼群围攻同一目标时,有的狼会使用威慑的对峙方式吸引目标注意力,有的狼伺机而动进行攻击。
需要说明的是,可以设定同时攻击目标的单位数量,该单位数量可以大于或者等于1。不同类型的目标(例如,不同体型)同时攻击该目标的单位数量可以不同。具体的攻击方式可以根据需要进行配置,本实施例中对此不作限定。
通过本实施例,通过处于战斗状态的多个单位同步攻击目标的状态,可以丰富多个对象攻击同一目标时的战斗表现,提高对象战斗过程的拟真程度。
作为一种可选的实施例,在控制第九对象模型执行第三操作之前,上述方法还包括:
S131,接收第十一对象模型同步的状态同步信息,其中,状态同步信息用于指示同步第十对象模型处于被第十一对象模型操作的状态;
S132,根据接收到的状态同步信息,确定第十对象模型处于第二状态。
多个单位同步攻击状态的方式可以是:每个单位在进行攻击行为时,会向同阵营的其他单位广播自己的攻击状态。
对于第十一对象模型,该对象模型在对第十对象模型进行攻击时,可以向其他同阵营的其他对象模型(例如,第九对象模型)广播自己的攻击状态,即,向同阵营的其他对象模型广播状态同步信息,该状态同步信息用于指示同步第十对象模型处于被第十一对象模型操作的状态,例如,该状态同步信息用于指示第十一对象模型正在攻击第十对象模型。
客户端可以接收第十一对象模型同步的状态同步信息,根据接收到的状态同步信息,确定第十对象模型处于第二状态。上述客户端可以是不同玩家对象或者其他对象的客户端,多个客户端之间可以同步对象模型的攻击状态和被攻击状态,以便在多个客户端之间同步显示该虚拟场景。
通过本实施例,每个单位在进行攻击行为时,向同阵营的其他单位广播自己的攻击状态,可以保证各个客户端之间的显示同步,提高信息显示的准确性。
作为一种可选的实施例,控制第九对象模型执行第三操作之后,上述方法还包括:
S141,在第十对象模型由第二状态转换为第三状态的情况下,控制第九对象模型使用第二操作对第十对象模型进行操作,其中,第三状态为未被操作的状态。
对象模型的状态可以随着时间的推移而变化,例如,在第十一对象模型对第十对象模型的操作完成之后,第十对象模型由第二状态转换为第三状态,该第三状态可以为未被操作的状态,也可以成为空闲状态。
如果第十对象模型的状态转换为未被任何对象操作的状态,则可以控制第九对象模型使用第二操作对第十对象模型进行操作,例如,使用之前要使用的技能攻击第十对象模型。同时,也可以向同阵营的其他单位广播自己的攻击状态,以指示第十对象模型进入到被攻击状态,之后的战斗过程与前述类似,在此不做赘述。
需要说明的是,在不矛盾的情况下,第一对象模型~第十一对象模型可以是相同类型的对象模型,甚至是同一对象模型,也可以是不同的对象模型,甚至是不同类型的对象模型。模型控制的实现过程可以随着虚拟场景中的战斗场景的不同而存在区别,本实施例中在此不做赘述。
还需要说明的是,上述模型控制方法的各个步骤可以是由客户端执行的,也可以是由服务器执行的,还可以是由客户端和服务器共同执行的。
可选地,本申请实施例中还提供了另一种模型控制方法,该模型控制方法可以应用于图1中所示的服务器103或者类似的设备上,图3是根据本申请实施例的另一种可选的模型控制方法的流程示意图,如图3所示,该方法可以包括以下步骤:
步骤S302,检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态。
本实施例中的模型控制方法可以应用于与前述类似的虚拟场景,已经进行过描述的,在此不做赘述。
以虚拟场景为游戏场景、模型对象为非玩家的四足动物为例,本实施例中的模型控制方法可以是基于服务器运算的游戏,所有的模型的状态都是由服务器统一广播给每一个客户端。
虚拟场景中可以包含多个模型对象,服务器可以实时计算各个对象模型的状态。对于第一对象模型,服务器可以检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态。
步骤S304,生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态。
在检测到第一对象模型进入到第一状态之后,服务器可以生成状态指示信息,该状态指示信息用于指示第一对象模型进入到第一状态。
例如,如果检测到四足动物由于受到较强的攻击而进入到受击状态,在该受击状态下,该四足动物需要移动较长的距离,服务器可以省省状态指示信息,该状态指示信息可以用于指示该四足动物进入到了受击状态。
步骤S306,向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
服务器可以将该第一状态统一广播给每一个客户端,例如,向客户端广播状态指示信息,以指示客户端该第一对象模型进入到了第一状态。广播第一状态的方式可以是通过与客户端之间的通信连接进行的,该通信连接可以是有线连接,也可以是无线连接,还可以是有线连接和无线连接的组合。
客户端在接收到状态指示信息之后,可以采用与前述类似的方式进行模型控制,本实施例中已经进行过详细描述,在此不做赘述。
通过上述步骤S302至步骤S306,通过检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹,解决了相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题,提升了对象拟真程度。
作为一种可选的实施例,在向客户端发送状态指示信息之后,上述方法还包括:
S151,生成移动指示信息,其中,移动指示信息用于指示第一对象模型在第一时长内的每个单位时间点的位移变化;
S152,向客户端发送移动指示信息,其中,移动指示信息用于指示客户端使用移动指示信息调整移动轨迹信息。
本实施例中的前述移动指示信息可以是由服务器生成的。服务器可以在每个单位时间点之前,生成用于指示第一对象模型在第一时长内的每个单位时间点的位移变化的移动指示信息,并将该移动指示信息同步给每一个客户端。
客户端在接收到客户端发送的移动指示信息之后,可以采用与前述类似的方式进行状态差值修正,以服务器的位置结果为标准,客户端会以加快位移的方式将模型尽快同步至正确状态,使多玩家状态下,模型的位置表现是一致的。
作为一种可选的实施例,生成移动指示信息包括:
S161,确定第一对象模型在每个单位时间点的参考位置信息和参考旋转信息;
S162,根据参考位置信息和参考旋转信息生成移动指示信息,其中,移动指示信息包括参考位置信息和参考旋转信息,移动指示信息用于指示客户端按照参考位置信息和参考旋转信息调整第一对象模型的位移参数,位移参数包括以下至少之一:移动速度,旋转角度。
在生成移动指示信息时,可以确定第一对象模型在每个单位时间点的参考位置信息和参考旋转信息,并根据参考位置信息和参考旋转信息生成移动指示信息。
需要说明的是,每个启用根运动动画的资源本身是有动画时长的,服务器可以根据第一对象模型的对象信息、第二对象模型的对象信息以及第二对象模型操作第一对象模型所使用的操作,来确定第一对象模型处于受击状态的状态时长(可以与动画时长相同,也可以不同),如果状态时长大于动画时长,可以重复播放受击动画,如果状态时长小于动画时长,则可以仅播放受击动画的前状态时长的内容。具体的实现方式可以根据需要进行设定,本实施例中对此不作限定。
作为一种可选的实施例,上述方法还包括:
S171,确定与虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,第一操作用于控制第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,目标角度为第一朝向与第二朝向之间的转向角度;
S172,向客户端发送目标控制指令,其中,目标控制指令用于控制客户端按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画,以控制第三对象模型由第一朝向转向第二朝向,第二动画为第三对象模型的转向动画。
前述客户端播放第二动画可以是根据服务器的目标控制指令所执行的。服务器可以确定与虚拟场景中的第三对象模型的第一操作所对应的目标角度,并向每个客户端广播目标控制指令,该目标控制指令可以用于控制客户端按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画,以控制各个客户端显示的第三对象模型由第一朝向转向第二朝向。
作为一种可选的实施例,在向客户端发送目标控制指令之前,上述方法还包括:
S181,确定与第三对象模型对应的目标方向,其中,目标方向为由第一位置靠近第二位置的方向,或者,由第一位置远离第二位置的方向,第一位置为第三对象模型所处的位置,第二位置为第四对象模型所处的位置,目标控制指令还用于指示目标方向。
上述目标控制指令还可以用于指示该第三对象模型的移动方向、移动速度、移动时间等等。
在向客户端发送目标控制指令之前,服务器可以确定第三对象模型的移动方向,即,目标方向,并将该目标方向的方向信息携带在目标控制指令中,以控制各个客户端上显示的第三对象模型沿该目标方向进行移动。
作为一种可选的实施例,上述方法还包括:
S191,根据虚拟场景中包含的多个对象模型的体型半径,确定虚拟场景中的第五对象模型由所处的第三位置待移动到的第四位置,其中,由第三位置移动到第四位置之后,第五对象模型的体型范围与多个对象模型中除了第五对象模型以外的其他对象模型的体型范围不重叠;
S192,生成移动指令,其中,移动指令用于指示第五对象模型由第三位置移动到第四位置;
S193,将移动指令发送给客户端。
前述移动指令可以是由服务器根据虚拟场景中包含的多个对象模型的体型半径确定的。服务器可以根据多个对象模型的体型半径,确定第五对象模型待移动到的第四位置,在该第四位置上,第五对象模型的体型范围与其他对象模型的体型范围不重叠。
除了第四位置外,移动指令还可以指示由第三位置移动到第四位置的移动轨迹,以保证在由第三位置移动到第四位置的过程中,第五对象模型的体型范围与其他对象模型的体型范围不重叠。
在生成移动指令之后,服务器可以将该移动指令广播给各个客户端,以在各个客户端上同步显示第五对象模型由第三位置移动到第四位置的移动过程。
需要说明的是,每个客户端可以是下挂在该服务器的客户端,或者,下挂在该服务器、显示有该虚拟场景或者相同区域的客户端。
下面结合可选示例对本申请实施例中的模型控制方法进行说明。本示例中的模型控制方法可以应用于游戏场景中的四足动画的战斗过程。
本示例中的模型控制方法对于四足动物的模型进行了如下控制:
(1)对于脚部骨骼和头部骨骼的运动进行控制
对于模型头部以及脚部骨骼使用了反向动力学,其中,
1)脚部骨骼处理为基于地面的高度自动调整脚的高低位置,并同时影响与脚部骨骼相关联的如小腿以及大腿骨骼的姿势,以便看上去脚是真正“踩”在地面上的,而不是浮在空气中或者陷入地面以下;
2)对于头部骨骼部分,限制了骨骼在水平和俯仰角度合理旋转范围。在四足动物发现目标时,不会因为自身与目标的位置差异直接进行旋转,而是在合理角度内表现为身体不动但头部在对目标进行持续追踪。
上述模型控制方式可以解决模型与地面的穿插问题,并增强四足动物在战斗中的表现细节,使其行为表现合理。
(2)使用根运动动画增加四足动物在受到较重受击时的位移动作
对启用根运动动画的模型动作资源,输出以100毫秒为单位的精确位移变化,其中包含位移和旋转两个参数信息。
当模型需要处理根运动动画时,服务器通知客户端模型进入对应的状态,计算每个单位时间后模型应处的位置以及旋转状态,并提前传输的状态信息。
客户端可以直接使用模型在该状态下的动画和真实位移,并根据服务器提前传输的状态信息,对每个单位时间点的状态作差值修正。
(3)转身优化
对于转身可以进行两个方面的优化:还原转身应有的行为表现;还原动物应有的应急反馈。
对每个动物都增加了左右原地旋转90度、以及原地旋转180度的转身动画,并定义了转身角度和动作的关联。
当需要处理自身与目标的转向行为时,判断目标与自身所处的角度差值,根据差值寻找符合的转身动作,并同时获取动作的时长。处理转身过程时,以符合条件的转身动作时长作为转身状态的时长,以目标的位置为自身旋转的朝向,并在播放动作的过程中,处理向目标朝向角度进行差值旋转,最终表现为在完成动作表演的同时将自身朝向转向最终的目标位置朝向。
当判断所需旋转角度过小时,则不处理旋转过程表演,直接将模型旋转朝向目标位置。
动物应急方面,可以增加与目标位置的逻辑判断。动物在判断目标与自身位置朝向的同时,也需要判断与自身的距离关系。依照每一个动物的习性特色,处理为远离或靠近目标的同时完成转身的表现。
(4)移动优化
为了避免战斗中动物移动后由于站位原因导致模型重叠造成穿帮,对于每一个模型可以定义体型半径。在处理移动行为时,服务器会根据每个模型体型半径在场上找到一个与其他模型的体型半径不会重叠的位置作为移动的目标点,在一定程度解决因为移动造成的模型穿帮问题。
(5)攻击间隔
为了还原动物的真实表现,可以对攻击间隔进行了优化。
对于对象模型的行为可以增加“行为冷却时间”,每释放一次技能则判定完成一次行为。同时满足多技能释放条件的情况下,加入了冷却时间的机制使行为之间增加了其他的逻辑表演的处理,使整体表现合理有序。
对于多个对象模型可以增加同步攻击状态的机制。如场上有多个单位对同一目标进行攻击,每个单位在进行攻击行为时,会向其他同阵营单位广播自己的攻击状态。如单位判断自身选中的攻击目标与其他正在进行攻击的单位目标相同时,则可以处理转为进行其他的行为表演。依此形成多个单位对同一目标可以有序的进行攻击。
通过本示例,可以有效减少传统游戏中出现的模型穿帮问题,提升四足动物在战斗中行为的真实度,丰富其细节表现,提升战斗的中打击反馈,还可以解决服务器战斗的表现缺点,将客户端运算的游戏表现水准实现在基于服务器状态同步的MMORPG游戏中。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述模型控制方法的模型控制装置。图4是根据本申请实施例的一种可选的模型控制装置的示意图,如图4所示,该装置可以包括:
(1)第一确定单元402,用于确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
(2)第一获取单元404,与第一确定单元402相连,用于获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;
(3)第一控制单元406,与第一获取单元404相连,用于在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
需要说明的是,该实施例中的第一确定单元402可以用于执行本申请实施例中的步骤S202,该实施例中的第一获取单元404可以用于执行本申请实施例中的步骤S204,该实施例中的第一控制单元406可以用于执行本申请实施例中的步骤S206。
通过上述模块,通过确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,解决了相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题,提升了对象拟真程度。
作为一种可选的实施例,第一确定单元402包括:
第一接收模块,用于接收服务器发送的状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;
第一确定模块,用于根据状态指示信息,确定第一对象模型进入到第一状态。
作为一种可选的实施例,上述装置还包括:
第一接收单元,用于在按照移动轨迹信息控制第一对象模型进行移动的过程中,接收服务器发送的移动指示信息,其中,移动指示信息用于指示第一对象模型在第一时长内的每个单位时间点的位移变化;
第一调整单元,用于使用移动指示信息调整移动轨迹信息,得到调整后的移动轨迹信息;
第二控制单元,用于按照调整后的移动轨迹信息控制第一对象模型进行移动。
作为一种可选的实施例,第一调整单元包括:
第二确定模块,用于确定第一对象模型在每个单位时间点的参考位置信息和参考旋转信息,其中,移动指示信息包括参考位置信息和参考旋转信息;
第一调整模块,用于按照参考位置信息和参考旋转信息调整第一对象模型的位移参数,得到调整后的移动轨迹信息,其中,位移参数包括以下至少之一:移动速度,旋转角度。
作为一种可选的实施例,上述装置还包括:
第二调整单元,用于确定与虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,第一操作用于控制第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,目标角度为第一朝向与第二朝向之间的转向角度;
第一播放单元,用于按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画,以控制第三对象模型由第一朝向转向第二朝向,其中,第二动画为第三对象模型的转向动画。
作为一种可选的实施例,第一播放单元包括:
第三确定模块,用于确定目标角度所处的目标角度范围,其中,第三对象模型的不同的转向角度范围对应于不同的参考转向动画和参考转向时长,目标角度范围对应于第二动画和第二时长;
第一播放模块,用于按照第二时长播放第二动画,直到第三对象模型的朝向转至第二朝向。
作为一种可选的实施例,上述装置还包括:
第三控制单元,用于在按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画的过程中,控制第三对象模型从第三对象模型所处的第一位置沿着目标方向移动,其中,目标方向为由第一位置靠近第四对象模型所处的第二位置的方向,或者,由第一位置远离第四对象模型所处的第二位置的方向。
作为一种可选的实施例,上述装置还包括:
第二接收单元,用于接收服务器发送的移动指令,其中,移动指令用于指示虚拟场景中的第五对象模型由第五对象模型所处的第三位置移动到第四位置,第四位置为根据虚拟场景中包含的多个对象模型的体型半径确定的位置,以控制在由第三位置移动到第四位置的过程中,第五对象模型的体型范围与多个对象模型中除了第五对象模型以外的其他对象模型的体型范围不重叠;
第四控制单元,用于响应移动指令,控制第五对象模型由第三位置移动到第四位置。
作为一种可选的实施例,上述装置还包括:
第二确定单元,用于在控制虚拟场景中的第六对象模型移动的过程中,确定第一骨骼的第一位姿信息,其中,第一骨骼为第六对象模型的第一部位的骨骼,第一部位为第六对象模型中与虚拟场景的接触面所对应的部位;
第三调整单元,用于根据接触面的位置信息,调整第一位姿信息,以控制第一部位与接触面之间的距离位于目标距离范围以内;
第五控制单元,用于按照调整后的第一位姿信息控制第一部位进行移动。
作为一种可选的实施例,上述装置还包括:
第四调整单元,用于在根据接触面的位置信息,调整第一位姿信息之后,根据调整后的第一位姿信息调整第二骨骼的第二位姿信息,其中,第二骨骼为第六对象模型的第二部位的骨骼,第二部位为第一部位的关联部位;
第六控制单元,用于按照调整后的第二位姿信息控制第二部位进行移动。
作为一种可选的实施例,上述装置还包括:
第三确定单元,用于确定与虚拟场景中的第七对象模型的第三部位对应的第三角度,其中,第三角度为第三部位由第三朝向转向与第八对象模型对应的第四朝向的转动角度;
第七控制单元,用于在第三角度小于或者等于目标角度阈值的情况下,按照第三角度控制第三部位由第三朝向转至第四朝向。
作为一种可选的实施例,第三确定单元包括:
第四确定模块,用于根据第七对象模型的第三位姿信息和第八对象模型的第四位姿信息,确定第四朝向;
第五确定模块,用于确定第三部位由第三朝向转向第四朝向的第三角度,其中,第三角度包括:沿第一方向的第一转动角度,沿第二方向的第二转动角度,第一方向垂直于第二方向。
作为一种可选的实施例,上述装置还包括:
第四确定单元,用于确定与虚拟场景中的第九对象模型的第二操作所对应的第十对象模型,其中,第二操作为第九对象模型待使用的、操作第十对象模型的操作;
第八控制单元,用于在第十对象模型处于第二状态的情况下,控制第九对象模型执行第三操作,其中,第二状态为被第十一对象模型所操作的状态,第三操作为与第二操作不同的操作。
作为一种可选的实施例,上述装置还包括:
第三接收单元,用于在控制第九对象模型执行第三操作之前,接收第十一对象模型同步的状态同步信息,其中,状态同步信息用于指示同步第十对象模型处于被第十一对象模型操作的状态;
第五确定单元,用于根据接收到的状态同步信息,确定第十对象模型处于第二状态。
作为一种可选的实施例,上述装置还包括:
第九控制单元,用于控制第九对象模型执行第三操作之后,在第十对象模型由第二状态转换为第三状态的情况下,控制第九对象模型使用第二操作对第十对象模型进行操作,其中,第三状态为未被操作的状态。
可选地,本申请实施例中还提供了一种用于实施上述模型控制方法的模型控制装置。图5是根据本申请实施例的另一种可选的模型控制装置的示意图,如图5所示,该装置可以包括:
(1)检测单元502,用于检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
(2)第一生成单元504,与检测单元502相连,用于生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;
(3)第一发送单元506,与第一生成单元504相连,用于向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
需要说明的是,该实施例中的检测单元502可以用于执行本申请实施例中的步骤S302,该实施例中的第一生成单元504可以用于执行本申请实施例中的步骤S304,该实施例中的第一发送单元506可以用于执行本申请实施例中的步骤S306。
通过上述模块,通过检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹,解决了相关技术中的对象模型控制方式存在由于表现方式过于简单导致的对象拟真程度低的问题,提升了对象拟真程度。
作为一种可选的实施例,上述装置还包括:
第二生成单元,用于在向客户端发送状态指示信息之后,生成移动指示信息,其中,移动指示信息用于指示第一对象模型在第一时长内的每个单位时间点的位移变化;
第二发送单元,用于向客户端发送移动指示信息,其中,移动指示信息用于指示客户端使用移动指示信息调整移动轨迹信息。
作为一种可选的实施例,第二生成单元包括:
第六确定模块,用于确定第一对象模型在每个单位时间点的参考位置信息和参考旋转信息;
生成模块,用于根据参考位置信息和参考旋转信息生成移动指示信息,其中,移动指示信息包括参考位置信息和参考旋转信息,移动指示信息用于指示客户端按照参考位置信息和参考旋转信息调整第一对象模型的位移参数,位移参数包括以下至少之一:移动速度,旋转角度。
作为一种可选的实施例,上述装置还包括:
第六确定单元,用于确定与虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,第一操作用于控制第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,目标角度为第一朝向与第二朝向之间的转向角度;
第三发送单元,用于向客户端发送目标控制指令,其中,目标控制指令用于控制客户端按照与目标角度匹配的第二时长播放与目标角度匹配的第二动画,以控制第三对象模型由第一朝向转向第二朝向,第二动画为第三对象模型的转向动画。
作为一种可选的实施例,上述装置还包括:
第七确定单元,用于在向客户端发送目标控制指令之前,确定与第三对象模型对应的目标方向,其中,目标方向为由第一位置靠近第二位置的方向,或者,由第一位置远离第二位置的方向,第一位置为第三对象模型所处的位置,第二位置为第四对象模型所处的位置,目标控制指令还用于指示目标方向。
作为一种可选的实施例,上述装置还包括:
第八确定单元,用于根据虚拟场景中包含的多个对象模型的体型半径,确定虚拟场景中的第五对象模型由所处的第三位置待移动到的第四位置,其中,在由第三位置移动到第四位置的过程中,第五对象模型的体型范围与多个对象模型中除了第五对象模型以外的其他对象模型的体型范围不重叠,
第三生成单元,用于生成移动指令,其中,移动指令用于指示第五对象模型由第三位置移动到第四位置;
第四发送单元,用于将移动指令发送给客户端。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种用于实施上述模型控制方法的电子装置,该电子装置可以是服务器、终端、或者其组合。
图6是根据本申请实施例的一种电子装置的结构框图,如图6所示,该电子装置包括存储器602和处理器604,该存储器602中存储有计算机程序,该处理器604被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
S2,获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;
S3,在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
S2,生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;
S3,向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
其中,存储器602可用于存储软件程序以及模块,如本申请实施例中的模型控制方法和装置对应的程序指令/模块,处理器604通过运行存储在存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述模型控制方法。存储器602可包括高速随机存储器,还可以包括非易失性存储器,如一个或多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器602可进一步包括相对于处理器604远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
作为一种示例,如图6所示,上述存储器602中可以但不限于包括上述模型控制装置中的第一确定单元402、第一获取单元404和第一控制单元406。此外,还可以包括但不限于上述模型控制装置中的其他模块单元,本示例中不再赘述。
作为另一种示例,如图7所示,上述存储器602中可以但不限于包括上述模型控制装置中的检测单元502、第一生成单元504和第一发送单元506。此外,还可以包括但不限于上述模型控制装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置606用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置606包括一个NIC(NetworkInterface Controller,网络适配器),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置606为RF(Radio Frequency,射频)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器608,用于显示上述客户端的界面;和连接总线610,用于连接上述电子装置中的各个模块部件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图6所示的结构仅为示意,实施上述模型控制方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及MID(Mobile InternetDevices,移动互联网设备)、PAD等终端设备。图6其并不对上述电子装置的结构造成限定。例如,终端设备还可包括比图6中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图6所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取器)、磁盘或光盘等。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行模型控制方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,确定虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
S2,获取与第一状态对应的第一动画和移动轨迹信息,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹;
S3,在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,检测到虚拟场景中的第一对象模型进入到第一状态,其中,第一状态为第一对象模型被第二对象模型操作所进入的状态;
S2,生成状态指示信息,其中,状态指示信息用于指示第一对象模型进入到第一状态;
S3,向客户端发送状态指示信息,以控制客户端在播放第一动画的同时,按照移动轨迹信息控制第一对象模型进行移动,其中,第一动画为在第一对象模型进入第一状态后的第一时长内所播放的动画,移动轨迹信息用于指示第一对象模型在第一时长内的移动轨迹。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
这里所寻求保护的主题的范围在所附权利要求中进行限定。本发明实施例中还包括在下列编号条款中规定的这些和其他方面:
1.一种模型控制方法,包括:
确定虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
获取与所述第一状态对应的第一动画和移动轨迹信息,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹;
在播放所述第一动画的同时,按照所述移动轨迹信息控制所述第一对象模型进行移动。
2.根据条款1所述的方法,其中,确定所述虚拟场景中的所述第一对象模型进入到所述第一状态包括:
接收服务器发送的状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
根据所述状态指示信息,确定所述第一对象模型进入到所述第一状态。
3.根据条款1所述的方法,其中,在按照所述移动轨迹信息控制所述第一对象模型进行移动的过程中,所述方法还包括:
接收服务器发送的移动指示信息,其中,所述移动指示信息用于指示所述第一对象模型在所述第一时长内的每个单位时间点的位移变化;
使用所述移动指示信息调整所述移动轨迹信息,得到调整后的所述移动轨迹信息;
按照调整后的所述移动轨迹信息控制所述第一对象模型进行移动。
4.根据条款3所述的方法,其中,使用所述移动指示信息调整所述移动轨迹信息,得到调整后的所述移动轨迹信息包括:
确定所述第一对象模型在所述每个单位时间点的参考位置信息和参考旋转信息,其中,所述移动指示信息包括所述参考位置信息和所述参考旋转信息;
按照所述参考位置信息和所述参考旋转信息调整所述第一对象模型的位移参数,得到调整后的所述移动轨迹信息,其中,所述位移参数包括以下至少之一:移动速度,旋转角度。
5.根据条款1所述的方法,其中,所述方法还包括:
确定与所述虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,所述第一操作用于控制所述第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,所述目标角度为所述第一朝向与所述第二朝向之间的转向角度;
按照与所述目标角度匹配的第二时长播放与所述目标角度匹配的第二动画,以控制所述第三对象模型由所述第一朝向转向所述第二朝向,其中,所述第二动画为所述第三对象模型的转向动画。
6.根据条款5所述的方法,其中,按照与所述目标角度匹配的所述第二时长播放与所述目标角度匹配的所述第二动画包括:
确定所述目标角度所处的目标角度范围,其中,所述第三对象模型的不同的转向角度范围对应于不同的参考转向动画和参考转向时长,所述目标角度范围对应于所述第二动画和所述第二时长;
按照所述第二时长播放所述第二动画,直到所述第三对象模型的朝向转至所述第二朝向。
7.根据条款5所述的方法,其中,在按照与所述目标角度匹配的所述第二时长播放与所述目标角度匹配的所述第二动画的过程中,所述方法还包括:
控制所述第三对象模型从所述第三对象模型所处的第一位置沿着目标方向移动,其中,所述目标方向为由所述第一位置靠近所述第四对象模型所处的第二位置的方向,或者,由所述第一位置远离所述第四对象模型所处的第二位置的方向。
8.根据条款1所述的方法,其中,所述方法还包括:
接收服务器发送的移动指令,其中,所述移动指令用于指示所述虚拟场景中的第五对象模型由所述第五对象模型所处的第三位置移动到第四位置,所述第四位置为根据所述虚拟场景中包含的多个对象模型的体型半径确定的位置,以控制由所述第三位置移动到所述第四位置之后,所述第五对象模型的体型范围与所述多个对象模型中除了所述第五对象模型以外的其他对象模型的体型范围不重叠;
响应所述移动指令,控制所述第五对象模型由所述第三位置移动到所述第四位置。
9.根据条款1所述的方法,其中,所述方法还包括:
在控制所述虚拟场景中的第六对象模型移动的过程中,确定第一骨骼的第一位姿信息,其中,所述第一骨骼为所述第六对象模型的第一部位的骨骼,所述第一部位为所述第六对象模型中与所述虚拟场景的接触面所对应的部位;
根据所述接触面的位置信息,调整所述第一位姿信息,以控制所述第一部位与所述接触面之间的距离位于目标距离范围以内;
按照调整后的所述第一位姿信息控制所述第一部位进行移动。
10.根据条款9所述的方法,其中,在根据所述接触面的位置信息,调整所述第一位姿信息之后,所述方法还包括:
根据调整后的所述第一位姿信息调整第二骨骼的第二位姿信息,其中,所述第二骨骼为所述第六对象模型的第二部位的骨骼,所述第二部位为所述第一部位的关联部位;
按照调整后的所述第二位姿信息控制所述第二部位进行移动。
11.根据条款1所述的方法,其中,所述方法还包括:
确定与所述虚拟场景中的第七对象模型的第三部位对应的第三角度,其中,所述第三角度为所述第三部位由第三朝向转向与第八对象模型对应的第四朝向的转动角度;
在所述第三角度小于或者等于目标角度阈值的情况下,按照所述第三角度控制所述第三部位由所述第三朝向转至所述第四朝向。
12.根据条款11所述的方法,其中,确定与所述虚拟场景中的所述第七对象模型的所述第三部位对应的所述第三角度包括:
根据所述第七对象模型的第三位姿信息和所述第八对象模型的第四位姿信息,确定所述第四朝向;
确定所述第三部位由所述第三朝向转向所述第四朝向的所述第三角度,其中,所述第三角度包括:沿第一方向的第一转动角度,沿第二方向的第二转动角度,所述第一方向垂直于所述第二方向。
13.根据条款1至12中任一项所述的方法,其中,所述方法还包括:
确定与所述虚拟场景中的第九对象模型的第二操作所对应的第十对象模型,其中,所述第二操作为所述第九对象模型待使用的、操作所述第十对象模型的操作;
在所述第十对象模型处于第二状态的情况下,控制所述第九对象模型执行第三操作,其中,所述第二状态为被第十一对象模型所操作的状态,所述第三操作为与所述第二操作不同的操作。
14.根据条款13所述的方法,其中,在控制所述第九对象模型执行所述第三操作之前,所述方法还包括:
接收所述第十一对象模型同步的状态同步信息,其中,所述状态同步信息用于指示同步所述第十对象模型处于被所述第十一对象模型操作的状态;
根据接收到的所述状态同步信息,确定所述第十对象模型处于所述第二状态。
15.根据条款13所述的方法,其中,控制所述第九对象模型执行所述第三操作之后,所述方法还包括:
在所述第十对象模型由所述第二状态转换为第三状态的情况下,控制所述第九对象模型使用所述第二操作对所述第十对象模型进行操作,其中,所述第三状态为未被操作的状态。
16.一种模型控制方法,包括:
检测到虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
生成状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
向客户端发送状态指示信息,以控制所述客户端在播放第一动画的同时,按照移动轨迹信息控制所述第一对象模型进行移动,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹。
17.根据条款16所述的方法,其中,在向所述客户端发送所述状态指示信息之后,所述方法还包括:
生成移动指示信息,其中,所述移动指示信息用于指示所述第一对象模型在所述第一时长内的每个单位时间点的位移变化;
向所述客户端发送所述移动指示信息,其中,所述移动指示信息用于指示所述客户端使用所述移动指示信息调整所述移动轨迹信息。
18.根据条款17所述的方法,其中,生成所述移动指示信息包括:
确定所述第一对象模型在所述每个单位时间点的参考位置信息和参考旋转信息;
根据所述参考位置信息和所述参考旋转信息生成所述移动指示信息,其中,所述移动指示信息包括所述参考位置信息和所述参考旋转信息,所述移动指示信息用于指示所述客户端按照所述参考位置信息和所述参考旋转信息调整所述第一对象模型的位移参数,所述位移参数包括以下至少之一:移动速度,旋转角度。
19.根据条款16所述的方法,其中,所述方法还包括:
确定与所述虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,所述第一操作用于控制所述第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,所述目标角度为所述第一朝向与所述第二朝向之间的转向角度;
向所述客户端发送目标控制指令,其中,所述目标控制指令用于控制所述客户端按照与所述目标角度匹配的第二时长播放与所述目标角度匹配的第二动画,以控制所述第三对象模型由所述第一朝向转向所述第二朝向,所述第二动画为所述第三对象模型的转向动画。
20.根据条款19所述的方法,其中,在向所述客户端发送所述目标控制指令之前,所述方法还包括:
确定与所述第三对象模型对应的目标方向,其中,所述目标方向为由第一位置靠近第二位置的方向,或者,由第一位置远离第二位置的方向,所述第一位置为所述第三对象模型所处的位置,所述第二位置为所述第四对象模型所处的位置,所述目标控制指令还用于指示所述目标方向。
21.根据条款16至20中任一项所述的方法,其中,所述方法还包括:
根据所述虚拟场景中包含的多个对象模型的体型半径,确定所述虚拟场景中的第五对象模型由所处的第三位置待移动到的第四位置,其中,由所述第三位置移动到所述第四位置之后,所述第五对象模型的体型范围与所述多个对象模型中除了所述第五对象模型以外的其他对象模型的体型范围不重叠;
生成移动指令,其中,所述移动指令用于指示所述第五对象模型由所述第三位置移动到第四位置;
将所述移动指令发送给所述客户端。
22.一种模型控制装置,包括:
第一确定单元,用于确定虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
第一获取单元,用于获取与所述第一状态对应的第一动画和移动轨迹信息,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹;
第一控制单元,用于在播放所述第一动画的同时,按照所述移动轨迹信息控制所述第一对象模型进行移动。
23.根据条款22所述的装置,其中,所述第一确定单元包括:
第一接收模块,用于接收服务器发送的状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
第一确定模块,用于根据所述状态指示信息,确定所述第一对象模型进入到所述第一状态。
24.根据条款22所述的装置,其中,所述装置还包括:
第一接收单元,用于在按照所述移动轨迹信息控制所述第一对象模型进行移动的过程中,接收服务器发送的移动指示信息,其中,所述移动指示信息用于指示所述第一对象模型在所述第一时长内的每个单位时间点的位移变化;
第一调整单元,用于使用所述移动指示信息调整所述移动轨迹信息,得到调整后的所述移动轨迹信息;
第二控制单元,用于按照调整后的所述移动轨迹信息控制所述第一对象模型进行移动。
25.根据条款24所述的装置,其中,所述第一调整单元包括:
第二确定模块,用于确定所述第一对象模型在所述每个单位时间点的参考位置信息和参考旋转信息,其中,所述移动指示信息包括所述参考位置信息和所述参考旋转信息;
第一调整模块,用于按照所述参考位置信息和所述参考旋转信息调整所述第一对象模型的位移参数,得到调整后的所述移动轨迹信息,其中,所述位移参数包括以下至少之一:移动速度,旋转角度。
26.根据条款22所述的装置,其中,所述装置还包括:
第二调整单元,用于确定与所述虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,所述第一操作用于控制所述第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,所述目标角度为所述第一朝向与所述第二朝向之间的转向角度;
第一播放单元,用于按照与所述目标角度匹配的第二时长播放与所述目标角度匹配的第二动画,以控制所述第三对象模型由所述第一朝向转向所述第二朝向,其中,所述第二动画为所述第三对象模型的转向动画。
27.根据条款26所述的装置,其中,所述第一播放单元包括:
第三确定模块,用于确定所述目标角度所处的目标角度范围,其中,所述第三对象模型的不同的转向角度范围对应于不同的参考转向动画和参考转向时长,所述目标角度范围对应于所述第二动画和所述第二时长;
第一播放模块,用于按照所述第二时长播放所述第二动画,直到所述第三对象模型的朝向转至所述第二朝向。
28.根据条款26所述的装置,其中,所述装置还包括:
第三控制单元,用于在按照与所述目标角度匹配的所述第二时长播放与所述目标角度匹配的所述第二动画的过程中,控制所述第三对象模型从所述第三对象模型所处的第一位置沿着目标方向移动,其中,所述目标方向为由所述第一位置靠近所述第四对象模型所处的第二位置的方向,或者,由所述第一位置远离所述第四对象模型所处的第二位置的方向。
29.根据条款22所述的装置,其中,所述装置还包括:
第二接收单元,用于接收服务器发送的移动指令,其中,所述移动指令用于指示所述虚拟场景中的第五对象模型由所述第五对象模型所处的第三位置移动到第四位置,所述第四位置为根据所述虚拟场景中包含的多个对象模型的体型半径确定的位置,以控制在由所述第三位置移动到所述第四位置的过程中,所述第五对象模型的体型范围与所述多个对象模型中除了所述第五对象模型以外的其他对象模型的体型范围不重叠;
第四控制单元,用于响应所述移动指令,控制所述第五对象模型由所述第三位置移动到所述第四位置。
30.根据条款22所述的装置,其中,所述装置还包括:
第二确定单元,用于在控制所述虚拟场景中的第六对象模型移动的过程中,确定第一骨骼的第一位姿信息,其中,所述第一骨骼为所述第六对象模型的第一部位的骨骼,所述第一部位为所述第六对象模型中与所述虚拟场景的接触面所对应的部位;
第三调整单元,用于根据所述接触面的位置信息,调整所述第一位姿信息,以控制所述第一部位与所述接触面之间的距离位于目标距离范围以内;
第五控制单元,用于按照调整后的所述第一位姿信息控制所述第一部位进行移动。
31.根据条款30所述的装置,其中,所述装置还包括:
第四调整单元,用于在根据所述接触面的位置信息,调整所述第一位姿信息之后,根据调整后的所述第一位姿信息调整第二骨骼的第二位姿信息,其中,所述第二骨骼为所述第六对象模型的第二部位的骨骼,所述第二部位为所述第一部位的关联部位;
第六控制单元,用于按照调整后的所述第二位姿信息控制所述第二部位进行移动。
32.根据条款22所述的装置,其中,所述装置还包括:
第三确定单元,用于确定与所述虚拟场景中的第七对象模型的第三部位对应的第三角度,其中,所述第三角度为所述第三部位由第三朝向转向与第八对象模型对应的第四朝向的转动角度;
第七控制单元,用于在所述第三角度小于或者等于目标角度阈值的情况下,按照所述第三角度控制所述第三部位由所述第三朝向转至所述第四朝向。
33.根据条款32所述的装置,其中,所述第三确定单元包括:
第四确定模块,用于根据所述第七对象模型的第三位姿信息和所述第八对象模型的第四位姿信息,确定所述第四朝向;
第五确定模块,用于确定所述第三部位由所述第三朝向转向所述第四朝向的所述第三角度,其中,所述第三角度包括:沿第一方向的第一转动角度,沿第二方向的第二转动角度,所述第一方向垂直于所述第二方向。
34.根据条款22至33中任一项所述的装置,其中,所述装置还包括:
第四确定单元,用于确定与所述虚拟场景中的第九对象模型的第二操作所对应的第十对象模型,其中,所述第二操作为所述第九对象模型待使用的、操作所述第十对象模型的操作;
第八控制单元,用于在所述第十对象模型处于第二状态的情况下,控制所述第九对象模型执行第三操作,其中,所述第二状态为被第十一对象模型所操作的状态,所述第三操作为与所述第二操作不同的操作。
35.根据条款34所述的装置,其中,所述装置还包括:
第三接收单元,用于在控制所述第九对象模型执行所述第三操作之前,接收所述第十一对象模型同步的状态同步信息,其中,所述状态同步信息用于指示同步所述第十对象模型处于被所述第十一对象模型操作的状态;
第五确定单元,用于根据接收到的所述状态同步信息,确定所述第十对象模型处于所述第二状态。
36.根据条款34所述的装置,其中,所述装置还包括:
第九控制单元,用于控制所述第九对象模型执行所述第三操作之后,在所述第十对象模型由所述第二状态转换为第三状态的情况下,控制所述第九对象模型使用所述第二操作对所述第十对象模型进行操作,其中,所述第三状态为未被操作的状态。
37.一种模型控制装置,包括:
检测单元,用于检测到虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
第一生成单元,用于生成状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
第一发送单元,用于向客户端发送状态指示信息,以控制所述客户端在播放第一动画的同时,按照移动轨迹信息控制所述第一对象模型进行移动,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹。
38.根据条款37所述的装置,其中,所述装置还包括:
第二生成单元,用于在向所述客户端发送所述状态指示信息之后,生成移动指示信息,其中,所述移动指示信息用于指示所述第一对象模型在所述第一时长内的每个单位时间点的位移变化;
第二发送单元,用于向所述客户端发送所述移动指示信息,其中,所述移动指示信息用于指示所述客户端使用所述移动指示信息调整所述移动轨迹信息。
39.根据条款38所述的装置,其中,所述第二生成单元包括:
第六确定模块,用于确定所述第一对象模型在所述每个单位时间点的参考位置信息和参考旋转信息;
生成模块,用于根据所述参考位置信息和所述参考旋转信息生成所述移动指示信息,其中,所述移动指示信息包括所述参考位置信息和所述参考旋转信息,所述移动指示信息用于指示所述客户端按照所述参考位置信息和所述参考旋转信息调整所述第一对象模型的位移参数,所述位移参数包括以下至少之一:移动速度,旋转角度。
40.根据条款37所述的装置,其中,所述装置还包括:
第六确定单元,用于确定与所述虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,所述第一操作用于控制所述第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,所述目标角度为所述第一朝向与所述第二朝向之间的转向角度;
第三发送单元,用于向所述客户端发送目标控制指令,其中,所述目标控制指令用于控制所述客户端按照与所述目标角度匹配的第二时长播放与所述目标角度匹配的第二动画,以控制所述第三对象模型由所述第一朝向转向所述第二朝向,所述第二动画为所述第三对象模型的转向动画。
41.根据条款40所述的装置,其中,所述装置还包括:
第七确定单元,用于在向所述客户端发送所述目标控制指令之前,确定与所述第三对象模型对应的目标方向,其中,所述目标方向为由第一位置靠近第二位置的方向,或者,由第一位置远离第二位置的方向,所述第一位置为所述第三对象模型所处的位置,所述第二位置为所述第四对象模型所处的位置,所述目标控制指令还用于指示所述目标方向。
42.根据条款37至41中任一项所述的装置,其中,所述装置还包括:
第八确定单元,用于根据所述虚拟场景中包含的多个对象模型的体型半径,确定所述虚拟场景中的第五对象模型由所处的第三位置待移动到的第四位置,其中,在由所述第三位置移动到所述第四位置的过程中,所述第五对象模型的体型范围与所述多个对象模型中除了所述第五对象模型以外的其他对象模型的体型范围不重叠,
第三生成单元,用于生成移动指令,其中,所述移动指令用于指示所述第五对象模型由所述第三位置移动到第四位置;
第四发送单元,用于将所述移动指令发送给所述客户端。
43.一种计算机可读的存储介质,其中,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行条款1至21中任一项所述的方法。
44.一种电子装置,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行条款1至21中任一项所述的方法。
Claims (10)
1.一种模型控制方法,其特征在于,包括:
确定虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
获取与所述第一状态对应的第一动画和移动轨迹信息,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹;
在播放所述第一动画的同时,按照所述移动轨迹信息控制所述第一对象模型进行移动。
2.根据权利要求1所述的方法,其特征在于,确定所述虚拟场景中的所述第一对象模型进入到所述第一状态包括:
接收服务器发送的状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
根据所述状态指示信息,确定所述第一对象模型进入到所述第一状态。
3.根据权利要求1所述的方法,其特征在于,在按照所述移动轨迹信息控制所述第一对象模型进行移动的过程中,所述方法还包括:
接收服务器发送的移动指示信息,其中,所述移动指示信息用于指示所述第一对象模型在所述第一时长内的每个单位时间点的位移变化;
使用所述移动指示信息调整所述移动轨迹信息,得到调整后的所述移动轨迹信息;
按照调整后的所述移动轨迹信息控制所述第一对象模型进行移动。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定与所述虚拟场景中的第三对象模型的第一操作所对应的目标角度,其中,所述第一操作用于控制所述第三对象模型由第一朝向转向与第四对象模型对应的第二朝向,所述目标角度为所述第一朝向与所述第二朝向之间的转向角度;
按照与所述目标角度匹配的第二时长播放与所述目标角度匹配的第二动画,以控制所述第三对象模型由所述第一朝向转向所述第二朝向,其中,所述第二动画为所述第三对象模型的转向动画。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
接收服务器发送的移动指令,其中,所述移动指令用于指示所述虚拟场景中的第五对象模型由所述第五对象模型所处的第三位置移动到第四位置,所述第四位置为根据所述虚拟场景中包含的多个对象模型的体型半径确定的位置,以控制由所述第三位置移动到所述第四位置之后,所述第五对象模型的体型范围与所述多个对象模型中除了所述第五对象模型以外的其他对象模型的体型范围不重叠;
响应所述移动指令,控制所述第五对象模型由所述第三位置移动到所述第四位置。
6.一种模型控制方法,其特征在于,包括:
检测到虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
生成状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
向客户端发送状态指示信息,以控制所述客户端在播放第一动画的同时,按照移动轨迹信息控制所述第一对象模型进行移动,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹。
7.一种模型控制装置,其特征在于,包括:
第一确定单元,用于确定虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
第一获取单元,用于获取与所述第一状态对应的第一动画和移动轨迹信息,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹;
第一控制单元,用于在播放所述第一动画的同时,按照所述移动轨迹信息控制所述第一对象模型进行移动。
8.一种模型控制装置,其特征在于,包括:
检测单元,用于检测到虚拟场景中的第一对象模型进入到第一状态,其中,所述第一状态为所述第一对象模型被第二对象模型操作所进入的状态;
第一生成单元,用于生成状态指示信息,其中,所述状态指示信息用于指示所述第一对象模型进入到所述第一状态;
第一发送单元,用于向客户端发送状态指示信息,以控制所述客户端在播放第一动画的同时,按照移动轨迹信息控制所述第一对象模型进行移动,其中,所述第一动画为在所述第一对象模型进入所述第一状态后的第一时长内所播放的动画,所述移动轨迹信息用于指示所述第一对象模型在所述第一时长内的移动轨迹。
9.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6中任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010531650.4A CN111744195B (zh) | 2020-06-11 | 2020-06-11 | 模型控制方法和装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010531650.4A CN111744195B (zh) | 2020-06-11 | 2020-06-11 | 模型控制方法和装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111744195A true CN111744195A (zh) | 2020-10-09 |
CN111744195B CN111744195B (zh) | 2024-03-22 |
Family
ID=72675089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010531650.4A Active CN111744195B (zh) | 2020-06-11 | 2020-06-11 | 模型控制方法和装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111744195B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112190940A (zh) * | 2020-10-19 | 2021-01-08 | 珠海金山网络游戏科技有限公司 | 动画处理方法及装置 |
CN112354186A (zh) * | 2020-11-10 | 2021-02-12 | 网易(杭州)网络有限公司 | 游戏动画模型控制方法、装置、电子设备以及存储介质 |
CN112774200A (zh) * | 2021-01-22 | 2021-05-11 | 北京字跳网络技术有限公司 | 角色交互控制方法、装置、计算机设备以及存储介质 |
CN113198179A (zh) * | 2021-05-10 | 2021-08-03 | 网易(杭州)网络有限公司 | 虚拟对象的转向控制方法及装置、存储介质、电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107042018A (zh) * | 2016-02-05 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 控制对象的空间位置确定方法和装置 |
CN107481304A (zh) * | 2017-07-31 | 2017-12-15 | 广东欧珀移动通信有限公司 | 在游戏场景中构建虚拟形象的方法及其装置 |
CN109731330A (zh) * | 2019-01-31 | 2019-05-10 | 腾讯科技(深圳)有限公司 | 画面的显示方法和装置、存储介质、电子装置 |
US20190342386A1 (en) * | 2017-05-18 | 2019-11-07 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for playing scene animation |
CN110935172A (zh) * | 2019-12-30 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象处理方法、装置、系统及其存储介质 |
CN110991327A (zh) * | 2019-11-29 | 2020-04-10 | 深圳市商汤科技有限公司 | 交互方法及装置、电子设备和存储介质 |
-
2020
- 2020-06-11 CN CN202010531650.4A patent/CN111744195B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107042018A (zh) * | 2016-02-05 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 控制对象的空间位置确定方法和装置 |
US20190342386A1 (en) * | 2017-05-18 | 2019-11-07 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system for playing scene animation |
CN107481304A (zh) * | 2017-07-31 | 2017-12-15 | 广东欧珀移动通信有限公司 | 在游戏场景中构建虚拟形象的方法及其装置 |
CN109731330A (zh) * | 2019-01-31 | 2019-05-10 | 腾讯科技(深圳)有限公司 | 画面的显示方法和装置、存储介质、电子装置 |
CN110991327A (zh) * | 2019-11-29 | 2020-04-10 | 深圳市商汤科技有限公司 | 交互方法及装置、电子设备和存储介质 |
CN110935172A (zh) * | 2019-12-30 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 虚拟对象处理方法、装置、系统及其存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112190940A (zh) * | 2020-10-19 | 2021-01-08 | 珠海金山网络游戏科技有限公司 | 动画处理方法及装置 |
CN112354186A (zh) * | 2020-11-10 | 2021-02-12 | 网易(杭州)网络有限公司 | 游戏动画模型控制方法、装置、电子设备以及存储介质 |
CN112774200A (zh) * | 2021-01-22 | 2021-05-11 | 北京字跳网络技术有限公司 | 角色交互控制方法、装置、计算机设备以及存储介质 |
CN113198179A (zh) * | 2021-05-10 | 2021-08-03 | 网易(杭州)网络有限公司 | 虚拟对象的转向控制方法及装置、存储介质、电子设备 |
CN113198179B (zh) * | 2021-05-10 | 2024-06-04 | 网易(杭州)网络有限公司 | 虚拟对象的转向控制方法及装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111744195B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111744195A (zh) | 模型控制方法和装置、存储介质和电子装置 | |
CN109499068B (zh) | 对象的控制方法和装置、存储介质、电子装置 | |
US20240058691A1 (en) | Method and system for using sensors of a control device for control of a game | |
CN109847361B (zh) | 运动状态的同步方法和装置、存储介质、电子装置 | |
CN111744201B (zh) | 视频游戏中的自动玩家控制接管 | |
US20110119332A1 (en) | Movement animation method and apparatus | |
CN112807681B (zh) | 游戏控制方法、装置、电子设备及存储介质 | |
US11724191B2 (en) | Network-based video game editing and modification distribution system | |
CN107913521B (zh) | 虚拟环境画面的显示方法和装置 | |
WO2021160108A1 (zh) | 一种动画视频处理方法、装置、电子设备及存储介质 | |
US11951398B2 (en) | Method and apparatus for controlling virtual race car, storage medium, and device | |
KR20090003337A (ko) | 가상 장비 모델의 자동 적합화 방법 | |
CN107998654B (zh) | 加速度的调整方法和装置、存储介质、电子装置 | |
KR20210090239A (ko) | 정보 예측 방법, 모델 훈련 방법 및 서버 | |
JP2021112561A (ja) | ビデオゲーム内のゲームオブジェクトの状態を変化させるためのシステム及び方法 | |
US20220409998A1 (en) | Request distribution system | |
CN112156459A (zh) | 对战游戏的控制方法和装置、存储介质和电子装置 | |
CN111968204A (zh) | 一种骨骼模型的运动展示方法和装置 | |
CN105531003B (zh) | 模拟装置及模拟方法 | |
CN111773702A (zh) | 一种游戏直播的控制方法及装置 | |
US20120196684A1 (en) | Combining motion capture and timing to create a virtual gaming experience | |
CN114225413A (zh) | 碰撞检测方法、装置、电子设备和存储介质 | |
CN109857567B (zh) | 一种ai状态信息的同步方法和装置 | |
CN114011071A (zh) | 虚拟角色的控制方法和装置、存储介质及电子设备 | |
US20240216815A1 (en) | Method and apparatus for controlling virtual race car, storage medium, and device |
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 |