Questions tagged «movement»

“平移”的简单术语,通常是指从A点到B点的实体位置变化。

7
我可以防止对角线运动探索更多地图吗?
在沿着8个方向中的任意一个方向进行完全相同的旋转(棋盘样式规则)的磁贴网格中,是否可以防止对角移动显示比正交移动更多的新磁贴? 例如:您是下图中的红色框。目前,您可以看到绿色的单元格(方形视野)。您可以在八个方向中的任何一个方向上移动一个图块的距离。 如果您向东北移动,您将探索13个新的图块(以蓝色显示)。如果您改为向南移动,则将仅探索7个新图块(以紫色显示)。 如何使每个方向的旅行对探索都同样有利?

5
在hack&slash游戏中寻找一种很好的角色移动技巧
我正在制作hack&slash游戏,并且希望角色像在Torchlight,Diablo等中一样移动。目前,我为地板的所有可行走区域生成了一组节点。当我单击某个位置时,播放器会通过节点的插值路径到达那里。这看起来不是很自然。玩家像机器人一样移动。敌人也使用该节点系统进行运动并共享相同的问题,但是我对它们还有另一个问题。当敌人发现玩家时,他们会以最短的路径找到他。有时他们会使用相同的路径并与玩家对齐,而不是包围玩家。我不知道如何让敌人选择不同的路径并包围玩家。你知道我该如何解决这个问题?也许我应该对角色移动使用不同的方法? 我目前的技术: 火炬之光截图: -更新- 我想知道如何处理这些情况: 情况1,我途中有动态/静态障碍 情况2,敌人有通往玩家的圣路(进入队列与我们作战)
51 ai  rpg  movement 

5
游戏中的演员应该负责吸引自己吗?
我对游戏开发非常陌生,但对编程却不是。 我(再次)使用JavaScript的canvas元素在玩Pong类型的游戏。 我创建了一个Paddle具有以下属性的对象... width height x y colour 我也有一个Pong具有诸如...的属性的对象 width height backgroundColour draw()。 该draw()方法当前正在重置canvas,这就是出现问题的地方。 如果Paddle对象具有draw()负责其绘制的方法,或者draw()该Pong对象的负责负责其演员的绘制(我认为这是正确的术语,如果我不正确,请更正我)。 我发现在Paddle实例化两个对象Player和时,绘制自身会很有利Enemy。如果在没有Pong的draw(),我需要两次写类似的代码。 最佳做法是什么? 谢谢。

4
客户端预测如何工作?
我已经阅读了Valve + Gafferon和Google的数百页内容,但是出于任何原因,我都无法理解客户预测。 据我了解,基本问题是: 客户端A在以下位置发送输入 T0 服务器在以下位置接收输入 T1 所有客户都在以下位置收到更改 T2 在T2然而,使用客户预测,客户端A现在是在合适的位置来T4。 在预测服务器将接受移动请求时,如何确保客户端A不在服务器之前?显然,它们一直都在前进,这导致返回到服务器上次看到它们的位置。经过我尝试的所有更正,当您停止时这仍然很明显,因为服务器在您身后停止了

6
在MMO中​​谁计算AI?
我正在建立一个MMO,并想添加NPC。问题是我不知道基本设计。计算是什么,客户端还是服务器?我会理解服务器计算事件和反应的能力,但是当涉及到寻路以及玩家的位置和动作时,谁来计算呢? 谁计算服务器或客户端的AI?我无法想象服务器会计算寻路,位置,运动等。请帮助我了解这一点,谢谢,一切都会有所帮助。
30 ai  mmo  server  movement  npc 


4
自上而下的RPG运动(带校正)?
我希望我们都曾经玩过《塞尔达传说:通往过去的链接》,如果我记错了,请纠正我,但我想模仿一下这种2D,自上而下的角色移动。在其他游戏中也可以做到这一点,但是我认为这种引用是最简单的。更具体地说,我所谈论的移动和校正类型是: 浮动运动不仅限于像口袋妖怪和其他游戏之类的基于瓷砖的运动,轻按一下运动板即可在该基本方向上移动一个正方形。这种浮动运动应该能够实现对角线运动。 如果您向西走,并且以东北/西南方式到达对角墙,即使您继续按住控制器的左(西)键,您也将被校正为西南运动。这应适用于在两个方向上校正的两个对角线。 如果您距离直走门或走廊几步之遥,那么您会被校正为穿过大厅或沿着走廊走,即撞到角落会导致您被推入大厅/门。 我一直在寻找有效的方法来实现这一目标,并且没有运气。明确地说,我说的是人物角色的动作,而不是NPC的动作。他们的资源可用于这种运动吗?Wiki或其他内容上解释的方程式或算法? 我正在使用XNA Framework,其中有什么可以帮助您的吗?
27 xna  2d  rpg  movement 

11
如何使用户友好的极坐标绕圆运动?
我正在做一个2D游戏,您可以用船降落在行星上,并且可以退出船并四处走动。 这些行星非常小(有时会想到约350像素半径),并且是从侧面看的。因此,您可以轻松地在屏幕上大致看到整个星球。 这可能有点令人困惑,所以这是一张图片: 我使用A和D键分别逆时针和顺时针移动。问题在于,如果您位于行星的“顶部”(上半部分),这是有道理的:A向左移动,D向右移动。但是,如果您位于行星的“底部”(底部一半),则A向右移动,D向左移动。 关于如何使它变得更加用户友好的任何想法?

