CN110302537A - 虚拟对象控制方法、装置、存储介质和计算机设备 - Google Patents
虚拟对象控制方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110302537A CN110302537A CN201910620281.3A CN201910620281A CN110302537A CN 110302537 A CN110302537 A CN 110302537A CN 201910620281 A CN201910620281 A CN 201910620281A CN 110302537 A CN110302537 A CN 110302537A
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual objects
- interface
- program
- interacting
- 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 89
- 230000033001 locomotion Effects 0.000 claims abstract description 243
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000012360 testing method Methods 0.000 claims description 34
- 230000007613 environmental effect Effects 0.000 claims description 25
- 230000009471 action Effects 0.000 claims description 19
- 238000002347 injection Methods 0.000 claims description 18
- 239000007924 injection Substances 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 16
- 230000002452 interceptive effect Effects 0.000 description 14
- 239000011800 void material Substances 0.000 description 11
- 230000002411 adverse Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- QHGVXILFMXYDRS-UHFFFAOYSA-N pyraclofos Chemical compound C1=C(OP(=O)(OCC)SCCC)C=NN1C1=CC=C(Cl)C=C1 QHGVXILFMXYDRS-UHFFFAOYSA-N 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;获取在所述地图中从所述初始位置至所述目标位置的路径;调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。本申请提供的方案可以提高虚拟对象控制效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着计算机技术的发展,人们可以通过计算机技术来模拟现实生活中的场景,以丰富人们的生活。例如,在游戏应用中,可以通过在虚拟交互场景中控制虚拟对象,使得该虚拟对象实现行走、跑动、跳跃、或射击等动作,来模拟现实中人的动作。
在一款游戏应用的开发或使用过程中,常常面临对游戏应用进行测试的场景。在测试场景下,通常都需要设计AI(Artificial Intelligence,人工智能)角色来模拟真实的人工操作。对于传统的控制AI角色的方式,开发人员需要设计一套不同于游戏逻辑的完整的AI行为树代码,运行在服务器后台,并向终端同步AI角色的状态信息。这种控制AI角色的方式,由于整个逻辑独立于游戏逻辑,需要重新设计和实现,并且在控制AI角色时需不断执行同步动作,导致控制效率低。
发明内容
基于此,有必要针对虚拟角色控制效率低的技术问题,提供一种虚拟对象控制方法、装置、计算机可读存储介质和计算机设备。
一种虚拟对象控制方法,包括:
获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
获取在所述地图中从所述初始位置至所述目标位置的路径;
调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
一种虚拟对象控制装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
所述获取模块还用于获取在所述地图中从所述初始位置至所述目标位置的路径;
控制模块,用于调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
所述控制模块还用于在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
获取在所述地图中从所述初始位置至所述目标位置的路径;
调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
获取在所述地图中从所述初始位置至所述目标位置的路径;
调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
上述虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,获取在地图中从第一虚拟对象的初始位置至目标位置的路径,控制第一虚拟对象按照路径运动。并且在第一虚拟对象的运动过程中,调用原有的虚拟交互程序中的动作接口,以控制该第一虚拟对象执行相应的动作。这样,通过直接调用虚拟交互程序中已经封装好的逻辑接口,来自动实现对虚拟对象的控制,整个方案可直接在终端上模拟真实的人工操作,无需反复与服务器进行状态同步,减少了额外的同步动作、以及数据传输的等待时间,大大提高了虚拟对象控制效率。
附图说明
图1为一个实施例中虚拟对象控制方法的应用环境图;
图2为一个实施例中虚拟对象控制方法的流程示意图;
图3为一个实施例中获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置步骤的流程示意图;
图4为一个实施例中代码动态注入的原理结构图;
图5为一个实施例中获取在地图中从初始位置至目标位置的路径步骤的时序图;
图6为一个实施例中虚拟对象控制方法的流程示意图;
图7为一个实施例中接口调用的原理框图;
图8为一个实施例中虚拟对象控制方法的流程示意图;
图9为一个实施例中虚拟对象控制装置的结构框图;
图10为另一个实施例中虚拟对象控制装置的结构框图;
图11为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中虚拟对象控制方法的应用环境图。参照图1,该虚拟对象控制方法应用于虚拟对象控制***。该虚拟对象控制***包括终端110和服务器120。终端110上运行有虚拟交互程序。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
需要说明的是,本申请实施例主要涉及电子游戏或者模拟训练场景,以电子游戏场景为例,ben fan在游戏上线前,测试人员常常需要对游戏的功能实现方面进行测试。测试人员可提前将游戏配置文件存储在终端上,该游戏配置文件具体可以包括该电子游戏的应用程序、界面显示数据或虚拟交互场景数据等,以使得用户在该终端上登录电子游戏时可以调用该游戏配置文件,对电子游戏界面进行渲染显示。测试人员可以在终端上进行操作,以通过终端渲染显示该电子游戏的游戏数据,其中,游戏数据可以包括虚拟交互场景数据、该虚拟交互场景中虚拟对象的行为数据等。
本申请涉及到的虚拟交互场景可以用于模拟一个三维虚拟空间,也可以用于模拟一个二维虚拟空间等,本申请实施例在此不做限定。其中,该三维虚拟空间或二维虚拟空间具体可以是一个开放空间。该虚拟交互场景可以用于模拟现实中的真实环境,例如,该虚拟交互场景中可以包括天空、陆地、或海洋等,该陆地可以包括沙漠、城市、或森林等环境元素。该虚拟交互场景具体可通过环境地图实现。终端可以控制虚拟对象在该虚拟交互场景中进行运动。该虚拟对象具体可以是该虚拟交互场景中的一个虚拟的用于代表用户的虚拟形象,该虚拟形象可以是任一种形态,例如,人、动物、或卡通人物等,本申请实施例对此不做限定。该虚拟交互场景中可以包括至少一个虚拟对象,每个虚拟对象在虚拟交互场景中具有自身的形状和体积,占据虚拟交互场景中的一部分空间。
以第一人称射击类游戏(FPS类游戏,First-person shooting game)为例,终端在对该电子游戏进行测试时,终端可以控制虚拟对象在该虚拟交互场景的陆地中进行运动或执行某些动作等,当然也可以控制虚拟对象在海洋中游泳、漂浮或者下潜等。其中虚拟对象在陆地中运动具体可以是在陆地上跑动、跳动、爬行、弯腰前行等。控制虚拟对象执行动作具体可以是攻击敌方的虚拟对象,比如射击或拳打等。在此仅以上述场景进行举例说明,本申请实施例中所提及的场景并不做限定本申请所应用的场景,本申请实施例对此不作具体限定。
在上述电子游戏场景或模拟场景中,通常会设置有摄像机模型,该摄像机模型可以是在三维虚拟环境中位于虚拟对象周围、或处于该虚拟对象眼部区域的三维模型,也可以是二维虚拟场景中的二维模型。该摄像机模型用于模拟第三方的观察点或虚拟对象的观察点。终端展示的虚拟交互界面中显示的虚拟交互场景即是该摄像机模型的镜头所能拍摄到的虚拟交互场景,也可以理解为该摄像机模型的镜头即为对虚拟交互场景的一个观察点。该镜头的方向即为视角的方向。当终端控制虚拟对象运动时,终端可以同时控制镜头进行相应的转动,而随着镜头转动,该镜头所能拍摄到的虚拟交互场景也会发生相应的变化,也即是虚拟交互场景的显示区域会不同,并且该虚拟对象视野范围内的环境信息也会发生变化。
如图2所示,在一个实施例中,提供了一种虚拟对象控制方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该虚拟对象控制方法具体包括如下步骤:
S202,获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置。
其中,虚拟交互程序是为了实现虚拟交互应用、且可以由计算机等具有信息处理能力的装置执行的代码化指令序列。虚拟交互程序具体可以是游戏程序或模拟训练程序等。
虚拟对象是计算机设备可操作的虚拟化对象,也可理解成虚拟交互程序所提供的在虚拟交互场景中的一个虚拟的用于代表用户的虚拟形象,该虚拟形象可以是任一种形态,例如,人、动物、或卡通人物等,本申请实施例对此不做限定。
第一虚拟对象是测试终端或用户终端所在一方的虚拟对象,相应地,本申请后续实施例中所提及的第二虚拟对象是与第一虚拟对象相对抗的虚拟对象。第一虚拟对象可称作己方虚拟对象;第二虚拟对象可称作敌对方虚拟对象。第一虚拟对象具体可以是被终端操作的虚拟对象。第二虚拟对象,是与第一虚拟对象相互对抗的另一方的虚拟对象。
初始位置是第一虚拟对象在地图中最开始的位置;目标位置是第一虚拟对象待运动至的位置。其中,初始位置具体可以是当运行虚拟交互程序时,终端所展示的虚拟交互界面中刷新的第一虚拟对象所在的位置;目标位置具体可以是敌对方阵营所在的位置或者是地图中的某个预设位置等。
具体地,终端上运行有操作***,并在操作***上运行虚拟交互程序。终端可通过运行的虚拟交互程序渲染显示虚拟交互界面,并在虚拟交互界面中展示地图和虚拟对象。该地图具体可以是环境地图;该虚拟对象包括第一虚拟对象。终端在渲染展示虚拟交互界面时,即可认为启动了当局的虚拟交互场景,终端可将第一虚拟对象当前在地图中的位置作为初始位置,将敌对方的第二虚拟对象所在的位置或者是地图中的某个预设位置作为目标位置。
在一个实施例中,步骤S202,也就是获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置的步骤具体包括以下步骤:
S302,通过终端展示虚拟交互界面,并在虚拟交互界面中展示虚拟对象。
其中,虚拟交互界面是终端通过运行虚拟交互程序时,依据相对应的界面显示数据在显示屏上渲染显示的界面。该界面显示数据具体可由虚拟交互配置文件提供。测试人员可提前将虚拟交互配置文件存储在终端上,该虚拟交互配置文件具体可以包括相应的虚拟交互程序、界面显示数据或虚拟交互场景数据等,以使得用户在该终端上登录时可以调用该虚拟交互配置文件,以渲染显示虚拟交互界面。
具体地,终端可通过在显示屏上渲染显示虚拟交互界面,并在虚拟交互界面展示至少一个虚拟对象。该虚拟交互界面除了展示虚拟对象外还可展示该虚拟对象所处的虚拟交互场景。
S304,将终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象,并将与第一虚拟对象相对抗的虚拟对象作为第二虚拟对象。
其中,终端可操作的虚拟对象是指终端可通过指令控制该虚拟对象执行相应的动作。具体地,终端可将该终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象,并将与第一虚拟对象相对抗的虚拟对象作为第二虚拟对象。其中,第二虚拟对象在虚拟交互的初始阶段可直接展示在该虚拟交互界面中,或者展示在随后显示的虚拟交互界面中,该随后显示的虚拟交互界面会依据第一虚拟对象的运动而发生变化。该第二虚拟对象的数量可以是一个或者多个。多个第二虚拟对象具体可以属于同一阵营也可以属于不同阵营,本申请实施例在此不做限定。
在一个实施例中,终端在展示虚拟交互界面时,可以以第一人称视角进行展示或者第三人称视角进行展示。其中,视角是展示虚拟交互界面中虚拟交互场景的视角。第一人称视角用于模拟通过第一虚拟对象的视角来观察虚拟交互场景,在这种情况下,摄像机通常可以位于第一虚拟对象的眼睛处,或第一虚拟对象的眼睛的附近区域,比如,第一虚拟对象的头部或胸部等。第三人称视角用于模拟在第一虚拟对象的周围的某个位置来观察虚拟交互场景,在这种情况下,摄像机通常可以位于第一虚拟对象的背后方,从而可以在虚拟交互场景中显示该第一虚拟对象,从而用户可以在虚拟交互场景中看到该第一虚拟对象的动作以及所处环境等。
在一个实施例中,当终端在虚拟交互界面中以第一人称视角展示虚拟交互场景时,随着第一虚拟对象的运动,该视角所能呈现的虚拟交互场景也在相应地发生变化。
在一个实施例中,当终端在虚拟交互界面中以第三人称视角展示虚拟交互场景时,该虚拟交互场景具体可是完整的场景,当第一虚拟对象运动时,仅在虚拟交互界面中刷新该第一虚拟对象的位置。或者,该虚拟交互场景,也可随着第一虚拟对象的运动而发生相应的变化。
S306,将第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将第二虚拟对象对应的营地在地图中的位置作为目标位置。
具体地,终端在展示虚拟交互界面时,可在该虚拟交互界面中展示由虚拟交互程序所提供的地图,该地图具体可以是环境地图。具体地,终端可将第一虚拟对象在地图中的位置作为初始位置,并将第二虚拟对象对应的营地在地图中的位置作为目标位置。其中,第一虚拟对象在地图中的位置具体可以是第一虚拟对象在地图中的坐标或与某个标志物间的相对坐标。第二虚拟对象对应的营地在地图中的位置,具体可以是第二虚拟对象在地图中的位置,或者第二虚拟对象所在阵营在地图中的位置。
在电子游戏场景中,对于对抗类的电子游戏,可设置一方占领另一方的营地,为至少一部分的游戏任务。在电子游戏场景,可设置当一方占领了另一方的营地时,认为占领对方营地的那一方获胜;或者继续执行新的游戏任务,直到游戏结束。因而,对于己方虚拟对象,该虚拟对象的运动路径是从己方的位置运动至敌对方的阵营所在的位置,因而可设置敌对方的营地所在的位置为目标位置。
上述实施例中,通过终端展示虚拟交互界面,并在虚拟交互界面中展示虚拟对象,将终端可操作的虚拟对象作为己方虚拟对象,也就是第一虚拟对象;将与第一虚拟对象相对抗的虚拟对象作为第二虚拟对象。进而可直接将第一虚拟对象的位置作为初始位置,将第二虚拟对象所在营地的位置作为目标位置,从而在后续的步骤中可控制第一虚拟对象朝第二虚拟对象运动。
在一个实施例中,步骤S202,也就是获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置的步骤具体包括:通过终端展示虚拟交互界面,并在虚拟交互界面中展示虚拟对象;将终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象;将第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将地图中相异于初始位置的预设位置作为目标位置。
具体地,终端可通过显示屏渲染显示虚拟交互界面,并在虚拟交互界面展示至少一个虚拟对象。终端将该终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象。终端将第一虚拟对象在地图中的位置作为初始位置,并将地图中与初始位置不同的预设位置作为目标位置。该预设位置具体可以是终端预先设置的位置,该预设位置处可显示有表示终点的标志物或被突出标记。其中,表示终点的标志物,比如“小红旗”或“小星星”的图标。
在电子游戏场景中,对于过关卡类的电子游戏,可设置一方的虚拟对象克服预设关卡达到预设位置为至少一部分的游戏任务。在电子游戏场景,可设置当一方的虚拟对象克服预设关卡时,直接获胜;或者继续执行新的游戏任务,直到游戏结束。则认为获胜。因而,对于己方虚拟对象,该虚拟对象的运动路径是从己方的位置运动至预设位置处,因而可设置某个预设位置为目标位置。
上述实施例中,通过终端展示虚拟交互界面,并在虚拟交互界面中展示虚拟对象,将终端可操作的虚拟对象作为己方虚拟对象,也就是第一虚拟对象。进而可直接将第一虚拟对象的位置作为初始位置,将相异于该初始位置的预设位置作为目标位置,从而在后续的步骤中可控制第一虚拟对象朝目标运动。
S204,获取在地图中从初始位置至目标位置的路径。
具体地,终端可在执行虚拟交互程序时,可直接通过运行的虚拟交互程序、或者在虚拟交互程序中注入的代码,依据第一虚拟对象在地图中的初始位置和目标位置,确定从初始位置至目标位置的路径。
其中,代码是表示信息的符号组合,具体可以是程序员用开发工具所支持的语言写出来的源文件。多组代码可组合构成程序。在一个实施例中,虚拟交互程序中可预先注入用于实现某些功能的代码,终端可在执行虚拟交互程序时,执行注入的代码,并通过注入的代码执行相应的动作,以获取在地图中从初始位置至目标位置的路径。
在一个实施例中,该虚拟对象控制方法还包括代码注入步骤,该步骤具体包括:获取待注入的代码;代码包括用于获取从初始位置至目标位置的路径的代码、以及用于实现运动接口和动作接口调用的代码;根据代码生成相应的库文件;通过虚拟交互程序中的库文件加载接口,加载库文件,以将代码注入至虚拟交互程序中。
其中,库文件,也称DLL(Dynamic Link Library),是动态链接库文件,又称“应用程序拓展”,是一种软件文件。具体地,为了实现本申请实施例中自动控制虚拟对象的方案,开发人员可预先编写用于实现具体功能的代码并注入至虚拟交互程序中。其中,具体功能,比如获取路径的功能、调用虚拟交互程序中的接口的功能等。相应的,注入至虚拟交互程序中的代码具体可包括用于获取从初始位置至目标位置的路径的代码、以及用于实现运动接口和动作接口调用的代码。进而,终端可根据待注入的代码生成对应的库文件。这样,当虚拟交互程序在运行时,可通过虚拟交互程序中的库文件加载接口,加载该库文件到内存中,使该库文件为虚拟交互程序的一部分,也就是将代码注入至虚拟交互程序中。这样,当加载到对应代码部分时,加载该代码时,则可实现该代码对应的功能,比如获取路径的功能、或反射调用虚拟交互程序中的接口的功能。
在一个实施例中,终端在运动虚拟交互程序时,可通过执行虚拟交互程序中注入的代码,以获取在地图中从初始位置至目标位置的路径。通过执行该代码中的运动接口函数,调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动。在第一虚拟对象的运动过程中,通过执行该代码中的动作接口函数,调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
其中,运动接口函数是封装运动接口的函数,具体可用于调用该运动接口,本申请实施例中,终端可通过执行该运动接口函数来调用虚拟交互程序中的运动接口。动作接口函数是封装动作接口的函数,具体可用于调用该动作接口,本申请实施例中,终端可通过执行该动作接口函数来调用虚拟交互程序中的动作接口。
在电子游戏场景中,以基于Unity(一套跨平台的游戏引擎)所开发的电子游戏为例,开发人员可预先将实现自动AI对象的相关代码实现编写成一个独立的库文件(gamelib.dll)中。在电子游戏运行的时候,运用unity的库文件加载接口,加载这个库文件到mono(一种框架)虚拟机的内存中。通过unity运行时的编译原理,通过加载库文件反射调用游戏程序的接口,以实现自动控制AI对象的行为逻辑的功能。
参考图4,图4为一个实施例中代码动态注入的原理结构图。如图4所示,在游戏逻辑运行的时候,运用unity引擎中运行的虚拟交互程序所提供的库文件加载接口,比如Assembly.Load(dll),加载库文件(也就是AI逻辑)到mono虚拟机的内存中。运行时编译,生成操作***(比如安卓***)可执行的本地代码(Native Code),通过对应的电子设备,比如安卓设备执行。
上述实施例中,预先将用于实现虚拟对象控制的额外的代码注入至虚拟交互程序中,以便于后续在运行虚拟交互程序时,可直接通过注入的代码调用虚拟交互程序中的对应的接口,可在终端上快速准确地实现模拟用户操作。
在一个实施例中,终端可通过虚拟交互程序或者在虚拟交互程序中注入的代码,在本地或者通过网络连接的其他计算机设备,确定地图中从初始位置到目标位置之间的至少一条可行走路径,并从至少一条可行走路径中筛选出一条作为确定的路径。其中,筛选的方式具体可以是随机筛选、或依据路径长度及转弯次数等因素进行综合评定后筛选等,本申请实施例在此不做限定。
在一个实施例中,步骤S204,也就是获取在地图中从初始位置至目标位置的路径的步骤具体包括:通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,生成路径获取请求;将路径获取请求发送至服务器;发送的路径获取请求用于指示服务器确定在地图中从初始位置至目标位置的路径;接收服务器反馈的路径。
具体地,终端可通过在虚拟交互程序中注入的代码,根据与第一虚拟对象对应的初始位置和目标位置生成路径获取请求,并将该路径获取请求发送至服务器。服务器收到路径获取请求后,确定地图中从初始位置到目标位置之间的至少一条可行走路径,并从至少一条可行走路径中筛选出一条作为确定的路径。服务器可将该路径所包括的坐标反馈至终端。
在一个实施例中,通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,生成路径获取请求的步骤具体包括:通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,按照请求协议生成路径获取请求。接收服务器反馈的路径的步骤具体包括:接收服务器反馈的、按照与请求协议对应的回包协议生成的回包;解析回包得到路径。
具体地,终端和服务器之间在通信时需要遵守相关的通信协议,比如请求协议和回包协议等。终端可通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,按照请求协议生成路径获取请求。其中,该请求协议,比如基于C2S_REQ_DST_PATH的协议。服务器在接收到路径获取请求后,根据初始位置对应的坐标和目标位置对应的坐标,确定地图中初始位置至目标位置的路径。服务器可根据该路径所包括的位置点对应的坐标,按照与请求协议对应的回包协议生成的回包,并将回包发送至终端。回包协议,比如基于eS2C_RES_DST_PATH的协议。终端解析回包的内容,得到从初始位置至目标位置的路径。
参考图5,图5为一个实施例中获取在地图中从初始位置至目标位置的路径步骤的时序图。如图5所示,终端上运行有客户端,客户端可向服务器发送路径获取请求,以请求可行走路径。服务器根据路径获取请求,计算从初始位置到目标位置间的路径,生成回包并反馈至终端。终端可处理回包,从回包中解析出路径对应的信息。
上述实施例中,通过在虚拟交互程序中注入的代码,向服务器发送路径获取请求,以使得服务器从地图中确定相应的路径并反馈。这样,仅仅通过一次交互即可确定虚拟对象对应的路径,可大大提高该代码的适用性,便于在改动极小的情况下就可注入其他的虚拟交互程序中,以实现自动控制虚拟对象的功能,大大减小了实现成本。
S206,调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动。
具体地,终端可通过执行在虚拟交互程序中注入的代码中的运动接口函数,调用虚拟交互程序中的运动接口,以控制第一虚拟对象按照路径,从初始位置开始趋向于目标位置运动。其中,控制第一虚拟对象运动具体可以是控制第一虚拟对象按照路径趋向于目标位置行走、跳跃、爬行、或跑动等。
在一个实施例中,步骤S206之前,该方法还包括:获取第一虚拟对象的属性信息;当属性信息表示第一虚拟对象处于存活状态时,执行调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动。
其中,属性信息是反映事物或对象的本质及特征的信息,比如虚拟对象当前的位置信息、虚拟对象的生命属性值、虚拟对象的能量值等等。在一个实施例中,第一虚拟对象的属性信息包括第一虚拟对象的生命属性值。当第一虚拟对象的生命属性值大于或等于预设值时,则可认为该第一虚拟对象处于存活状态。此时,终端可执行调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动的步骤。
在一个实施例中,当属性信息表示第一虚拟对象处于存活状态时,终端可通过执行虚拟交互程序中注入的代码,调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动。
上述实施例中,在控制第一虚拟对象运动前,可先确定该第一虚拟对象是否存活,当该第一虚拟对象存活时,才可模拟后续的运动操作。
在一个实施例中,步骤S206,也就是调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动的步骤具体包括:通过在虚拟交互程序中注入的代码,调用虚拟交互程序中的运动接口,依据路径,确定第一虚拟对象对应的运动方向;获取第一虚拟对象对应的运动速度;根据运动方向和运动速度,控制第一虚拟对象按照路径趋向于目标位置运动。
其中,运动方向是第一虚拟对象在运动过程中的方向,具体可以是第一虚拟对象向前行走时,第一虚拟对象的正前方,也可以是第一虚拟对象向前行走时预设角度内的任一方向。
具体地,终端可通过虚拟交互程序中注入的代码,调用虚拟交互程序中的运动接口,依据从初始位置至目标位置的路径确定沿着该路径运动时,第一虚拟对象的运动方向。终端依据第一虚拟对象的朝向和前进方向间的夹角,调整第一虚拟对象的朝向以匹配该运动方向。终端可获取预设的运动速度,或者依据路径的长度确定合适的运动速度,并根据运动方向和运动速度,控制第一虚拟对象按照路径趋向于目标位置运动。其中,第一虚拟对象的朝向是第一虚拟对象前面的方向,具体可以是第一虚拟对象的前方,或者前方的预设角度内的任一方向等,本申请实施例在此不做限定。
可以理解,第一虚拟对象在运动过程中,可以保持匀速运动、或者变速运动等,本申请实施例在此不做限定。第一虚拟对象在运动过程中,终端可根据第一虚拟对象当前在路径中的具***置,以及待前进的目标位置之间的方位关系来不断地适应性调整第一虚拟对象当前的运动方向,以保障第一虚拟对象可以沿着该路径运动。
上述实施例中,根据路径确定第一虚拟对象对应的运动方向,可依据运动方向和运动速度,准确地控制第一虚拟对象沿着路径运动。
S208,在第一虚拟对象的运动过程中,调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
具体地,在第一虚拟对象的运动过程中,终端可通过注入至虚拟交互程序中的代码调用虚拟交互程序中的动作接口,以通过虚拟交互程序原有的动作接口控制第一虚拟对象执行相应的动作。其中,控制第一虚拟对象执行相应的动作,比如控制第一虚拟对象进行跳跃、避障、攻击、或加速、减速等。
在一个实施例中,在第一虚拟对象的运动过程中,终端可通过执行该代码中的动作接口函数,来调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。可以理解,对于不同的动作接口,终端可通过执行该代码中对应的动作接口函数,来调用匹配的动作接口。
可以理解,对于不同的虚拟交互程序,通过虚拟交互程序中的动作接口所能实现的动作可以是相同的动作也可以是不同的动作,控制第一虚拟交互程序所能执行的动作可以是单一的动作也可以是多样的动作,具体依据该虚拟交互程序的原生设定。
在一个实施例中,在第一虚拟对象的运动过程中,当满足动作触发条件时,终端通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。其中,满足动作触发条件具体可以是满足预设的触发条件,比如第一虚拟对象的运动时长达到预设时长、第一虚拟对象运动到某个预设的位置、第一虚拟对象在运动过程中遇到障碍物、或第一虚拟对象视野范围内出现敌对的第二虚拟对象等。当满足动作触发条件时,终端可通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
上述虚拟对象控制方法,获取在地图中从第一虚拟对象的初始位置至目标位置的路径,控制第一虚拟对象按照路径运动。并且在第一虚拟对象的运动过程中,调用原有的虚拟交互程序中的动作接口,以控制该第一虚拟对象执行相应的动作。这样,通过直接调用虚拟交互程序中已经封装好的逻辑接口,来自动实现对虚拟对象的控制,整个方案可直接在终端上模拟真实的人工操作,无需反复与服务器进行状态同步,减少了额外的同步动作、以及数据传输的等待时间,大大提高了虚拟对象控制效率。
在一个实施例中,该虚拟对象控制方法包括:获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;通过在虚拟交互程序中注入的代码,获取在地图中从初始位置至目标位置的路径;通过代码调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动;在第一虚拟对象的运动过程中,通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。其中,注入至虚拟交互程序中的代码包括用于获取从初始位置至目标位置的路径的代码、以及用于实现运动接口和动作接口调用的代码。
上述实施例中,通过在原有的虚拟交互程序中注入的代码,可以获取在地图中从第一虚拟对象的初始位置至目标位置的路径。从而可直接通过注入的代码调用原有的虚拟交互程序中的运动接口,控制第一虚拟对象按照路径运动。并且在第一虚拟对象的运动过程中,通过注入的代码调用原有的虚拟交互程序中的动作接口,以控制该第一虚拟对象执行相应的动作。这样,通过在原有的虚拟交互程序中注入代码,反射调用虚拟交互程序中已经封装好的逻辑接口,即可自动实现对虚拟对象的控制,对原本的虚拟交互程序的改动极小,大大减少了开发成本。并且,整个方案可直接在终端上模拟真实的人工操作,无需反复与服务器进行状态同步,减少了额外的同步动作、以及数据传输的等待时间,大大提高了虚拟对象控制效率。
在一个实施例中,步骤S208,也就是在第一虚拟对象的运动过程中,调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作的步骤具体包括:在第一虚拟对象的运动过程中,通过在虚拟交互程序中注入的代码调用虚拟交互程序中的观察接口,确定第一虚拟对象视野范围内的环境信息;当环境信息满足动作触发条件时,通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
具体地,在第一虚拟对象的运动过程中,终端可通过注入至虚拟交互程序中的代码,反射调用虚拟交互程序中的观察接口,通过预设置的摄像机模型,从该第一虚拟对象的第一人称视角,展示第一虚拟对象视野范围内的环境信息,也就是展示第一虚拟对象视野范围内的虚拟交互场景。其中,环境信息具体可以包括出现在第一虚拟对象视野范围内的陆地、房屋、岩石、遮挡物、或第二虚拟对象等。当该虚拟交互场景中所包括的环境信息满足动作触发条件时,终端可通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
在一个实施例中,在第一虚拟对象的运动过程中,终端可通过执行该代码中的观察接口函数,从而实现反射调用虚拟交互程序中的观察接口,以获取第一虚拟对象视野范围内的环境信息。
在一个实施例中,当第一虚拟对象视野范围内的环境信息包括障碍物时,终端可通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象绕过障碍物或跳过障碍物行走。
在一个实施例中,当第一虚拟对象视野范围内出现与第一虚拟对象相对抗的第二虚拟对象时,终端可通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象瞄准并攻击第二虚拟对象。
在一个实施例中,当第一虚拟对象处于敌对方的第二虚拟对象的视野范围内时,相应的,该第二虚拟对象也可瞄准和攻击第一虚拟对象。当第一虚拟对象被攻击时,第一虚拟对象的属性信息会根据被攻击的次数和强度进行相对应的调整。比如,生命属性值会相应的减少。可以理解,该第二虚拟对象具体可以是玩家操控的虚拟对象,也可以是其他终端所控制的AI对象,本申请实施例在此并不做限定,只需满足第一虚拟对象和第二虚拟对象是敌对方的虚拟对象即可。
上述实施例中,在第一虚拟对象的运动过程中,可通过代码调用虚拟交互程序中的观察接口,以及时确定第一虚拟对象视野范围内的环境信息。当环境信息满足动作触发条件时,则可自动控制第一虚拟对象执行相应的动作。这样,通过反射调用观察接口和动作接口,可及时发现第一虚拟对象视野中存在的异常情况,并及时控制第一虚拟对象执行相应的动作。
在一个实施例中,当环境信息满足动作触发条件时,通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作的步骤包括:当环境信息包括与第一虚拟对象相对抗的第二虚拟对象时,通过代码调用虚拟交互程序中的瞄准接口,调整第一虚拟对象的朝向,以控制第一虚拟对象的虚拟道具瞄准第二虚拟对象;通过代码调用虚拟交互程序中的攻击接口,控制第一虚拟对象通过虚拟道具攻击第二虚拟对象。
具体地,动作接口具体可包括瞄准接口和攻击接口。当环境信息包括与第一虚拟对象相对抗的第二虚拟对象时,终端可通过代码调用虚拟交互程序中的瞄准接口,确定第二虚拟对象的位置,并依据第一虚拟对象当前的位置和第二虚拟对象的位置,确定用于虚拟连接者两个位置的线段,调整第一虚拟对象的朝向,使得第一虚拟对象的朝向所在的方位与该线段的方位重合。可以理解,虚拟对象可携带虚拟道具,当第一虚拟对象的朝向所在的方位与该线段的方位重合,终端可控制第一虚拟对象的虚拟道具瞄准该第二虚拟对象。其中,虚拟道具具体可以是枪械模型、弹弓模型、或弓箭模型等具有攻击效力的道具模型。
在一个实施例中,当依据第一虚拟对象当前的位置和第二虚拟对象的位置,确定的用于虚拟连接者两个位置的线段之间存在遮挡物时,终端可控制第一虚拟对象调整运动方向,寻找合适的转移路径,绕过该遮挡物、或远离该遮挡物,使得用于虚拟连接第一虚拟对象和第二虚拟对象的线段之间不存在遮挡物。这样,终端即可控制第一虚拟对象的虚拟道具瞄准第二虚拟对象。
进一步地,当终端控制第一虚拟对象的虚拟道具瞄准第二虚拟对象时,终端可通过代码调用虚拟交互程序中的攻击接口,控制第一虚拟对象通过虚拟道具自动攻击第二虚拟对象。比如,当虚拟道具为枪械模型时,终端可通过注入的代码反射调用虚拟交互程序中原有的攻击接口,通过虚拟道具射击第二虚拟对象。
可以理解,当第二虚拟对象被攻击时,相应的,第二虚拟对象的属性信息中表示生命强度的生命属性值会相应的减少,当减少至预设值时,则可认为该第二虚拟对象处于死亡状态,处于死亡状态的第二虚拟对象无法再发起进攻。
上述实施例中,当第一虚拟对象的视野范围内出现第二虚拟对象时,终端可自动控制第一虚拟对象瞄准并攻击第二虚拟对象,无需人为手动操作,大大提高了虚拟对象的控制效率。
在一个实施例中,该虚拟对象控制方法还包括第一虚拟对象重生控制的步骤,该步骤具体包括:当第一虚拟对象处于死亡状态时,获取重生位置;在重生位置处重置第一虚拟对象,并将重生位置作为重置后的第一虚拟对象对应的初始位置;返回获取在地图中从初始位置至目标位置的路径的步骤并继续执行。
具体地,当第一虚拟对象被第二虚拟对象攻击时,第一虚拟对象的生命属性值会相应的减少。当第一虚拟对象的生命属性值小于预设值时,终端可判定第一虚拟对象处于死亡状态。此时,终端可确定预先设置的重生位置,该重生位置具体可以是第一虚拟对象的初始位置,或者其他的相异于目标位置的位置。进而,终端可在重生位置处重置第一虚拟对象。也就是处于死亡状态的第一虚拟对象会消失在虚拟交互界面中,而相应的,重生位置处会出现重置的第一虚拟对象。该重置的第一虚拟对象的属性信息会恢复成初始的属性信息。
进一步地,终端可将重置(也可称作重生)的第一虚拟对象的重生位置,作为重置后的第一虚拟对象对应的初始位置,并返回步骤S204。也就是,终端会获取在地图中从重生位置至目标位置的路径;通过代码调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动;在第一虚拟对象的运动过程中,通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
可以理解,第一虚拟对象可重生的次数可以是有限的,比如3次,也可以是无限的。假如第一虚拟对象可重生的次数为有限次,当第一虚拟对象的死亡次数达到预设次数或该第一虚拟对象达到目标位置时,则该局虚拟交互行为结束。假如虚拟对象可重生的次数是无限次,当第一虚拟对象达到目标位置时,则该局虚拟交互行为结束。
上述实施例中,当第一虚拟对象处于死亡状态时,可在重生位置处重置该第一虚拟对象,并将重生位置作为重置后的第一虚拟对象对应的初始位置,从而返回获取在地图中从初始位置至目标位置的路径的步骤并继续执行。这样,当第一虚拟对象处于死亡状态时,可自动在重生位置处重生,从而继续实现自动控制第一虚拟对象,大大提高了虚拟对象的控制效率。
在一个实施例中,该虚拟对象控制方法还包括获取测试指令的步骤,该步骤具体包括:展示虚拟交互程序所提供的虚拟交互界面,并在虚拟交互界面中展示第一虚拟对象;获取作用于虚拟交互界面、且用于测试虚拟交互程序的测试指令。步骤S202,也就是获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置,包括:根据测试指令执行获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置。
具体地,测试人员可提前将虚拟交互程序存储在终端上,终端可通过运行虚拟交互程序,展示虚拟交互界面,并在虚拟交互界面中展示第一虚拟对象。另外,终端还可在虚拟交互界面中展示虚拟交互场景。终端可检测到作用于虚拟交互界面的测试指令,该测试指令用于测试虚拟交互程序。当终端获取到测试指令时,根据测试指令执行获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置。
在一个实施例中,测试指令具体可以是作用于虚拟交互界面上的触发操作所生成的。在另一些实施例中,测试指令可以是定时、达到预设时间点、或展示虚拟交互界面时自动触发生成的。本申请实施例在此不做限定。
其中,触发操作具体可以是触摸操作、光标操作、按键操作或者语音操作。其中,触摸操作可以是触摸点击操作、触摸按压操作或者触摸滑动操作,触摸操作可以是单点触摸操作或者多点触摸操作;光标操作可以是控制光标进行点击的操作或者控制光标进行按压的操作;按键操作可以是虚拟按键操作或者实体按键操作等。
在一个实施例中,该测试指令具体可以用于进行自动化性能测试、自动化冒烟测试、自动化局内逻辑功能测试、或自动化兼容测试等。
上述实施例中,展示了虚拟交互界面后,可获取测试指令,并依据该测试指令执行获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置及后续的步骤,以实现自动化测试该虚拟对象的控制效果,既能极大减少人力测试成本、又大大提高了测试效率。
下面以该虚拟对象控制方法应用于电子游戏的具体场景为例进行说明。本申请实施例提供了一套可以快速模拟人为操作的控制AI对象的方案。可通过向服务器发送路径获取请求,以通过服务器自动计算可行路径,得到可行路径的世界坐标点。进而调用游戏逻辑中1P角色的运动接口,实现自动化寻路功能。在寻路过程中(也就是在运动过程中),通过调用观察接口自动判定视野范围内的可射击对象,通过调用瞄准接口和攻击接口,实现判定敌对方的虚拟对象的方位并瞄准射击。在实现自动控制AI对象前,终端可通过Unity的JIT(just in time,即时)动态注入代码的方式、以及反射调用原有的逻辑接口来实现,对游戏原本的代码改动极小。
其中,将相关的代码注入电子游戏程序的过程具体可如下述描述。终端可将该代码实现编写一个独立的库文件(gamelib.dll)中,游戏运行的时候,运用unity的库文件加载接口,加载这个库文件到mono虚拟机的内存中。通过unity的运行时编译原理,反射调用库文件的函数接口,实现调用AI角色的行为逻辑模块。
本申请实施例所提及的虚拟对象控制方法可通过Unity游戏的局内AI对象实现,可以移植到其他Unity项目中,在终端所提供的环境中运行实现。以该方法应用于电子游戏的手机客户端为例进行详细说明,参考图6,图6为一个实施例中虚拟对象控制方法的流程示意图。如图6所示,当运行电子游戏程序,进入游戏单局后,手机客户端向服务器端发送一条请求。服务器返回一条包含当前可行走路径的坐标。客户端收到后台返回的协议回包后,解析协议回包获取可行走路径的坐标。客户端判断当前的AI角色是否死亡,如果没有死亡,则再调用运动接口控制AI角色运动。如果当前的AI角色死亡,则重生该AI角色,并返回到获取可行走路径的坐标的步骤上。当AI角色在运动过程中,如果碰到敌人,则调用瞄准模块和射击模块自动进行战斗。如果AI角色死亡,则返回获取可行走路径的坐标的步骤上,直至单局结束,退出该单局电子游戏。
其中,关于AI角色可实现自动运动、自动瞄准、自动射击、及判定敌人是否存在等行为,这些行为引用了游戏逻辑的功能接口,主要的原理如下图7所示。图7为一个实施例中接口调用的原理框图。参考图7,图7左侧为游戏程序中注入的代码所需实现的功能部分,图7的右侧为游戏程序中原有的功能模块对应的接口。如图7所示,库文件和游戏功能模块都在游戏主进程(UnityMain)中,当AI角色需实现自动运动行为时,客户端可调用游戏功能模块中的Assembly-Csharp.dll接口;当AI角色需实现自动瞄准行为时,客户端可调用游戏功能模块中的UnityEngine.dll接口;当AI角色需实现自动涉及行为时,客户端可调用游戏功能模块中的System.dll接口;当AI角色需实现判断敌人时,客户端可调用游戏功能模块中的DataProto.dll接口。
本申请实施例所提及的方案,可在终端中运行的客户端中实现,完全模拟真机环境的操作,在需要多真人测试的场景下能减少人力投入,提高测试效率;对原有的程序改动小,实现成本低,便于调试和维护;整个方案的实现可直接调用原有的游戏逻辑,AI操作灵活精细;该方案可全场景使用,不需要人工打点等操作,可快速覆盖新场景(不同地图的场景);该方案可适用于其他unity类型的游戏自动化,快速接入,实现成本低。
如图8所示,在一个具体的实施例中,该虚拟对象控制方法具体包括以下步骤:
S802,获取待注入的代码;代码包括用于获取从初始位置至目标位置的路径的代码、以及用于实现运动接口和动作接口调用的代码。
S804,根据代码生成相应的库文件。
S806,通过虚拟交互程序中的库文件加载接口,加载库文件,以将代码注入至虚拟交互程序中。
S808,展示虚拟交互程序所提供的虚拟交互界面,并在虚拟交互界面中展示虚拟对象。
S810,获取作用于虚拟交互界面、且用于测试虚拟交互程序的测试指令。
S812,根据测试指令将终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象,并将与第一虚拟对象相对抗的虚拟对象作为第二虚拟对象。
S814,将第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将第二虚拟对象对应的阵营在地图中的位置作为目标位置。
S816,通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,按照请求协议生成路径获取请求。
S818,将路径获取请求发送至服务器;发送的路径获取请求用于指示服务器确定在地图中从初始位置至目标位置的路径,并按照与请求协议对应的回包协议,根据路径生成回包。
S820,接收服务器反馈的回包,并解析回包得到路径。
S822,获取第一虚拟对象的属性信息。
S824,当属性信息表示第一虚拟对象处于存活状态时,通过代码调用虚拟交互程序中的运动接口,依据路径,确定第一虚拟对象对应的运动方向。
S826,获取第一虚拟对象对应的运动速度。
S828,根据运动方向和运动速度,控制第一虚拟对象按照路径趋向于目标位置运动。
S830,在第一虚拟对象的运动过程中,通过代码调用虚拟交互程序中的观察接口,确定第一虚拟对象视野范围内的环境信息。
S832,当环境信息包括与第一虚拟对象相对抗的第二虚拟对象时,通过代码调用虚拟交互程序中的瞄准接口,调整第一虚拟对象的朝向,以控制第一虚拟对象的虚拟道具瞄准第二虚拟对象。
S834,通过代码调用虚拟交互程序中的攻击接口,控制第一虚拟对象通过虚拟道具攻击第二虚拟对象。
S836,当第一虚拟对象处于死亡状态时,获取重生位置。
S838,在重生位置处重置第一虚拟对象,并将重生位置作为重置后的第一虚拟对象对应的初始位置,并返回步骤S816继续执行。
上述虚拟对象控制方法,通过在原有的虚拟交互程序中注入的代码,可以获取在地图中从第一虚拟对象的初始位置至目标位置的路径。从而可直接通过注入的代码调用原有的虚拟交互程序中的运动接口,控制第一虚拟对象按照路径运动。并且在第一虚拟对象的运动过程中,通过注入的代码调用原有的虚拟交互程序中的动作接口,以控制该第一虚拟对象执行相应的动作。这样,通过在原有的虚拟交互程序中注入代码,反射调用虚拟交互程序中已经封装好的逻辑接口,即可自动实现对虚拟对象的控制,对原本的虚拟交互程序的改动极小,大大减少了开发成本。并且,整个方案可直接在终端上模拟真实的人工操作,无需反复与服务器进行状态同步,减少了额外的同步动作、以及数据传输的等待时间,大大提高了虚拟对象控制效率。
图8为一个实施例中虚拟对象控制方法的流程示意图。应该理解的是,虽然图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图9所示,在一个实施例中,提供了虚拟对象控制装置900,包括获取模块901和控制模块902。
获取模块901,用于获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
获取模块901还用于获取在地图中从初始位置至目标位置的路径;
控制模块902,用于调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动;
控制模块902还用于在第一虚拟对象的运动过程中,调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
在一个实施例中,获取模块901还用于通过在虚拟交互程序中注入的代码,获取在地图中从初始位置至目标位置的路径。控制模块902还用于通过代码调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动。控制模块902还用于在第一虚拟对象的运动过程中,通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
在一个实施例中,该虚拟对象控制装置900还包括生成模块903和加载模块904,其中:
获取模块901还用于获取待注入的代码;代码包括用于获取从初始位置至目标位置的路径的代码、以及用于实现运动接口和动作接口调用的代码。
生成模块903,用于根据代码生成相应的库文件。
加载模块904,用于通过虚拟交互程序中的库文件加载接口,加载库文件,以将代码注入至虚拟交互程序中。
在一个实施例中,获取模块901还用于通过终端展示虚拟交互界面,并在虚拟交互界面中展示虚拟对象;将终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象,并将与第一虚拟对象相对抗的虚拟对象作为第二虚拟对象;将第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将第二虚拟对象对应的阵营在地图中的位置作为目标位置。
在一个实施例中,获取模块901还用于通过终端展示虚拟交互界面,并在虚拟交互界面中展示虚拟对象;将终端可操作的虚拟对象作为虚拟交互界面中的第一虚拟对象;将第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将地图中相异于初始位置的预设位置作为目标位置。
在一个实施例中,获取模块901还用于通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,生成路径获取请求;将路径获取请求发送至服务器;发送的路径获取请求用于指示服务器确定在地图中从初始位置至目标位置的路径;接收服务器反馈的路径。
在一个实施例中,通过在虚拟交互程序中注入的代码,根据初始位置和目标位置,按照请求协议生成路径获取请求;接收服务器反馈的、按照与请求协议对应的回包协议生成的回包;解析回包得到路径。
在一个实施例中,虚拟对象控制装置900还包括执行模块905,其中:
获取模块901还用于获取第一虚拟对象的属性信息。
执行模块905,用于当属性信息表示第一虚拟对象处于存活状态时,执行调用虚拟交互程序中的运动接口,控制第一虚拟对象按照路径趋向于目标位置运动。
在一个实施例中,控制模块902还用于通过在虚拟交互程序中注入的代码,调用虚拟交互程序中的运动接口,依据路径,确定第一虚拟对象对应的运动方向;获取第一虚拟对象对应的运动速度;根据运动方向和运动速度,控制第一虚拟对象按照路径趋向于目标位置运动。
在一个实施例中,控制模块902还用于在第一虚拟对象的运动过程中,通过在虚拟交互程序中注入的代码调用虚拟交互程序中的观察接口,确定第一虚拟对象视野范围内的环境信息;当环境信息满足动作触发条件时,通过代码调用虚拟交互程序中的动作接口,控制第一虚拟对象执行相应的动作。
在一个实施例中,控制模块902还用于当环境信息包括与第一虚拟对象相对抗的第二虚拟对象时,通过代码调用虚拟交互程序中的瞄准接口,调整第一虚拟对象的朝向,以控制第一虚拟对象的虚拟道具瞄准第二虚拟对象;通过代码调用虚拟交互程序中的攻击接口,控制第一虚拟对象通过虚拟道具攻击第二虚拟对象。
在一个实施例中,该虚拟对象控制装置还包括重置模块906,用于当第一虚拟对象处于死亡状态时,获取重生位置;在重生位置处重置第一虚拟对象,并将重生位置作为重置后的第一虚拟对象对应的初始位置;返回获取在地图中从初始位置至目标位置的路径的步骤并继续执行。
参考图10,在一个实施例中,该虚拟对象控制装置还包括展示模块907,用于展示虚拟交互程序所提供的虚拟交互界面,并在虚拟交互界面中展示第一虚拟对象。获取模块901还用于获取作用于虚拟交互界面、且用于测试虚拟交互程序的测试指令;根据测试指令执行获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置。
图11示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图11所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟对象控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟对象控制方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟对象控制装置可以实现为一种计算机程序的形式,计算机程序可在如图11所示的计算机设备上运行。计算机设备的存储器中可存储组成该虚拟对象控制装置的各个程序模块,比如,图9所示的获取模块和控制模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的虚拟对象控制方法中的步骤。
例如,图11所示的计算机设备可以通过如图9所示的虚拟对象控制装置中的获取模块执行步骤S202和S204。计算机设备可通过控制模块执行步骤S206和S208。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法的步骤。此处虚拟对象控制方法的步骤可以是上述各个实施例的虚拟对象控制方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法的步骤。此处虚拟对象控制方法的步骤可以是上述各个实施例的虚拟对象控制方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种虚拟对象控制方法,包括:
获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
获取在所述地图中从所述初始位置至所述目标位置的路径;
调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
2.根据权利要求1所述的方法,其特征在于,所述获取在所述地图中从所述初始位置至所述目标位置的路径,包括:
通过在所述虚拟交互程序中注入的代码,获取在所述地图中从所述初始位置至所述目标位置的路径;
所述调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动,包括:
通过所述代码调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
所述在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作,包括:
在所述第一虚拟对象的运动过程中,通过所述代码调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取待注入的代码;所述代码包括用于获取从初始位置至目标位置的路径的代码、以及用于实现运动接口和动作接口调用的代码;
根据所述代码生成相应的库文件;
通过所述虚拟交互程序中的库文件加载接口,加载所述库文件,以将所述代码注入至所述虚拟交互程序中。
4.根据权利要求1所述的方法,其特征在于,所述获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置,包括:
通过终端展示虚拟交互界面,并在所述虚拟交互界面中展示虚拟对象;
将所述终端可操作的虚拟对象作为所述虚拟交互界面中的第一虚拟对象,并将与所述第一虚拟对象相对抗的虚拟对象作为第二虚拟对象;
将所述第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将所述第二虚拟对象对应的营地在所述地图中的位置作为目标位置。
5.根据权利要求1所述的方法,其特征在于,所述获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置,包括:
通过终端展示虚拟交互界面,并在所述虚拟交互界面中展示虚拟对象;
将所述终端可操作的虚拟对象作为所述虚拟交互界面中的第一虚拟对象;
将所述第一虚拟对象在虚拟交互程序所提供的地图中的位置作为初始位置,并将所述地图中相异于所述初始位置的预设位置作为目标位置。
6.根据权利要求1所述的方法,其特征在于,所述获取在所述地图中从所述初始位置至所述目标位置的路径,包括:
通过在所述虚拟交互程序中注入的代码,根据所述初始位置和所述目标位置,生成路径获取请求;
将所述路径获取请求发送至服务器;发送的所述路径获取请求用于指示所述服务器确定在所述地图中从所述初始位置至所述目标位置的路径;
接收所述服务器反馈的路径。
7.根据权利要求6所述的方法,其特征在于,所述通过在所述虚拟交互程序中注入的代码,根据所述初始位置和所述目标位置,生成路径获取请求包括:
通过在所述虚拟交互程序中注入的代码,根据所述初始位置和所述目标位置,按照请求协议生成路径获取请求;
所述接收所述服务器反馈的路径包括:
接收所述服务器反馈的、按照与所述请求协议对应的回包协议生成的回包;
解析所述回包得到所述路径。
8.根据权利要求1所述的方法,其特征在于,所述获取在所述地图中从所述初始位置至所述目标位置的路径之后,所述方法还包括:
获取所述第一虚拟对象的属性信息;
当所述属性信息表示所述第一虚拟对象处于存活状态时,执行所述调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动。
9.根据权利要求1所述的方法,其特征在于,所述调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动,包括:
通过在所述虚拟交互程序中注入的代码,调用所述虚拟交互程序中的运动接口,依据所述路径,确定所述第一虚拟对象对应的运动方向;
获取所述第一虚拟对象对应的运动速度;
根据所述运动方向和所述运动速度,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动。
10.根据权利要求1所述的方法,其特征在于,所述在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作,包括:
在所述第一虚拟对象的运动过程中,通过在所述虚拟交互程序中注入的代码调用所述虚拟交互程序中的观察接口,确定所述第一虚拟对象视野范围内的环境信息;
当所述环境信息满足动作触发条件时,通过所述代码调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
11.根据权利要求10所述的方法,其特征在于,所述当所述环境信息满足动作触发条件时,通过所述代码调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作,包括:
当所述环境信息包括与所述第一虚拟对象相对抗的第二虚拟对象时,通过所述代码调用所述虚拟交互程序中的瞄准接口,调整所述第一虚拟对象的朝向,以控制所述第一虚拟对象的虚拟道具瞄准所述第二虚拟对象;
通过所述代码调用所述虚拟交互程序中的攻击接口,控制所述第一虚拟对象通过所述虚拟道具攻击所述第二虚拟对象。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一虚拟对象处于死亡状态时,获取重生位置;
在所述重生位置处重置所述第一虚拟对象,并将所述重生位置作为重置后的所述第一虚拟对象对应的初始位置;
返回所述获取在所述地图中从所述初始位置至所述目标位置的路径的步骤并继续执行。
13.根据权利要求1至12中任一项所述的方法,其特征在于,所述方法还包括:
展示虚拟交互程序所提供的虚拟交互界面,并在所述虚拟交互界面中展示第一虚拟对象;
获取作用于所述虚拟交互界面、且用于测试所述虚拟交互程序的测试指令;
所述获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置,包括:
根据所述测试指令执行获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置。
14.一种虚拟对象控制装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟交互程序所提供的地图中第一虚拟对象的初始位置和目标位置;
所述获取模块还用于获取在所述地图中从所述初始位置至所述目标位置的路径;
控制模块,用于调用所述虚拟交互程序中的运动接口,控制所述第一虚拟对象按照所述路径趋向于所述目标位置运动;
所述控制模块还用于在所述第一虚拟对象的运动过程中,调用所述虚拟交互程序中的动作接口,控制所述第一虚拟对象执行相应的动作。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910620281.3A CN110302537B (zh) | 2019-07-10 | 2019-07-10 | 虚拟对象控制方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910620281.3A CN110302537B (zh) | 2019-07-10 | 2019-07-10 | 虚拟对象控制方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110302537A true CN110302537A (zh) | 2019-10-08 |
CN110302537B CN110302537B (zh) | 2023-12-19 |
Family
ID=68080801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910620281.3A Active CN110302537B (zh) | 2019-07-10 | 2019-07-10 | 虚拟对象控制方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110302537B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111111181A (zh) * | 2019-12-26 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 虚拟环境中道具的设置方法、装置、设备及可读存储介质 |
CN111569422A (zh) * | 2020-05-15 | 2020-08-25 | 网易(杭州)网络有限公司 | 游戏角色间的交互方法、装置、电子设备及存储介质 |
CN112221143A (zh) * | 2020-10-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种控制虚拟对象移动的方法、装置及存储介质 |
CN113713384A (zh) * | 2021-09-14 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法和装置、存储介质及电子设备 |
CN113867531A (zh) * | 2021-09-30 | 2021-12-31 | 北京市商汤科技开发有限公司 | 交互方法、装置、设备及计算机可读存储介质 |
CN115212575A (zh) * | 2022-09-19 | 2022-10-21 | 南京惠积信息科技有限公司 | 连续状态空间智能体构建方法 |
WO2023169010A1 (zh) * | 2022-03-09 | 2023-09-14 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、电子设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120004017A1 (en) * | 2010-06-11 | 2012-01-05 | Nintendo Co., Ltd. | Computer-readable storage medium having information processing program stored therein, information processing apparatus, information processing system, and information processing method |
US20180172463A1 (en) * | 2016-12-16 | 2018-06-21 | Osvaldo Morales | Geo-location tracking system and method |
US20190076739A1 (en) * | 2017-09-12 | 2019-03-14 | Netease (Hangzhou) Network Co.,Ltd. | Information processing method, apparatus and computer readable storage medium |
US20190118078A1 (en) * | 2017-10-23 | 2019-04-25 | Netease (Hangzhou) Network Co.,Ltd. | Information Processing Method and Apparatus, Storage Medium, and Electronic Device |
CN109876438A (zh) * | 2019-02-20 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 用户界面显示方法、装置、设备及存储介质 |
-
2019
- 2019-07-10 CN CN201910620281.3A patent/CN110302537B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120004017A1 (en) * | 2010-06-11 | 2012-01-05 | Nintendo Co., Ltd. | Computer-readable storage medium having information processing program stored therein, information processing apparatus, information processing system, and information processing method |
US20180172463A1 (en) * | 2016-12-16 | 2018-06-21 | Osvaldo Morales | Geo-location tracking system and method |
US20190076739A1 (en) * | 2017-09-12 | 2019-03-14 | Netease (Hangzhou) Network Co.,Ltd. | Information processing method, apparatus and computer readable storage medium |
US20190118078A1 (en) * | 2017-10-23 | 2019-04-25 | Netease (Hangzhou) Network Co.,Ltd. | Information Processing Method and Apparatus, Storage Medium, and Electronic Device |
CN109876438A (zh) * | 2019-02-20 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 用户界面显示方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李晓燕等: "《电子商务概论 第2版》", 西安电子科技大学出版社, pages: 64 - 72 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111111181A (zh) * | 2019-12-26 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 虚拟环境中道具的设置方法、装置、设备及可读存储介质 |
CN111569422A (zh) * | 2020-05-15 | 2020-08-25 | 网易(杭州)网络有限公司 | 游戏角色间的交互方法、装置、电子设备及存储介质 |
CN111569422B (zh) * | 2020-05-15 | 2024-05-17 | 网易(杭州)网络有限公司 | 游戏角色间的交互方法、装置、电子设备及存储介质 |
CN112221143A (zh) * | 2020-10-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种控制虚拟对象移动的方法、装置及存储介质 |
CN113713384A (zh) * | 2021-09-14 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法和装置、存储介质及电子设备 |
CN113713384B (zh) * | 2021-09-14 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 虚拟角色的控制方法和装置、存储介质及电子设备 |
CN113867531A (zh) * | 2021-09-30 | 2021-12-31 | 北京市商汤科技开发有限公司 | 交互方法、装置、设备及计算机可读存储介质 |
WO2023169010A1 (zh) * | 2022-03-09 | 2023-09-14 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、电子设备、存储介质及程序产品 |
CN115212575A (zh) * | 2022-09-19 | 2022-10-21 | 南京惠积信息科技有限公司 | 连续状态空间智能体构建方法 |
CN115212575B (zh) * | 2022-09-19 | 2022-12-20 | 南京惠积信息科技有限公司 | 连续状态空间智能体构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110302537B (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110302537A (zh) | 虚拟对象控制方法、装置、存储介质和计算机设备 | |
US9345967B2 (en) | Method, device, and system for interacting with a virtual character in smart terminal | |
CN108958475B (zh) | 虚拟对象控制方法、装置及设备 | |
CN112076473B (zh) | 虚拟道具的控制方法、装置、电子设备及存储介质 | |
WO2022057529A1 (zh) | 虚拟场景中的信息提示方法、装置、电子设备及存储介质 | |
CN112402960B (zh) | 虚拟场景中状态切换方法、装置、设备及存储介质 | |
WO2022042435A1 (zh) | 虚拟环境画面的显示方法、装置、设备及存储介质 | |
CN111275797A (zh) | 动画显示方法、装置、设备及存储介质 | |
CN113559510B (zh) | 虚拟技能的控制方法、装置、设备及计算机可读存储介质 | |
CN113633964B (zh) | 虚拟技能的控制方法、装置、设备及计算机可读存储介质 | |
Sanchis et al. | Using natural interfaces for human-agent immersion | |
WO2022237420A1 (zh) | 虚拟对象的控制方法、装置、设备、存储介质及程序产品 | |
CN114082173A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112402963A (zh) | 虚拟场景中的信息发送方法、装置、设备及存储介质 | |
CN112669194A (zh) | 虚拟场景中的动画处理方法、装置、设备及存储介质 | |
CN114217708B (zh) | 虚拟场景中开局操作的控制方法、装置、设备及存储介质 | |
CN113144603B (zh) | 虚拟场景中召唤对象的切换方法、装置、设备及存储介质 | |
CN113018862B (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
CN112121432B (zh) | 虚拟道具的控制方法、装置、设备及计算机可读存储介质 | |
CN113769392B (zh) | 虚拟场景的状态处理方法、装置、电子设备及存储介质 | |
CN113018853B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113703654B (zh) | 虚拟场景中的伪装处理方法、装置及电子设备 | |
CN110531854A (zh) | 一种动作模仿显示方法、动作模仿显示***及存储介质 | |
Liu et al. | Development of a cybercrime investigation simulator for immersive virtual reality | |
CN112156472A (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 |