一种游戏场景中物体的控制方法、装置及终端的制作方法

文档序号:9489273阅读:378来源:国知局
一种游戏场景中物体的控制方法、装置及终端的制作方法
【技术领域】
[0001] 本发明涉及软件领域,尤其涉及一种游戏场景中物体的控制方法、装置及终端。
【背景技术】
[0002] 游戏引擎是指已编写好的游戏系统或者交互式实时图像应用程序的核心组件,这 些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易 和快速地做出游戏程式而不用从头开始,大部分游戏引擎都支持多种操作平台,如Linux、 Mac0SX、微软Windows等,游戏引擎包含以下系统:渲染引擎、物理引擎、碰撞检测系统、音 效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
[0003]目标大多数游戏的表现方式都是在游戏引擎中静态布置摄像机的位置后,通过编 辑动画或效果进行位置移动,玩家需要根据视觉重点,不断移动视觉中心,很容易带来视觉 疲劳。

【发明内容】

[0004] 本发明实施例所要解决的技术问题在于,提供一种游戏场景中物体的控制方法、 装置及终端。可现有技术中游戏场景的视频中心变换较频繁的不足。
[0005] 为了解决上述技术问题,本发明实施例提供了一种游戏场景中物体的控制方法, 包括:
[0006]获取游戏场景中每个物体的速度矢量,其中,所述游戏场景中有N个物体,N为大 于1的整数;
[0007] 选择所述N个物体中速度矢量的模长最大的物体作为视觉目标物体;
[0008] 计算所述N个物体中每个物体分别与所述视觉目标物体之间的相对速度矢量;
[0009] 根据计算后得到的N个相对速度矢量分别移动所述N个物体中每个物体。
[0010] 相应地,本发明实施例还提供了一种游戏场景中物体的控制装置,包括:
[0011] 获取模块,用于获取游戏场景中每个物体的速度矢量,其中,所述游戏场景中有N个物体,N为大于1的整数;
[0012] 选择模块,用于选择所述N个物体中速度矢量的模长最大的物体作为视觉目标物 体;
[0013] 计算模块,用于计算所述N个物体中每个物体分别与所述视觉目标物体之间的相 对速度矢量;
[0014] 移动模块,用于根据计算后得到的N个相对速度矢量分别移动所述N个物体中每 个物体。
[0015] 实施本发明实施例,具有如下有益效果:
[0016] 实施本发明的实施例,通过选择游戏场景中速度最大的物体作为视觉目标物体, 计算游戏场景中的每个物体以视觉目标物体之间的相对速度矢量,以计算得到的相对速度 矢量分别移动每个物体。这样,游戏者在该游戏场景中能始终以视觉目标物体为视觉中心, 不需要频繁地在游戏场景中移动视觉中心,减少游戏者的视觉疲劳。
【附图说明】
[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0018] 图1是本发明第一实施例的一种游戏场景中物体的移动方法的流程示意图;
[0019] 图2是图1中物体的速度矢量的示意图;
[0020] 图3是图1中物体的移动相对速度矢量的示意图;
[0021] 图4是本发明第二实施例的一种游戏场景中物体的移动方法的流程示意图;
[0022] 图5是图4中物体的速度矢量的示意图;
[0023] 图6是图4中物体的相对速度矢量的示意图;
[0024] 图7是本发明第一实施例的一种游戏场景中物体的移动装置的结构示意图;
[0025] 图8是本发明第二实施例的一种游戏场景中物体的移动装置的结构示意图;
[0026] 图9是图8中计算模块的结构示意图。
【具体实施方式】
[0027] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0028] 参见图1,为本发明第一实施例的一种游戏场景中物体的控制方法的流程示意图, 在本发明实施例中,所述方法包括:
[0029]S101、获取游戏场景中每个物体的速度矢量,游戏场景中有N个物体。
[0030] 具体的,游戏场景中的物体指游戏对象,其中的物体包括动态物体和静态物体,例 如,人物、技能、宠物、建筑物、树木等,游戏引擎对游戏场景中的物体进行管理,游戏引擎在 加载当前的游戏场景时,需要获取游戏场景中每个物体的属性信息,属性信息用于表示物 体在游戏场景中的显示方式,属性信息包括物体的速度大小、移动方向、显示位置和移动路 径等信息。根据属性信息中的速度大小和移动方向获取游戏场景中每个物体的速度矢量。
[0031] 例如,参见图2,以2D游戏引擎为例,N= 4,游戏引擎待加载的游戏场景中有4个 物体,分别为物体A、物体B、物体C和物体D,物体A的速度大小为10m/s,移动方向为水平 向左;物体B的速度大小为8m/s,移动方向为水平向右;物体C的速度为Om/s;物体D的速 度大小为2m/s,移动方向为水平向左。根据上述速度大小和移动方向,假设4个物体的速 度矢量在平面直角坐标系中均以原点〇为起点,物体A的速度矢量表示为oa,a点的坐标为 (-10, 0);物体B的速度矢量表示为ob,b点的坐标为(8, 0);物体C的速度矢量表示为oc, c点与原点重合,坐标为(0, 0);物体B的矢量表示为od,d点的坐标为(-2, 0)。
[0032] 可以理解的是,在3D游戏引擎中,可以采用空间直角坐标系中的原点〇作为起始 点和三维空间中任意一点作为终点来构造速度向量,本实施例中不再赘述。
[0033] S102、选择N个物体中速度矢量的模长最大的物体作为视觉目标物体。
[0034] 具体的,计算游戏场景中每个物体对应的速度矢量的模长,速度矢量的模长即速 度大小,选择其中模长最大的速度矢量对应的物体作为视觉目标物体。在本发明的实施例 中,可以直接获取物体属性信息中对应的速度大小得到模长。
[0035] 例如,以S101中的例子作说明,在平面直角坐标系中,设向量的起始点坐标为 (Xu,终点坐标为(x2,y2),向量的模长的计算公式为
,物体A的速 度向量〇a的模长为10,物体B的速度向量ob的目模长为8,物体C的速度向量oc的模长 为〇,物体D的速度矢量od的模长为2,比较后可以得出速度矢量oa的模长最大,则选择oa 对应的物体A作为视觉目标物体。
[0036]S103、计算N个物体中每个物体分别与视觉目标物体之间的相对速度矢量。
[0037] 具体的,以视觉目标物体为参照物,计算N个物体中每个物体分别与参照物之间 的相对速度矢量。
[0038] 例如,参见图3,以S102中为例进行说明,视觉目标物体为物体A,计算每个物体 (包括物体A本身)与物体A之间的相对速度矢量,计算得到物体A与物体A之间的相对 速度矢量为〇m,m与原点〇重合;物体B与物体A之间的相对速度矢量为on,η点的坐标为 (18, 0);物体C与物体Α之间的相对速度矢量为ορ,ρ点的坐标为(10, 0);物体D与物体A 之间的相对速度矢量为〇q,q点的坐标为(6, 0)。
[0039]S104、根据计算后得到的N个相对速度矢量分别移动N个物体中每个物体。
[0040] 具体的,采用S103计算得到的N个相对速度矢量分别移动游戏场景中每个物体, 例如,物体A、物体B、物体C和物体D在游戏场景上的移动方式为,物体A保持静止,物体B 以18m/s水平向右移动,物体C以10m/s水平向右移动,物体D以6m/s水平向右移动。
[0041] 实施本发明的实施例,通过选择游戏场景中速度最大的物体作为视觉目标物体, 计算游戏场景中的每个物体以视觉目标物体之间的相对速度矢量,以计算得到的相对速度 矢量分别移动每个物体。这样,游戏者在该游戏场景中能始终以视觉目标物体为视觉中心, 不需要频繁地在游戏场景中移动视觉中心,减少游戏者的视觉疲劳。
[0042] 参见图4,为本发明第二实施例的一种游戏场景中物体的控制方法的流程示意图, 在本实施例中,所述方法包括:
[0043]S201、读取加载游戏场景的游戏引擎中配置的物体的属性信息,根据属性信息获 取游戏场景中N个物
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1