3
非整数速度值-是否有更干净的方法可以做到这一点?
通常,我会希望使用速度值(例如2.5)在基于像素的游戏中移动角色。但是,如果这样做,碰撞检测通常会更加困难。所以我最终做了这样的事情: moveX(2); if (ticks % 2 == 0) { // or if (moveTime % 2 == 0) moveX(1); } 每当我不得不写那封信时,我都会畏缩一次,是否有一种更清洁的方式来移动具有非整数速度值的角色,或者我会永远坚持这样做吗?

3
以恒定速度从A(x,y)移至B(x1,y1)吗?
我目前有类似的东西: float deltaX = point0.getX() - point1.getX(); float deltaY = point0.getY() - point1.getY(); 每隔0.01秒,我就会刷新对象位置,如下所示: object.setPosition(object.getX()-deltaX/100,object.getY()-deltaY/100); 因此,这会在1秒内将我的对象从point0移动到point1。我需要的是2个点,以便能够将对象从point0移动,以恒定的速度面向point1。因此,当我有一个点更接近我的初始点时,对象将以与我拥有一个更远点时相同的速度向它移动。任何建议表示赞赏。谢谢。

6
如何构建“交通AI”?
我目前正在从事的一个项目具有很多“交通”的含义,例如汽车在道路上行驶,飞机在停机坪上行驶等。 到目前为止,可用路径已预先计算,因此会自动生成交叉点,这些交叉点本身通过边相互连接。当角色/代理生成时,它从某个节点开始,并通过简单的A *算法找到到目标节点的路径。代理遵循路径并最终到达其目的地。到目前为止没有问题。 现在,我需要使代理能够避免冲突并处理复杂的流量情况。由于我是AI领域的新手,所以我查阅了几篇有关转向行为的论文/文章,但发现它们太低级了。我的问题很少是避免实际的碰撞(在这种情况下,这很简单,因为代理遵循严格定义的路径),而是一种情况,例如一个代理留下了死胡同,而另一个则想输入完全相同的代理。或两个遇到瓶颈的代理程序只能一次允许一个代理程序通过,但是两者都需要通过(根据之前找到的最佳路由),并且他们需要找到一种方法让另一个代理程序首先通过。因此,基本上,该问题的主要方面是预测交通流,以避免死锁。 很难描述,但我想您明白我的意思。您对我从哪里开始有什么建议?是否有任何论文,示例项目或类似的东西可以帮助我入门? 我感谢您的帮助!
21 ai  movement 

6
具有物理模型的船舶的AI控制
我正在寻找有关如何在2D空间中实现跟踪的想法。不幸的是,我对AI /路径查找/自主控制了解不多。 假设这艘船可以自由移动,但它具有质量和动量。同样,外力可能会影响它(爆炸等)。玩家可以随时为飞船设定目标,并且该目标应到达该地点并停止。 没有物理学,这将很简单,只需指出方向即可。但是,如何应对现有的势头然后停下来呢?我不想直接修改船的位置。 编辑:只是要弄清楚,与船舶本身的物理相关的数学并不是问题。

2
RTS游戏协议
我一直在考虑多人RTS游戏。我似乎无法解决的部分是保持单元运动同步。如果我将单元A移动到XY位置,则必须将其传达回中继到另一个客户端的服务器。 我很好奇通讯的样子。您是否只想与服务器将A单元从JZ移到XY进行通信?也许您需要逐个协调沟通运动?将单位从一个客户转移到另一个客户的最有效方法是什么? 编辑 这是stackoverflow重新发布的问题。我发现这个网站可能是个更好的地方。 该帖子的更好答案之一: 我假设您打算使用客户端-服务器网络范例?在这种情况下,您不能信任客户端来处理单元的实际位置,则必须将该任务委托给服务器。然后,您按时从每个客户端获取命令列表,并计算每个单元的移动,一旦完成,下一步就传递与每个客户端相关的每个单元的位置(以全图为基础,或者每个观看次数),然后重新开始该过程。
18 movement  rts 

3
按下多个键时如何避免运动速度堆积?
我已经开始了一个不需要鼠标的新游戏,因此将动作保持在键盘上。我尝试合并8个方向;上,左,右,右上等等。但是,当我按下多个箭头键时,移动速度会累积起来(http://gfycat.com/CircularBewitchedBarebirdbat)。我该如何应对? 这是我的代码的相关部分: var speed : int = 5; function Update () { if (Input.GetKey(KeyCode.UpArrow)) { transform.Translate(Vector3.forward * speed * Time.deltaTime); } else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.RightArrow)) { transform.Translate(Vector3.forward * speed * Time.deltaTime); } else if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.LeftArrow)) { transform.rotation = Quaternion.AngleAxis(315, Vector3.up); } if (Input.GetKey(KeyCode.DownArrow)) { transform.Translate(Vector3.forward * speed …

1
在不平坦的行星表面上寻路
我的问题是在不平坦的行星表面上寻路的最佳方法是什么? 背景资料 我通过位移映射6个球面投影平面创建了一个行星。这些平面在投影为球形之前先形成一个立方体。 我想知道是否可以将每个“球面投影的立方体面”用作网格并使用简单的A *算法来找到最佳的可能路线,我也希望考虑位移高度,以便该路径避免爬升山脉等(我想这只是A *算法中的一种启发法)。另一个考虑因素是,我通过利用Unity3d的物理引擎实现了行星运动,将重力应用于行星中心。我提出的解决方案是否需要对重力运动进行独立控制。 为了更好地阐明我的问题,这是我目前的行星体:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.