CN108629847A - 虚拟对象移动路径生成方法、装置、存储介质及电子设备 - Google Patents
虚拟对象移动路径生成方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN108629847A CN108629847A CN201810427681.8A CN201810427681A CN108629847A CN 108629847 A CN108629847 A CN 108629847A CN 201810427681 A CN201810427681 A CN 201810427681A CN 108629847 A CN108629847 A CN 108629847A
- Authority
- CN
- China
- Prior art keywords
- virtual objects
- mobile route
- reference axis
- virtual
- kinematic parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开涉及一种虚拟对象移动路径生成方法、虚拟对象移动路径生成装置、计算机可读存储介质及电子设备。该方法包括:获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标;根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象由当前位置向目标位置移动时在所述各个坐标轴上的运动参数;根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。本公开提供的虚拟对象移动路径生成方法仅涉及单独坐标轴上的线性运算,计算方法简单,寻路效率高。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种虚拟对象移动路径生成方法、虚拟对象移动路径生成装置、计算机可读存储介质及电子设备。
背景技术
目前涉及虚拟场景的游戏的数量和类型日益增多,其中部分游戏常常需要将虚拟场景中的虚拟对象在一定的规则约束下移动到指定的位置。例如在某一款游戏中,游戏用户控制游戏角色完成一项游戏中的任务后点击相应的任务提交按钮,此时该游戏角色可以按照设定的寻路方法自动地向提交任务的目标地点进行移动,该移动过程不需要游戏用户操作介入,游戏角色能够沿着一定的可行走区域逐渐靠近并到达目标地点,完成任务提交。
现有的虚拟对象移动路径生成方法通常包括以下几种:
1)基于寻路网格的寻路技术。该技术一般根据虚拟场景中的地形进行可行走区域标记,生成寻路网格数据。在虚拟对象寻路的过程中,虚拟对象根据当前位置与最终目标位置,通过当前区域的寻路网格计算得到下一个临时目标点,然后以一定的移动速度大小向临时目标点进行移动靠近,待到达临时目标点后再继续计算下一个临时目标点,直至到达目标位置。
2)基于A星算法的寻路技术。该寻路技术一般将可移动空间划分成等大的格子(二维空间中)或立方体(三维空间中),通过相关的搜索计算手段得到由连续的、相互联通的、无限制移动障碍物的格子或立方体所组成的可移动路径集合,从该集合中选取一条合适的移动路径,虚拟对象根据该移动路径以规定的移动速度大小进行移动,从而到达目标位置。
3)基于指定路径点的寻路技术。该寻路技术一般由游戏开发者指定一个寻路目标点序列,然后虚拟对象按照一定的移动速度大小直接向序列中的下一个目标点进行移动,直到到达目标点序列中的最后一个目标位置点。
4)以逐渐向目标位置靠近为基础的寻路技术。该技术一般由虚拟对象的当前位置与目标位置计算出一个速度方向与大小,结合当前寻路空间中的寻路障碍物(不可寻路的移动空间、其他虚拟对象、参与寻路机制的障碍物等等)进行速度方向和大小校正,最终在能够实时避让寻路障碍物的同时最终能够达到寻路目标位置。
以上寻路方法一般只适用于环境较为简单的虚拟场景,在目前游戏内容日益丰富的情况下,当涉及较为复杂的寻路条件时,例如场景中存在较多数量的寻路单位、需要实时躲避寻路障碍物或者无地形面等情况,往往需要进行大量的三角函数和向量运算。对于计算能力较弱的设备而言,难以在短时间内快速有效地完成寻路需求,用户游戏体验较差。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种虚拟对象移动路径生成方法、虚拟对象移动路径生成装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服现有的虚拟对象移动路径生成方法中存在的计算复杂、寻路效率低等技术问题。
根据本公开的一个方面,提供一种虚拟对象移动路径生成方法,其特殊之处在于,包括:
获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标;
根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象在所述各个坐标轴上的运动参数;
根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
在本公开的一种示例性实施例中,所述运动参数包括第一运动参数;
所述确定所述虚拟对象在所述各个坐标轴上的运动参数包括:
确定所述虚拟对象在所述各个坐标轴上的第一运动参数。
在本公开的一种示例性实施例中,所述运动参数还包括第二运动参数;
所述确定所述虚拟对象在所述各个坐标轴上的运动参数还包括:
在所述各个坐标轴上分别对所述虚拟对象进行障碍物碰撞预测;
根据所述障碍物碰撞预测的结果确定所述虚拟对象在所述各个坐标轴上的第二运动参数。
在本公开的一种示例性实施例中,所述在所述各个坐标轴上分别对所述虚拟对象进行障碍物碰撞预测包括:
确定所述各个坐标轴上的预测范围;
对所述虚拟对象与所述预测范围内的障碍物进行碰撞预测。
在本公开的一种示例性实施例中,所述确定所述各个坐标轴上的预测范围包括:
根据所述虚拟对象在所述各个坐标轴上的运动参数分别确定所述各个坐标轴上的预测方向和预测距离。
在本公开的一种示例性实施例中,所述对所述虚拟对象与所述预测范围内的障碍物进行碰撞预测包括:
对所述虚拟对象的包围盒与所述预测范围内的障碍物的包围盒进行AABB相交测试。
在本公开的一种示例性实施例中,所述对所述虚拟对象与所述预测范围内的障碍物进行碰撞预测包括:
将所述虚拟对象和所述障碍物投影至各个坐标轴上;
在所述各个坐标轴上根据所述虚拟对象的投影与所述障碍物的投影之间的距离以及重叠程度确定待避让的障碍物;
对所述虚拟对象与所述待避让的障碍物进行碰撞预测。
在本公开的一种示例性实施例中,所述根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径包括:
对所述运动参数进行处理,以使所述运动参数处于预设的数值范围内;
根据处理后的运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
在本公开的一种示例性实施例中,所述对所述运动参数进行处理包括:
在至少一个坐标轴上设置所述运动参数的数值上限和数值下限。
在本公开的一种示例性实施例中,所述对所述运动参数进行处理包括:
对所述各个坐标轴上的运动参数做等比例缩放。
在本公开的一种示例性实施例中,所述对所述运动参数进行处理包括:
将至少一个坐标轴上的运动参数置为0。
根据本公开的一个方面,提供一种虚拟对象移动路径生成装置,其特殊之处在于,包括:
坐标获取单元,设置为获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标;
参数计算单元,设置为根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象在所述各个坐标轴上的运动参数;
路径生成单元,设置为根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特殊之处在于,所述计算机程序被处理器执行时实现以上任一所述的虚拟对象移动路径生成方法。
根据本公开的一个方面,提供一种电子设备,其特殊之处在于,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的虚拟对象移动路径生成方法。
在本公开实施例提供的虚拟对象移动路径生成方法中,通过在各个坐标轴上对虚拟对象的运动参数进行独立运算便可以获得虚拟对象下一时刻的位置坐标,该方法仅涉及简单的线性运算而不存在传统方法中因空间向量运算(如向量旋转、夹角相关计算等等)而引入的复杂的三角函数和向量计算,因此即便在计算能力较弱的设备中也可以高效率地完成虚拟对象的寻路需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中虚拟对象移动路径生成方法的步骤流程图。
图2示意性示出本公开示例性实施例中虚拟对象移动路径生成方法的步骤流程图。
图3示意性示出本公开示例性实施例中虚拟对象移动路径生成方法的步骤流程图。
图4示意性示出本公开示例性实施例中虚拟对象移动路径生成装置的组成框图。
图5示意性示出本公开示例性实施例中一种程序产品的示意图。
图6示意性示出本公开示例性实施例中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。本公开中的“第一”、“第二”等用语仅是为描述方便而起到区分作用,并不具有数量、次序等限定含义。
本公开的示例性实施例中首先提供一种虚拟对象移动路径生成方法,如图1所示,该方法主要可以包括以下步骤:
步骤S10.获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标。
在本示例性实施例中,虚拟对象处于一虚拟场景中,该虚拟场景可以是计算机、手机、平板电脑等智能终端设备通过数字化通讯技术勾勒出的数字化场景。本步骤首先在虚拟场景坐标系中获取虚拟对象的当前位置的坐标以及目标位置的坐标;其中目标位置是虚拟对象需要移动到达的目标所在的位置,该目标可以是一个位置固定的地点或对象,也可以是一个运动中的、位置可变的对象。本示例性实施例中的虚拟场景坐标系可以是与虚拟场景的空间维度相对应的坐标系;例如该虚拟场景可以是二维的或者三维的虚拟空间,虚拟场景坐标系可以相应地包含两个或者三个坐标轴。另外,该虚拟场景坐标系可以是直角坐标系,也可以是斜坐标系,本示例性实施例对此均不做特殊限定。
步骤S20.根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象在所述各个坐标轴上的运动参数。
本步骤根据步骤S10中获取的虚拟对象的当前位置和目标位置在各个坐标轴上的坐标值确定虚拟对象在各个坐标轴上的运动参数。以一个包含X、Y、Z三个坐标轴的三维直角坐标系为例,首先可以获取虚拟对象的当前位置以及目标位置在X轴上的坐标值,然后根据二者的坐标值确定虚拟对象在X轴上的运动参数;与此相似地,可以分别获取虚拟对象在Y轴和Z轴上的运动参数。在本示例性实施例中,所述运动参数主要是指控制虚拟对象移动的相关物理参数;例如,所述运动参数可以是虚拟对象的加速度和/或速度,根据虚拟对象移动控制方式的不同,该运动参数可以是平均加速度和/或平均速度,另外也可以是瞬时加速度和/或瞬时速度,本示例性实施例对此不做特殊限定。
步骤S30.根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
由步骤S20确定虚拟对象在各个坐标轴上的运动参数后,可以通过简单的线性计算得出经过预设时间后虚拟对象在各个坐标轴上的坐标值的变化情况,生成虚拟对象由所述当前位置至下一位置的移动路径。
为描述方便,此处将当前位置记为第一位置,而下一位置记为第二位置。在一些示例性实施例中,由步骤S30得到移动路径后便可以直接控制虚拟对象沿该移动路径由第一位置向第二位置移动,当经过预设时间后虚拟对象即到达第二位置;然后可以继续依据步骤S10至步骤S30利用虚拟对象的第二位置和目标位置的坐标再计算得出虚拟对象在不同坐标轴上的新的运动参数,进而确定由第二位置至第三位置的移动路径并控制虚拟对象由第二位置向第三位置移动;然后不断重复这一过程直至虚拟对象到达目标位置。当虚拟对象到达目标位置后可能已处于静止状态,也可能仍然处于运动状态,例如虚拟对象到达目标位置时仍然具有一定的移动速度,此时可以借助开发者的另行设置使虚拟对象立即停止运动从而静止于目标位置,完成寻路移动过程。
在另外一些示例性实施例中,得到第二位置的坐标后可以不必控制虚拟对象立即开始移动,而是首先重复步骤S10至步骤S30的寻路过程,由此得到虚拟场景中的第一位置向目标位置不断靠近的一系列位置坐标,获得一个由这些位置坐标组成的连续的移动路径后,再控制虚拟对象按照每两个相邻的位置之间的移动路径进行移动,完成寻路移动过程。
在本示例性实施例提供的虚拟对象移动路径生成方法中,通过在各个坐标轴上对虚拟对象的运动参数进行独立运算便可以获得虚拟对象由当前位置至下一位置的移动路径,该方法仅涉及简单的线性运算而不存在传统方法中因空间向量运算(如向量旋转、夹角相关计算等等)而引入的复杂的三角函数和向量计算,因此即便在计算能力较弱的设备中也可以高效率地完成虚拟对象的寻路需求。
在本公开的另一示例性实施例中,步骤S20中确定的运动参数可以包括第一运动参数和第二运动参数;其中,第一运动参数可以是驱动运动参数,用于驱使虚拟对象由当前位置向目标位置移动,而第二运动参数可以是避让运动参数,用于控制虚拟对象对移动路径上可能存在的障碍物进行避让。
如图2所示,步骤S20中确定所述虚拟对象在所述各个坐标轴上的运动参数主要可以包括以下步骤:
步骤S210.确定所述虚拟对象在所述各个坐标轴上的驱动运动参数。
在本步骤中首先指定虚拟场景坐标系中的一个坐标轴,然后根据虚拟对象的当前位置和目标位置在该指定坐标轴上的坐标值确定虚拟对象在该指定坐标轴上的驱动运动参数。例如可以先指定三维直角坐标系中的X轴,根据虚拟对象的第一位置和目标位置在X轴上的坐标值确定虚拟对象在X轴上的驱动运动参数。在本示例性实施例中,所述驱动运动参数可以是驱动加速度,也可以是速度、动量等其他任意的能够驱使虚拟对象由第一位置向目标位置移动的物理参数。
在本步骤中以驱动加速度为例,虚拟对象的当前位置在X轴上的坐标值为XA,目标位置在X轴上的坐标值为XT,那么便可以根据一定的规则计算得出虚拟对象在X轴上的驱动加速度QX。相应地,在指定Y轴或者Z轴时,可以分别获得虚拟对象在Y轴上的驱动加速度QY以及虚拟对象在Z轴上的驱动加速度QZ。
在本示例性实施例中,可以根据虚拟对象的当前位置和目标位置的坐标值进行驱动加速度的计算。即QX与XT-XA关联,若XT-XA>0,则驱动加速度的方向为X轴的正方向,若XT-XA<0,则驱动加速度的方向为X轴的负方向;驱动加速度数值大小Qx的计算方式包括但不限于:Qx=FX*|XT-XA|nx+DX,其中FX、DX、nx,是用于控制X轴上加速驱动力数值计算的系数,均大于或等于0,可由开发者在开发时对其进行设置,从而在驱动加速度数值计算的过程中获得更好的可控性。此外,可以根据|XT-XA|进行其他形式的延伸计算,得到最终的驱动加速度数值Qx。为了更好地控制虚拟对象,在本示例性实施例中可以在各个坐标轴上设置驱动加速度上限。例如将X轴上的驱动加速度的数值上限设为Qmax,如果计算得出的Qx小于Qmax,那么以Qx作为虚拟对象在X轴上的驱动加速度的大小数值;而如果计算得出的Qx大于Qmax,那么以Qmax作为虚拟对象在X轴上的驱动加速度的大小数值。
在本步骤确定驱动运动参数的过程中还可以实时获取虚拟对象在移动路径上各个位置的轴向移动速度,用以提供另一种驱动加速度的计算方法,该方法较上述提到的计算方法而言,增加了一个靠近减速过程,可使得虚拟对象自动停靠于目标位置,而不必由开发者另行设置控制虚拟对象静止。例如,在X轴上获得虚拟对象的移动速度为SX,可以按以下方式计算驱动加速度,其中,UX、GX为X轴上是否进行减速运动的判断计算系数,均大于或等于0,开发者可对其进行设置,从而在驱动加速度计算过程中,对减速过程的判断计算得到更好的控制。
当UX*|XT-XA|≥GX*|SX|或(XT-XA)*SX<0时,仍然使用上述提到的方式对驱动加速度Qx进行计算,此时的驱动加速度Qx仍然是作用于虚拟对象使其向目标点加速靠近;当UX*|XT-XA|<GX*|SX|且(XT-XA)*SX≥0时,则当前驱动加速度应该是一个用于减小当前速度SX的一个加速度,即驱动加速度Qx的方向与SX的当前方向相反,其数值计算方式包括但不限于:1)Qx=RX*|SX|mx,其中RX、mx≥0,是用于在X轴上控制减速过程中加速度大小数值计算的系数,可由开发者设置,从而对减速过程中加速度的数值计算得到更好的控制性;2)可以根据|SX|进行其他延伸计算,得到最终的驱动加速度Qx;3)首先根据1)或2)计算得出一个Qx,若|XT-XA|小于或等于一预设阈值时,直接将Qx修正成0。基于该计算方法,驱动加速度、移动速度以及坐标差值三者之间形成闭环调控;理论情况下,当虚拟对象当前位置与目标位置在X轴上的坐标差值为0时,该虚拟对象在X轴上的移动速度和驱动加速度也都将变为0,即此时虚拟对象在X轴上相对目标位置为静止状态;若在其他坐标轴上同样采用该计算方法,那么当虚拟对象到达目标位置时,即虚拟对象的当前位置与目标位置在各个坐标轴上的坐标差值均为0,虚拟对象将自动停靠于目标位置,而不必借助开发者的另行设置控制使其静止。
以上计算驱动加速度的方法仅是示例性的,在其他一些实施例中,可以根据需要采用其他任意的计算方法,本示例性实施例对此不做特殊限定。
步骤S220.在所述各个坐标轴上分别对所述虚拟对象进行障碍物碰撞预测。
在虚拟对象的当前位置与目标位置之间的移动路径上可能存在有各种妨碍虚拟对象向目标位置移动的障碍物,因此需要对其进行碰撞预测以便合理避让。该障碍物可以是移动中的或者静止不动的其他处于寻路移动过程中的虚拟单位,也可以是虚拟场景中的人物、物品、建筑物、河流等任意的具有一定碰撞体积的虚拟单位。
在本步骤中可以采用以下方式对虚拟对象进行障碍物碰撞预测:
首先,根据所述虚拟对象的当前位置在指定坐标轴上的坐标值确定该指定坐标轴上的预测范围;具体可以是根据所述虚拟对象在所述指定坐标轴上的运动参数确定预测方向和预测距离。以指定X轴为例,虚拟对象的第一位置在X轴上的坐标值为XA,以XA为起始点在X轴上确定预测方向(即X轴的正方向或者负方向)和预测距离。在本示例性实施例中,虚拟对象的运动参数可以是加速度和/或速度,当虚拟对象在X轴上的速度不为0时,可以选取该速度的方向作为预测方向;而当速度为0时,可以再判断驱动加速度,如果虚拟对象在X轴上的驱动加速度不为0,则以该驱动加速度的方向作为预测方向;而如果虚拟对象在X轴上的速度和驱动加速度均为0,那么可以选取X轴的正、负两个方向中的任意一个方向作为预测方向。预测方向确定后,可以根据虚拟对象当前的运动状态确定一个适当的预测距离;例如在结合虚拟对象自身的包围盒体积(在X轴上相当于投影长度)的基础上可以根据虚拟对象在X轴上的速度和驱动加速度计算得出一个沿所述预测方向延伸的预测距离,另外也可以根据需要直接指定一预测距离。
获得预测范围之后,便可以确定预测范围内的潜在的碰撞对象。在虚拟场景中,当一个单位在X轴上的投影处于所述预测范围内或者与所述预测范围存在交集,那么可以将其选定为可能需要避让的障碍物。一般情况下,预测范围内的可能需要避让的障碍物并不唯一。当存在多个可能需要避让的障碍物时,可以将所述虚拟对象和所述障碍物投影至各个坐标轴上,然后在各个坐标轴上根据所述虚拟对象的投影与所述障碍物的投影之间的距离以及重叠程度确定待避让的障碍物。例如,在本示例性实施例中,可以优先选择在X轴上与虚拟对象距离最近的和/或包围盒投影重叠程度最高的障碍物作为待避让的障碍物。然后,在所述虚拟场景坐标系中除X轴以外的其他坐标轴上(例如三维直角坐标系中的Y轴和Z轴),对所述虚拟对象与所述待避让的障碍物进行碰撞预测。在本示例性实施例中,采取了先选择待避让的障碍物然后对所述虚拟对象与待避让的障碍物进行碰撞预测的方式;在其他一些示例性实施例中,也可以采取其他方式,例如可以先对虚拟对象与预测范围内的所有潜在的碰撞对象进行碰撞预测,然后再从与虚拟对象存在碰撞关系的障碍物中选择待避让的障碍物。
本步骤中进行碰撞预测的方法可以是对所述虚拟对象的包围盒与所述障碍物的包围盒进行AABB相交测试,也可以是其他任意的碰撞预测方法,本示例性实施例对此不做特殊限定。其中,AABB相交测试的具体含义是:在二维空间中,对包含对象的、且边平行于坐标轴的最小四边形,进行四边形的重叠判断;在三维空间中,对包含对象的、且边平行于坐标轴的最小六面体,进行六面体的重叠判断。具体到本实施例中,可以是将虚拟对象的包围盒与待避让的障碍物的包围盒均投影至由Y轴和Z轴所确定平面上,若二者不相交,则不需要对该障碍物进行避让;而如果二者相交,则再判断二者分别在Y轴和Z轴上的交叠程度。
步骤S230.根据所述障碍物碰撞预测的结果确定所述虚拟对象在所述各个坐标轴上的避让运动参数。
仍以三维直角坐标系中的X轴为例,步骤S210中获得了X轴上的预测范围,然后步骤S220可以基于该预测范围在Y轴和Z轴上进行障碍物碰撞预测,本步骤则是根据障碍物碰撞预测的结果获取避让运动参数。与驱动运动参数类似的,避让运动参数可以是避让加速度,也可以是速度、动量等其他任意的能够驱使虚拟对象对障碍物进行避让的物理参数。例如在Y轴上,虚拟对象的当前位置的坐标值为YA,障碍物的坐标值为YB,在本示例性实施例中,可以将虚拟对象第一位置和障碍物的坐标值之差结合二者包围盒在Y轴上的投影长度计算得出避让加速度BY的数值,其中一种计算方法可以为:BY=(TA+TB)/2-|YA-YB|,该公式中的TA为虚拟对象的包围盒在Y轴上的投影长度,TB为障碍物的包围盒在Y轴上的投影长度,|YA-YB|为虚拟对象与障碍物在Y轴上的坐标差值的绝对值。此时虚拟对象在Y轴上的避让加速度大小为|BY|,而避让加速度的方向由YA-YB的正负符号确定;若YA-YB>0,则方向为Y轴的正方向,若YA-YB<0,则方向为Y轴的负方向;若YA-YB=0时,则可以任意选择Y轴的正方向或者负方向作为避让方向。基于该计算方法,当虚拟对象与障碍物的距离越近时,避让加速度的数值越大,而当虚拟对象与障碍物的距离越远时,避让加速度的数值越小。在其他一些示例性实施例中,Y轴上的避让加速度BY也可以是在数值|YA-YB|的基础上进行延伸计算得到的,或者可以是由YA、YB以及虚拟对象和障碍物的当前速度共同计算得到,还可以是根据需要指定的一个固定值;除此之外,避让加速度BY的计算也可以结合虚拟对象在Y轴上的驱动加速度QY;对于避让加速度的各种计算方式,本示例性实施例均不做特殊限定。相应地,在本步骤中也可以采用相同的方法获得虚拟对象在Z轴上的避让加速度,此处不再赘述。
由以上获取避让运动参数的过程可以得知,在指定坐标轴为X轴时(即在X轴上确定预测范围时),可以确定虚拟对象在Y轴和Z轴上的避让运动参数。相应地,在指定坐标轴为Y轴时,可以确定虚拟对象在X轴和Z轴上的避让运动参数;在指定坐标轴为Z轴时,可以确定虚拟对象在X轴和Y轴上的避让运动参数。
为了简化计算,可以将各个坐标轴上的驱动运动参数和避让运动参数进行合并计算。以三维直角坐标系中进行加速度的合并为例,虚拟对象在X轴上的运动参数包括了一个驱动加速度和两个避让加速度,其中驱动加速度是在步骤S210中指定X轴时确定的,两个避让加速度是在步骤S230中分别指定Y轴和Z轴时通过碰撞预测得出的;对这三个加速度进行合并的方法可以包括以下几种:
1)比较三个加速度的数值大小,以数值最大的一个作为合并后的加速度;
2)对三个加速度进行相加计算,计算结果作为合并后的加速度;
3)根据1)或2)得一个合并加速度,然后再由指定数值对该合并加速度进行数值限制。例如,可以采用与确定驱动加速度时设置的数值上限相类似的方式。
除以上几种合并方式以外,本实施例性实施例还可以采用其他任意的由相关寻路信息所确定的运动参数合并方法。
在本示例性实施例中,通过步骤S210计算出了一个基础的驱动加速度,该加速度保证了虚拟对象能够满足由当前位置向目标位置进行移动靠近的基本寻路需求。步骤S220和步骤S230在虚拟对象寻路过程中考虑了移动时需要进行避让的潜在障碍物,计算出避让加速度,使得虚拟对象在向目标位置移动靠近的同时,能够实时避让相关障碍物。这不仅使得寻路过程满足了避让障碍物的寻路约束需求,而且还可基于障碍物进行可移动区域的限制,从而满足可行走空间的寻路约束需求。
本示例性实施例在生成移动路径时,进行了“逆向”计算,即在虚拟场景坐标系的各个坐标轴上进行相互独立的驱动加速度计算、碰撞预测与检测计算、避让加速度计算、移动速度与移动位置的计算等计算过程,最终得到一个虚拟场景坐标系中的移动速度和移动位移,完成寻路移动目的。该“逆向”计算过程与传统寻路方法中的寻路计算过程的最大不同之处在于不需要进行空间向量的归一化、旋转、夹角计算等等,从而省去了复杂的三角函数、向量操作函数计算开销。因此,本示例性实施例中的虚拟对象移动路径生成方法能够以较小的计算开销完成虚拟场景中的寻路需求,在同等的运算能力资源下可以完成更多虚拟对象的寻路计算任务。
如图3所示,在以上示例性实施例的基础之上,步骤S30又可以包括以下步骤:
步骤S310.对所述运动参数进行处理,以使所述运动参数处于预设的数值范围内。
以三维直角坐标系为例,经过步骤S10和步骤S20后可以分别获得虚拟对象在X、Y、Z三个坐标轴上的运动参数,举例而言,该运动参数可以是由驱动加速度和避让加速度合并得到的合并加速度HX、HY和HZ。在本步骤中可以对三个合并加速度按照一定的规约规则进行数值规约以使所述合并加速度处于预设的数值范围内,其中规约规则可以包括以下几种:
1)在至少一个坐标轴上设置所述运动参数的数值上限和数值下限。
将HX、HY和HZ中的一个或者多个合并加速度的数值大小限定在一个数值范围,该数值范围可以直接限定所述合并加速度的数值上限和数值下限。
2)对所述各个坐标轴上的运动参数做等比例缩放。
若HX、HY和HZ的数值均为0,则可以不进行规约,否则进行基于归一化原理的规约,即HX的数值大小为|HX|/(|HX|+|HY|+|HZ|)*max(|HX|,|HY|,|HZ|),同理,HY、HZ的数值大小分别为|HY|/(|HX|+|HY|+|HZ|)*max(|HX|,|HY|,|HZ|)和|Hz|/(|HX|+|HY|+|HZ|)*max(|HX|,|HY|,|HZ|)。
3)将至少一个坐标轴上的运动参数置为0。
根据寻路约束需求,将HX、HY、HZ中的一个或两个加速度置0,从而满足寻路单位禁止在对应的轴向上进行移动的需求。
除此之外,还可以根据需要采取其他任意的对运动参数进行规约的方式,本示例性实施例对此不做特殊限定。
本步骤进行数值规约的主要目的是将之前独立计算得到的不同坐标轴上的加速度(或者其他运动参数)进行数值关联,最终能够使得由这各个独立坐标轴上的加速度所组成的虚拟场景坐标系中的加速度向量满足用户所规定的寻路移动约束条件,例如移动过程中的速度变化速率范围,寻路方向等等。
除加速度以外,本示例性实施例中还可以对速度等其他运动参数进行类似的数值规约,此处不再赘述。
步骤S320.根据处理后的运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
举例而言,经过数值规约后的加速度可以用于计算虚拟对象的速度,而加速度与速度结合便可以计算得出虚拟对象在各个坐标轴上的运动状态。这一计算过程同样是在各个坐标轴上单独进行的,因此只需要进行简单的线性运算即可。
需要说明的是,虽然以上示例性实施例以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施例中,还提供一种虚拟对象移动路径生成装置,如图4所示,虚拟对象移动路径生成装置40主要可以包括坐标获取单元41、参数计算单元42和路径生成单元43。其中,坐标获取单元41设置为获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标。参数计算单元42设置为根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象在所述各个坐标轴上的运动参数。路径生成单元43设置为根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
上述虚拟对象移动路径生成装置的具体细节已经在对应的虚拟对象移动路径生成方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的虚拟对象移动路径生成方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图5所示,根据本公开的实施方式的用于实现上述方法的程序产品50,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施例中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图6对本示例性实施例中的电子设备600进行描述。电子设备600仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括处理单元610和存储单元620)的总线630、显示单元640。
其中,存储单元620存储有程序代码,所述程序代码可以被处理单元610执行,使得处理单元610执行本公开中上述各示例性实施例中的方法步骤。
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元621(RAM)和/或高速缓存存储单元622,还可以进一步包括只读存储单元623(ROM)。
存储单元620还可以包括具有一组(至少一个)程序模块625的程序/实用工具624,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器660可以通过总线630与电子设备600的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。
Claims (14)
1.一种虚拟对象移动路径生成方法,其特征在于,包括:
获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标;
根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象由当前位置向目标位置移动时在所述各个坐标轴上的运动参数;
根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
2.根据权利要求1所述的虚拟对象移动路径生成方法,其特征在于,所述确定所述虚拟对象在所述各个坐标轴上的运动参数包括:
确定所述虚拟对象在所述各个坐标轴上的第一运动参数。
3.根据权利要求1所述的虚拟对象移动路径生成方法,其特征在于,所述确定所述虚拟对象在所述各个坐标轴上的运动参数包括:
在所述各个坐标轴上分别对所述虚拟对象进行障碍物碰撞预测;
根据所述障碍物碰撞预测的结果确定所述虚拟对象在所述各个坐标轴上的第二运动参数。
4.根据权利要求3所述的虚拟对象移动路径生成方法,其特征在于,所述在所述各个坐标轴上分别对所述虚拟对象进行障碍物碰撞预测包括:
确定所述各个坐标轴上的预测范围;
对所述虚拟对象与所述预测范围内的障碍物进行碰撞预测。
5.根据权利要求4所述的虚拟对象移动路径生成方法,其特征在于,所述确定所述各个坐标轴上的预测范围包括:
根据所述虚拟对象在所述各个坐标轴上的运动参数分别确定所述各个坐标轴上的预测方向和预测距离。
6.根据权利要求4所述的虚拟对象移动路径生成方法,其特征在于,所述对所述虚拟对象与所述预测范围内的障碍物进行碰撞预测包括:
对所述虚拟对象的包围盒与所述预测范围内的障碍物的包围盒进行AABB相交测试。
7.根据权利要求4所述的虚拟对象移动路径生成方法,其特征在于,所述对所述虚拟对象与所述预测范围内的障碍物进行碰撞预测包括:
将所述虚拟对象和所述障碍物投影至各个坐标轴上;
在所述各个坐标轴上根据所述虚拟对象的投影与所述障碍物的投影之间的距离以及重叠程度确定待避让的障碍物;
对所述虚拟对象与所述待避让的障碍物进行碰撞预测。
8.根据权利要求1-7中任意一项所述的虚拟对象移动路径生成方法,其特征在于,所述根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径包括:
对所述运动参数进行处理,以使所述运动参数处于预设的数值范围内;
根据处理后的运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
9.根据权利要求8所述的虚拟对象移动路径生成方法,其特征在于,所述对所述运动参数进行处理包括:
在至少一个坐标轴上设置所述运动参数的数值上限和数值下限。
10.根据权利要求8所述的虚拟对象移动路径生成方法,其特征在于,所述对所述运动参数进行处理包括:
对所述各个坐标轴上的运动参数做等比例缩放。
11.根据权利要求8所述的虚拟对象移动路径生成方法,其特征在于,所述对所述运动参数进行处理包括:
将至少一个坐标轴上的运动参数置为0。
12.一种虚拟对象移动路径生成装置,其特征在于,包括:
坐标获取单元,设置为获取虚拟对象在虚拟场景坐标系中的当前位置的坐标和目标位置的坐标;
参数计算单元,设置为根据所述虚拟对象的当前位置和目标位置在所述虚拟场景坐标系的各个坐标轴上的坐标值,确定所述虚拟对象在所述各个坐标轴上的运动参数;
路径生成单元,设置为根据所述运动参数生成所述虚拟对象由所述当前位置至下一位置的移动路径。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11中任意一项所述的虚拟对象移动路径生成方法。
14.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行权利要求1-11中任意一项所述的虚拟对象移动路径生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810427681.8A CN108629847A (zh) | 2018-05-07 | 2018-05-07 | 虚拟对象移动路径生成方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810427681.8A CN108629847A (zh) | 2018-05-07 | 2018-05-07 | 虚拟对象移动路径生成方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108629847A true CN108629847A (zh) | 2018-10-09 |
Family
ID=63695577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810427681.8A Pending CN108629847A (zh) | 2018-05-07 | 2018-05-07 | 虚拟对象移动路径生成方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629847A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109434831A (zh) * | 2018-11-12 | 2019-03-08 | 深圳前海达闼云端智能科技有限公司 | 机器人运行方法、装置、机器人、电子设备及可读介质 |
CN109448117A (zh) * | 2018-11-13 | 2019-03-08 | 北京旷视科技有限公司 | 图像渲染方法、装置及电子设备 |
CN109471712A (zh) * | 2018-11-21 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 虚拟环境中的虚拟对象的调度方法、装置及设备 |
CN109771943A (zh) * | 2019-01-04 | 2019-05-21 | 网易(杭州)网络有限公司 | 一种游戏场景的构造方法和装置 |
CN109966741A (zh) * | 2019-05-09 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 位置更新方法、装置、设备及存储介质 |
CN111035928A (zh) * | 2019-11-19 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 行进路线的显示方法和装置、存储介质及电子装置 |
CN111984171A (zh) * | 2020-07-15 | 2020-11-24 | 北京城市网邻信息技术有限公司 | 一种生成家具移动轨迹的方法和装置 |
WO2021068980A1 (zh) * | 2019-10-11 | 2021-04-15 | 深圳市道通智能航空技术股份有限公司 | 三维地图生成方法、移动装置和计算机可读存储介质 |
CN113082713A (zh) * | 2021-03-01 | 2021-07-09 | 上海硬通网络科技有限公司 | 游戏控制方法、装置及电子设备 |
CN113641325A (zh) * | 2021-10-19 | 2021-11-12 | 深圳市联志光电科技有限公司 | 一种用于ar显示的图像采集方法及系统 |
CN115845381A (zh) * | 2023-02-07 | 2023-03-28 | 广州三七极耀网络科技有限公司 | 一种基于包围盒的快速寻路方法、装置、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615301A (zh) * | 2009-07-29 | 2009-12-30 | 腾讯科技(深圳)有限公司 | 计算机虚拟环境中目标的路径控制方法和系统 |
US20110039620A1 (en) * | 2008-04-30 | 2011-02-17 | Sega Corporation | Game machine and movement control method of character |
US20120081365A1 (en) * | 2010-10-04 | 2012-04-05 | Fujitsu Limited | Object operation device, method, and computer-readable storage medium storing object operation program |
CN103400307A (zh) * | 2013-07-26 | 2013-11-20 | 维坤智能科技(上海)有限公司 | 三维变电站虚拟场景的虚拟人物自动转向方法 |
CN105031921A (zh) * | 2015-02-15 | 2015-11-11 | 北京乐动卓越信息技术有限公司 | 一种游戏对象无序移动过程中的防碰撞的方法及系统 |
CN105056528A (zh) * | 2015-07-23 | 2015-11-18 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色的移动方法及装置 |
CN106582023A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种游戏寻路方法和装置 |
CN106964156A (zh) * | 2017-03-24 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种寻路方法以及装置 |
CN107198883A (zh) * | 2017-05-26 | 2017-09-26 | 网易(杭州)网络有限公司 | 用于虚拟游戏中游戏对象的寻路方法及装置 |
-
2018
- 2018-05-07 CN CN201810427681.8A patent/CN108629847A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110039620A1 (en) * | 2008-04-30 | 2011-02-17 | Sega Corporation | Game machine and movement control method of character |
CN101615301A (zh) * | 2009-07-29 | 2009-12-30 | 腾讯科技(深圳)有限公司 | 计算机虚拟环境中目标的路径控制方法和系统 |
US20120081365A1 (en) * | 2010-10-04 | 2012-04-05 | Fujitsu Limited | Object operation device, method, and computer-readable storage medium storing object operation program |
CN103400307A (zh) * | 2013-07-26 | 2013-11-20 | 维坤智能科技(上海)有限公司 | 三维变电站虚拟场景的虚拟人物自动转向方法 |
CN105031921A (zh) * | 2015-02-15 | 2015-11-11 | 北京乐动卓越信息技术有限公司 | 一种游戏对象无序移动过程中的防碰撞的方法及系统 |
CN105056528A (zh) * | 2015-07-23 | 2015-11-18 | 珠海金山网络游戏科技有限公司 | 一种虚拟角色的移动方法及装置 |
CN106582023A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种游戏寻路方法和装置 |
CN106964156A (zh) * | 2017-03-24 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种寻路方法以及装置 |
CN107198883A (zh) * | 2017-05-26 | 2017-09-26 | 网易(杭州)网络有限公司 | 用于虚拟游戏中游戏对象的寻路方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109434831A (zh) * | 2018-11-12 | 2019-03-08 | 深圳前海达闼云端智能科技有限公司 | 机器人运行方法、装置、机器人、电子设备及可读介质 |
CN109448117A (zh) * | 2018-11-13 | 2019-03-08 | 北京旷视科技有限公司 | 图像渲染方法、装置及电子设备 |
CN109471712A (zh) * | 2018-11-21 | 2019-03-15 | 腾讯科技(深圳)有限公司 | 虚拟环境中的虚拟对象的调度方法、装置及设备 |
US11779837B2 (en) | 2018-11-21 | 2023-10-10 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and device for scheduling virtual objects in virtual environment |
CN109471712B (zh) * | 2018-11-21 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 虚拟环境中的虚拟对象的调度方法、装置及设备 |
CN109771943A (zh) * | 2019-01-04 | 2019-05-21 | 网易(杭州)网络有限公司 | 一种游戏场景的构造方法和装置 |
CN109966741B (zh) * | 2019-05-09 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 位置更新方法、装置、设备及存储介质 |
CN109966741A (zh) * | 2019-05-09 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 位置更新方法、装置、设备及存储介质 |
WO2021068980A1 (zh) * | 2019-10-11 | 2021-04-15 | 深圳市道通智能航空技术股份有限公司 | 三维地图生成方法、移动装置和计算机可读存储介质 |
CN111035928A (zh) * | 2019-11-19 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 行进路线的显示方法和装置、存储介质及电子装置 |
CN111984171A (zh) * | 2020-07-15 | 2020-11-24 | 北京城市网邻信息技术有限公司 | 一种生成家具移动轨迹的方法和装置 |
CN113082713A (zh) * | 2021-03-01 | 2021-07-09 | 上海硬通网络科技有限公司 | 游戏控制方法、装置及电子设备 |
CN113082713B (zh) * | 2021-03-01 | 2022-12-09 | 上海硬通网络科技有限公司 | 游戏控制方法、装置及电子设备 |
CN113641325B (zh) * | 2021-10-19 | 2022-02-08 | 深圳市联志光电科技有限公司 | 一种用于ar显示的图像采集方法及系统 |
CN113641325A (zh) * | 2021-10-19 | 2021-11-12 | 深圳市联志光电科技有限公司 | 一种用于ar显示的图像采集方法及系统 |
CN115845381A (zh) * | 2023-02-07 | 2023-03-28 | 广州三七极耀网络科技有限公司 | 一种基于包围盒的快速寻路方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108629847A (zh) | 虚拟对象移动路径生成方法、装置、存储介质及电子设备 | |
US11551410B2 (en) | Multi-modal method for interacting with 3D models | |
US11054912B2 (en) | Three-dimensional graphical user interface for informational input in virtual reality environment | |
Zhang et al. | Visualizing toronto city data with hololens: Using augmented reality for a city model | |
Singh et al. | A modular framework for adaptive agent-based steering | |
Patil et al. | Directing crowd simulations using navigation fields | |
US7536655B2 (en) | Three-dimensional-model processing apparatus, three-dimensional-model processing method, and computer program | |
Oskam et al. | Visibility transition planning for dynamic camera control | |
US10540022B2 (en) | Interactive input controls in a simulated three-dimensional (3D) environment | |
KR102222084B1 (ko) | 가상 현실 환경에서의 정보 입력을 위한 사용자 인터페이스 | |
CN105848742A (zh) | 虚拟环境中的玩家化身移动辅助 | |
US9135392B2 (en) | Semi-autonomous digital human posturing | |
CN111338287A (zh) | 机器人运动控制方法、装置、系统、机器人及存储介质 | |
CN109991963A (zh) | 速度规划方法及终端设备 | |
US20230364786A1 (en) | Control device, control method, and recording medium | |
JP2017144234A (ja) | IoT機器を利用して拡張現実を実現した戦場オンラインゲーム | |
Wong et al. | A framework for simulating agent-based cooperative tasks in crowd simulation | |
Thomas et al. | Reactive alignment of virtual and physical environments using redirected walking | |
CN107092434A (zh) | 重叠目标选择方法及装置、存储介质、电子设备 | |
Majid et al. | GPU-based Optimization of Pilgrim Simulation for Hajj and Umrah Rituals. | |
US20190050134A1 (en) | Techniques for transitioning from a first navigation scheme to a second navigation scheme | |
CN112486319B (zh) | 基于触觉渲染设备的vr交互方法、装置、设备及介质 | |
Yoon et al. | Recent advances in real-time collision and proximity computations for games and simulations | |
CN114721366A (zh) | 基于自然语言的室内自主导航 | |
Al-Sharqi et al. | Fuzzy Control Algorithm for Estimation and Interaction of Dynamic Arm Motion |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181009 |
|
RJ01 | Rejection of invention patent application after publication |