logo好方法网

虚拟群体单位的移动方法和装置、存储介质及电子设备


技术摘要:
本发明公开了一种虚拟群体单位的移动方法和装置、存储介质及电子设备。其中,该方法包括:根据虚拟地图上的第一类型的虚拟单位所在的格子,确定虚拟地图的第一势能参数,在需要确定第一类型的虚拟单位中与第一群体单位相邻的虚拟单位的情况下,在第一势能参数中获取第  全部
背景技术:
目前的现有技术中,开发者进行配置相关的虚拟群体单位AI寻路的参数时,需要 利用经典的内聚力,同向力和互斥力去实现,在涉及到计算周边单位的AI寻路过程中,一般 为通过引擎内置的物理系统进行运算,进而获得AI的移动方向和移动速度,其存在对虚拟 群体的移动方式确定过程复杂,计算量过大,耗时较长,效率较低的技术问题。 针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种虚拟群体单位的移动方法和装置、存储介质及电子设 备,以至少解决虚拟群体的移动方式确定过程复杂,由于计算量过大而导致确定移动方式 效率较低的技术问题。 根据本发明实施例的一个方面,提供了一种虚拟群体单位的移动方法,包括:根据 虚拟地图上的第一类型的虚拟单位所在的格子,确定所述虚拟地图的第一势能参数,其中, 所述虚拟地图被划分为多个格子,所述第一势能参数包括所述多个格子中的每个格子上的 势能值,所述第一势能参数是由第一值和第二值叠加产生的,每个所述第一类型的虚拟单 位在所在的格子上产生的势能值为所述第一值,在与所在的格子相邻的格子上产生的势能 值为所述第二值,所述第一值大于所述第二值;在需要确定所述第一类型的虚拟单位中与 第一群体单位相邻的虚拟单位的情况下,在所述第一势能参数中获取第一格子对应的第一 组势能值,其中,所述第一格子上具有所述第一群体单位,所述第一组势能值包括所述第一 势能参数中与所述第一格子相邻的第一组相邻格子上的势能值;根据所述第一组势能值中 大于0的势能值,确定所述第一群体单位中每个虚拟单位的移动方向和/或移动速度。 可选地,所述根据所述第一组势能值中大于0的势能值,确定所述第一群体单位中 每个虚拟单位的移动方向和/或移动速度,包括:根据所述第一组势能值中大于0的势能值, 确定所述第一组相邻格子中势能值大于0的第一组格子的方向权重值,其中,所述第一组格 子上的势能值越大,所述第一组格子的方向权重值越小,所述第一组格子的方向权重值用 于表示所述第一群体单位从所述第一格子向所述第一组格子中的格子移动的权重值;根据 所述第一组格子的方向权重值,确定所述第一群体单位中每个虚拟单位的移动方向;和/或 根据所述第一组势能值中大于0的势能值,确定所述第一组相邻格子中势能值大于0的所述 第一组格子的速度权重值,其中,所述第一组格子上的势能值越大,所述第一组格子的速度 权重值越小,所述第一组格子的速度权重值用于确定所述第一群体单位从所述第一格子向 所述第一组格子中的格子移动的速度;根据所述第一组格子的速度权重值,确定所述第一 群体单位中每个虚拟单位的移动速度。 6 CN 111544888 A 说 明 书 2/20 页 可选地,在所述第一势能参数中获取第一格子对应的第一组势能值之前,所述方 法还包括以下之一:在所述第一群体单位处于自由前移状态的情况下,确定出需要确定所 述第一类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述自由前移状态 表示群体单位所在的队列解散、但没有在索敌范围内发现目标,自由往前移动;在所述第一 群体单位处于趋向目标物状态的情况下,确定出需要确定所述第一类型的虚拟单位中与所 述第一群体单位相邻的虚拟单位,其中,所述趋向目标物状态表示在所述索敌范围内有敌 人,移向敌人;在所述第一群体单位处于技能释放状态的情况下,确定出需要确定所述第一 类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述技能释放状态表示攻 击范围内有敌人,开始攻击,释放技能;在所述第一群体单位处于阻塞状态的情况下,确定 出需要确定所述第一类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述 阻塞状态表示群体单位在移动过程中出现堵塞。 可选地,包括:根据所述虚拟地图上的第二类型的虚拟单位所在的格子,确定所述 虚拟地图的第二势能参数,其中,所述第二势能参数包括所述多个格子中的每个格子上的 势能值,所述第二势能参数是由第三值和第四值叠加产生的,每个所述第二类型的虚拟单 位在所在的格子上产生的势能值为所述第三值,在与所在的格子相邻的格子上产生的势能 值为所述第四值,所述第三值大于所述第四值;在需要确定所述第二类型的虚拟单位中与 所述第一群体单位相邻的虚拟单位的情况下,在所述第二势能参数中获取所述第一格子对 应的第二组势能值,其中,所述第二组势能值包括所述第二势能参数中所述第一组相邻格 子上的势能值;根据所述第二组势能值中大于0的势能值,确定所述第一群体单位中每个虚 拟单位的移动方向/或移动速度。 可选地,所述根据所述第二组势能值中大于0的势能值,确定所述第一群体单位中 每个虚拟单位的移动方向和/或移动速度,包括:根据所述第二组势能值中大于0的势能值, 确定所述第一组相邻格子中势能值大于0的第二组格子的方向权重值,其中,所述第二组格 子上的势能值越大,所述第二组格子的方向权重值越大,所述第二组格子的方向权重值用 于表示所述第一群体单位从所述第二格子向所述第二组格子中的格子移动的权重值;根据 所述第二组格子的方向权重值,确定所述第二群体单位中每个虚拟单位的移动方向;和/或 根据所述第二组势能值中大于0的势能值,确定所述第一组相邻格子中势能值大于0的所述 第二组格子的速度权重值,其中,所述第二组格子上的势能值越大,所述第二组格子的速度 权重值越大,所述第二组格子的速度权重值用于确定所述第一群体单位从所述第二格子向 所述第二组格子中的格子移动的速度;根据所述第二组格子的速度权重值,确定所述第二 群体单位中每个虚拟单位的移动速度。 可选地,在所述第二势能参数中获取所述第一格子对应的第二组势能值之前,所 述方法还包括以下之一:在所述第一群体单位处于自由前移状态的情况下,确定出需要确 定所述第二类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述自由前移 状态表示群体单位所在的队列解散、但没有在索敌范围内发现目标,自由往前移动;在所述 第一群体单位处于趋向目标物状态的情况下,确定出需要确定所述第二类型的虚拟单位中 与所述第一群体单位相邻的虚拟单位,其中,所述趋向目标物状态表示在所述索敌范围内 有敌人,移向敌人;在所述第一群体单位处于技能释放状态的情况下,确定出需要确定所述 第二类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述技能释放状态表 7 CN 111544888 A 说 明 书 3/20 页 示攻击范围内有敌人,开始攻击,释放技能在所述第一群体单位处于阻塞状态的情况下,确 定出需要确定所述第二类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所 述阻塞状态表示群体单位在移动过程中出现堵塞。 可选地,包括:在需要确定与所述第一类型不同的其他类型的虚拟单位所在的格 子的情况下,获取所述多个格子中所述其他类型的虚拟单位所在的一组格子;在所述一组 格子中确定出边缘格子;根据所述边缘格子中的所述其他类型的虚拟单位,确定所述第一 群体单位中每个虚拟单位的移动方向和/或移动速度。 可选地,所述在所述一组格子中确定出边缘格子,包括:在所述一组格子中存在第 一类型格子的情况下,为所述第一类型格子配置与一个类型对应的单一颜色,其中,所述第 一类型格子中仅具有所述其他类型中的所述一个类型的虚拟单位;在所述一组格子中存在 第二类型格子的情况下,为所述第二类型格子配置与多个类型对应的混合颜色,其中,所述 第二类型格子中具有所述其他类型中的所述多个类型的虚拟单位;在所述一组格子中确定 第一边缘格子,其中,所述第一边缘格子配置有所述单一颜色、且所述第一边缘格子与相邻 的格子配置有不同的颜色;在所述一组格子中确定第二边缘格子,其中,所述第二边缘格子 配置有所述混合颜色;将所述边缘格子确定为包括所述第一边缘格子和所述第二边缘格 子。 可选地,所述根据所述边缘格子中的所述其他类型的虚拟单位,确定所述第一群 体单位中每个虚拟单位的移动方向和/或移动速度,包括:确定所述边缘格子中与所述第一 格子距离最近的N个格子,其中,N为自然数;根据所述N个格子中的所述其他类型的虚拟单 位,确定所述第一群体单位中每个虚拟单位的移动方向和移动速度。 可选地,所述根据所述N个格子中的所述其他类型的虚拟单位,确定所述第一群体 单位中每个虚拟单位的移动方向和/或移动速度,包括:确定所述第一群体单位中每个虚拟 单位到所述N个格子中的所述其他类型的虚拟单位之间的距离;根据所述距离确定所述第 一群体单位中每个虚拟单位的移动方向和/或移动速度。 可选地,在获取所述多个格子中所述其他类型的虚拟单位所在的一组格子之前, 所述方法还包括:在所述第一群体单位处于趋向目标物状态的情况下,确定出需要确定与 所述第一类型不同的其他类型的虚拟单位所在的格子,其中,所述趋向目标物状态表示在 所述索敌范围内有敌人,移向敌人;在所述第一群体单位处于技能释放状态的情况下,确定 出需要确定与所述第一类型不同的其他类型的虚拟单位所在的格子,其中,所述技能释放 状态表示攻击范围内有敌人,开始攻击,释放技能;在所述第一群体单位处于阻塞状态的情 况下,确定出需要确定与所述第一类型不同的其他类型的虚拟单位所在的格子,其中,所述 阻塞状态表示群体单位在移动过程中出现堵塞。 根据本发明实施例的另一方面,还提供了一种虚拟群体单位的移动装置,包括: 第一确定模块,用于根据虚拟地图上的第一类型的虚拟单位所在的格子,确定所 述虚拟地图的第一势能参数,其中,所述虚拟地图被划分为多个格子,所述第一势能参数包 括所述多个格子中的每个格子上的势能值,所述第一势能参数是由第一值和第二值叠加产 生的,每个所述第一类型的虚拟单位在所在的格子上产生的势能值为所述第一值,在与所 在的格子相邻的格子上产生的势能值为所述第二值,所述第一值大于所述第二值; 获取模块,用于在需要确定所述第一类型的虚拟单位中与第一群体单位相邻的虚 8 CN 111544888 A 说 明 书 4/20 页 拟单位的情况下,在所述第一势能参数中获取第一格子对应的第一组势能值,其中,所述第 一格子上具有所述第一群体单位,所述第一组势能值包括所述第一势能参数中与所述第一 格子相邻的第一组相邻格子上的势能值; 第二确定模块,用于根据所述第一组势能值中大于0的势能值,确定所述第一群体 单位中每个虚拟单位的移动方向和/或移动速度。 可选地,所述第二确定模块用于通过如下方式根据所述第一组势能值中大于0的 势能值,确定所述第一群体单位中每个虚拟单位的移动方向和/或移动速度:根据所述第一 组势能值中大于0的势能值,确定所述第一组相邻格子中势能值大于0的第一组格子的方向 权重值,其中,所述第一组格子上的势能值越大,所述第一组格子的方向权重值越小,所述 第一组格子的方向权重值用于表示所述第一群体单位从所述第一格子向所述第一组格子 中的格子移动的权重值;根据所述第一组格子的方向权重值,确定所述第一群体单位中每 个虚拟单位的移动方向;和/或根据所述第一组势能值中大于0的势能值,确定所述第一组 相邻格子中势能值大于0的所述第一组格子的速度权重值,其中,所述第一组格子上的势能 值越大,所述第一组格子的速度权重值越小,所述第一组格子的速度权重值用于确定所述 第一群体单位从所述第一格子向所述第一组格子中的格子移动的速度;根据所述第一组格 子的速度权重值,确定所述第一群体单位中每个虚拟单位的移动速度。 可选地,所述装置还用于执行以下之一的操作:在所述第一势能参数中获取第一 格子对应的第一组势能值之前,在所述第一群体单位处于自由前移状态的情况下,确定出 需要确定所述第一类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述自 由前移状态表示群体单位所在的队列解散、但没有在索敌范围内发现目标,自由往前移动; 在所述第一群体单位处于趋向目标物状态的情况下,确定出需要确定所述第一类型的虚拟 单位中与所述第一群体单位相邻的虚拟单位,其中,所述趋向目标物状态表示在所述索敌 范围内有敌人,移向敌人;在所述第一群体单位处于技能释放状态的情况下,确定出需要确 定所述第一类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述技能释放 状态表示攻击范围内有敌人,开始攻击,释放技能;在所述第一群体单位处于阻塞状态的情 况下,确定出需要确定所述第一类型的虚拟单位中与所述第一群体单位相邻的虚拟单位, 其中,所述阻塞状态表示群体单位在移动过程中出现堵塞。 可选地,所述装置还用于:根据所述虚拟地图上的第二类型的虚拟单位所在的格 子,确定所述虚拟地图的第二势能参数,其中,所述第二势能参数包括所述多个格子中的每 个格子上的势能值,所述第二势能参数是由第三值和第四值叠加产生的,每个所述第二类 型的虚拟单位在所在的格子上产生的势能值为所述第三值,在与所在的格子相邻的格子上 产生的势能值为所述第四值,所述第三值大于所述第四值;在需要确定所述第二类型的虚 拟单位中与所述第一群体单位相邻的虚拟单位的情况下,在所述第二势能参数中获取所述 第一格子对应的第二组势能值,其中,所述第二组势能值包括所述第二势能参数中所述第 一组相邻格子上的势能值;根据所述第二组势能值中大于0的势能值,确定所述第一群体单 位中每个虚拟单位的移动方向/或移动速度。 可选地,所述装置用于通过如下方式根据所述第二组势能值中大于0的势能值,确 定所述第一群体单位中每个虚拟单位的移动方向和/或移动速度:根据所述第二组势能值 中大于0的势能值,确定所述第一组相邻格子中势能值大于0的第二组格子的方向权重值, 9 CN 111544888 A 说 明 书 5/20 页 其中,所述第二组格子上的势能值越大,所述第二组格子的方向权重值越大,所述第二组格 子的方向权重值用于表示所述第一群体单位从所述第二格子向所述第二组格子中的格子 移动的权重值;根据所述第二组格子的方向权重值,确定所述第二群体单位中每个虚拟单 位的移动方向;和/或根据所述第二组势能值中大于0的势能值,确定所述第一组相邻格子 中势能值大于0的所述第二组格子的速度权重值,其中,所述第二组格子上的势能值越大, 所述第二组格子的速度权重值越大,所述第二组格子的速度权重值用于确定所述第一群体 单位从所述第二格子向所述第二组格子中的格子移动的速度;根据所述第二组格子的速度 权重值,确定所述第二群体单位中每个虚拟单位的移动速度。 可选地,所述装置还用于执行以下之一的操作:在所述第二势能参数中获取所述 第一格子对应的第二组势能值之前,在所述第一群体单位处于自由前移状态的情况下,确 定出需要确定所述第二类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所 述自由前移状态表示群体单位所在的队列解散、但没有在索敌范围内发现目标,自由往前 移动;在所述第一群体单位处于趋向目标物状态的情况下,确定出需要确定所述第二类型 的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述趋向目标物状态表示在所 述索敌范围内有敌人,移向敌人;在所述第一群体单位处于技能释放状态的情况下,确定出 需要确定所述第二类型的虚拟单位中与所述第一群体单位相邻的虚拟单位,其中,所述技 能释放状态表示攻击范围内有敌人,开始攻击,释放技能;在所述第一群体单位处于阻塞状 态的情况下,确定出需要确定所述第二类型的虚拟单位中与所述第一群体单位相邻的虚拟 单位,其中,所述阻塞状态表示群体单位在移动过程中出现堵塞。 可选地,所述第二确定模块包括:获取单元,用于在需要确定与所述第一类型不同 的其他类型的虚拟单位所在的格子的情况下,获取所述多个格子中所述其他类型的虚拟单 位所在的一组格子;第一确定单元,用于在所述一组格子中确定出边缘格子;第二确定单 元,用于根据所述边缘格子中的所述其他类型的虚拟单位,确定所述第一群体单位中每个 虚拟单位的移动方向和/或移动速度。 可选地,所述第一确定单元用于通过如下方式在所述一组格子中确定出边缘格 子:在所述一组格子中存在第一类型格子的情况下,为所述第一类型格子配置与一个类型 对应的单一颜色,其中,所述第一类型格子中仅具有所述其他类型中的所述一个类型的虚 拟单位;在所述一组格子中存在第二类型格子的情况下,为所述第二类型格子配置与多个 类型对应的混合颜色,其中,所述第二类型格子中具有所述其他类型中的所述多个类型的 虚拟单位;在所述一组格子中确定第一边缘格子,其中,所述第一边缘格子配置有所述单一 颜色、且所述第一边缘格子与相邻的格子配置有不同的颜色;在所述一组格子中确定第二 边缘格子,其中,所述第二边缘格子配置有所述混合颜色;将所述边缘格子确定为包括所述 第一边缘格子和所述第二边缘格子。 可选地,所述第二确定单元用于通过如下方式根据所述边缘格子中的所述其他类 型的虚拟单位,确定所述第一群体单位中每个虚拟单位的移动方向和/或移动速度:确定所 述边缘格子中与所述第一格子距离最近的N个格子,其中,N为自然数;根据所述N个格子中 的所述其他类型的虚拟单位,确定所述第一群体单位中每个虚拟单位的移动方向和移动速 度。 可选地,所述第二确定单元用于通过如下方式根据所述N个格子中的所述其他类 10 CN 111544888 A 说 明 书 6/20 页 型的虚拟单位,确定所述第一群体单位中每个虚拟单位的移动方向和/或移动速度,包括: 确定所述第一群体单位中每个虚拟单位到所述N个格子中的所述其他类型的虚拟单位之间 的距离;根据所述距离确定所述第一群体单位中每个虚拟单位的移动方向和/或移动速度。 可选地,在获取所述多个格子中所述其他类型的虚拟单位所在的一组格子之前, 所述方法还包括:在所述第一群体单位处于趋向目标物状态的情况下,确定出需要确定与 所述第一类型不同的其他类型的虚拟单位所在的格子,其中,所述趋向目标物状态表示在 所述索敌范围内有敌人,移向敌人;在所述第一群体单位处于技能释放状态的情况下,确定 出需要确定与所述第一类型不同的其他类型的虚拟单位所在的格子,其中,所述技能释放 状态表示攻击范围内有敌人,开始攻击,释放技能;在所述第一群体单位处于阻塞状态的情 况下,确定出需要确定与所述第一类型不同的其他类型的虚拟单位所在的格子,其中,所述 阻塞状态表示群体单位在移动过程中出现堵塞。 根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机 可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述虚拟 群体单位的移动方法。 根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上 述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的虚拟 群体单位的移动方法。 在本发明实施例中,采用根据虚拟地图上的第一类型的虚拟单位所在的格子,确 定虚拟地图的第一势能参数,在需要确定第一类型的虚拟单位中与第一群体单位相邻的虚 拟单位的情况下,在第一势能参数中获取第一格子对应的第一组势能值,根据第一组势能 值中大于0的势能值,确定第一群体单位中每个虚拟单位的移动方向和/或移动速度的方 式,通过确定虚拟地图中虚拟单位所在格子的对应的势能值,进而确定每个虚拟单位的移 动方向和/或移动速度,替代了现有技术中在确定每个虚拟单位的移动方向和/或移动速度 时,基于每个虚拟单元分别计算势能值的方式,达到了降低计算量的目的,从而实现了提高 确定虚拟群体移动方式的效率,降低计算成本,节约计算资源的技术效果,进而解决了虚拟 群体的移动方式确定过程复杂,由于计算量过大而导致确定移动方式效率较低的技术问 题。 附图说明 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 图1是根据本发明实施例的一种可选的虚拟群体单位的移动方法的应用环境的示 意图; 图2是根据本发明实施例的一种虚拟群体单位的移动方法的流程示意图; 图3是根据本发明实施例的一种虚拟群体单位的移动方法的示意图; 图4是根据本发明实施例的另一种虚拟群体单位的移动方法的流程示意图; 图5是根据本发明实施例的又一种虚拟群体单位的移动方法的示意图; 图6是根据本发明实施例的又一种虚拟群体单位的移动方法的示意图; 图7是根据本发明实施例的又一种虚拟群体单位的移动方法的流程示意图; 11 CN 111544888 A 说 明 书 7/20 页 图8是根据本发明实施例的一种可选的虚拟群体单位的移动装置的结构示意图; 图9是根据本发明实施例的另一种可选的虚拟群体单位的移动装置的结构示意 图; 图10是根据本发明实施例的一种可选的电子设备的结构示意图。
下载此资料需消耗2积分,
分享到:
收藏