Questions tagged «2d»

2D是指二维空间,其中的坐标用X和Y值表示。

2
计算2D精灵的旋转力
我想知道是否有人有一种优雅的方式来计算以下情况。 我有一个(n)个正方形,随机形状的对象,但我们会假装它们都是矩形。 我们没有重力,因此从上到下的角度考虑空间中的物体。我在一个特定的正方形上向对象施加力(如下图所示)。 如何根据所施加的力在所施加的位置计算旋转角度。如果应用在中心方块中,它将笔直。我离开中心越远,应该如何表现?如何计算转速?
35 2d  rotation  physics  vector 

5
在2D中,如何有效地找到最接近点的对象?
我有一个相当大的游戏引擎,我想要一个功能来查找最接近的点列表。 我可以简单地使用勾股定理找到每个距离并选择最小距离,但这需要对所有距离进行迭代。 我也有一个碰撞系统,从本质上讲,我将对象变成较小网格上的较小对象(有点像小地图),并且只有在相同网格空间中存在对象时,我才检查碰撞。我可以这样做,仅增大网格间距以检查紧密度即可。(而不是检查每个对象。)但是,这将需要在我的基类中进行其他设置,并使本已混乱的对象杂乱无章。这值得么? 是否可以使用一些有效且准确的方法来根据点和大小的列表来检测哪个对象最接近?
35 c++  2d  algorithm  vector  picking 

2
如何使角色能够在墙上行走?
我正在尝试使角色像蜘蛛一样移动:鉴于上升的坡度(通常情况下,球将无法滚动),蜘蛛会慢慢爬上去。 类似地,在给定一个空中矩形平台的情况下,蜘蛛会继续前进,而不是在到达边缘时掉落,而是继续包裹在边缘上,并继续沿平台的侧面和下方向下移动(最终绕平台的外围行走)。 我研究了各种Unity 2D组件,但收效甚微。:( 我世界上大多数碰撞边界都以Collider 2D组件为标志(对受重力影响的简单球效果很好,但对于这种蜘蛛角色则效果不佳)。

11
2D游戏有未来吗?[关闭]
我目前正在研究2D软体物理引擎(因为目前尚不存在-_-),但我担心没有必要在此引擎上花费数年的时间。 尽管我喜欢研究它,但我怀疑这样的引擎能否获得任何收入,因为任何愿意为图书馆付费的人都可能会使用3D。 2D游戏在游戏行业中会有什么样的未来? 我是否应该放弃引擎并找到有意义的工作要做? 奖金: 我一直在尝试通过查看具有多个维度的游戏来实现2D游戏中的物理引擎的独特方法,但是这些游戏仍然以Paper Mario这样的2D视角来看。有任何想法吗?

4
为什么我的物体在45度时比在90度时移动得更快?
我的游戏中有一些物体在45度和90度时移动得更快。 每个对象都有 点(x,y)的位置 Vector2D(x,y)方向 整机速度 我在更新过程中所做的就是计算新职位: position.x += direction.x * speed position.y += direction.y * speed 我该如何纠正?我希望它以相同的速度在任何角度移动。
32 c#  2d  geometry 

3
您如何在基于光栅的图形内容中实现分辨率独立性?
那些不幸无法在锁定平台规格上运行的游戏(例如掌上电脑)需要在各种分辨率格式和宽高比上运行。 在3D游戏中,您可能具有基于栅格图形的HUD或菜单GUI,而在2D游戏中,您可能具有一堆四边形,它们是精灵的容器。 所以我的问题是,您如何处理各种分辨率和纵横比下的设计和操作内容?假设您有一个精灵字符,它是300x400像素的精灵,并被平铺的水平包围。在不同的分辨率/纵横比下,您将看到完全不同的FOV。或者,如果您具有HUD或GUI菜单,则希望将某些东西相对于屏幕放置在相同的位置,并且尺寸相同。但是,图形源是栅格位图,而不是矢量。 显然,问题已经解决了很多次。我很想听听到目前为止对您有用的各种方法。您是否保留了任意尺寸不可知的“像素”单位,并通过基于分辨率和纵横比的公式或其他方法将其神奇地转换为所需的尺寸? 编辑: 因此,结论是枚举您的宽高比。方面的最低组合:分辨率是您将重要内容设计的一种。一个安全的地方,如果你愿意的话。相同的长宽比,但更高的分辨率是简单的缩放问题。艺术内容旨在实现最高分辨率。较大的宽高比仅显示更多的级别/ FOV,并且所显示的信息并不重要,安全区域中的信息并不重要。我做的像这张照片。
32 2d  sprites  gui 

4
程序员如何学习绘制2D资产?[关闭]
对于想要创建2D图形游戏资产的人来说,有什么好的教程吗?面向绝对初学者的绘画班,最好是与游戏尽可能相关的教学技能-横向/自上而下绘制角色,等距绘制,绘制纹理等。
31 2d  graphics  art 

6
一种存储潜在无限2D地图数据的方法?
我有一个2D平台程序,当前可以处理100 x 100的块,块坐标存储为long,因此这是地图的唯一限制(maxlong * maxlong)。所有实体位置等都与块相关,因此没有限制。 我遇到的问题是如何在没有成千上万个文件的情况下存储和访问这些块。有什么想法可以实现快速低成本的高清存档格式,而无需一次打开所有内容?
29 xna  2d  c#  maps  platformer 

3
像《塞尔达传说》这样的2D游戏如何处理仅显示部分角色的建筑物后面的角色?
我正在尝试开发一个简单的Zelda风格的游戏。我发现这个非常有用的话题 《 LoZ:与过去的链接》如何处理小区块冲突? 我将其作为参考来开发我的碰撞检测机制。但是,有些事情我听不懂。当Link在建筑物后面时,仅显示他的一部分。谁能帮助我了解如何实现这种效果?建筑物不是背景的一部分吗?
28 2d 

10
在Pong中,当球从球拍反弹时,如何计算球的方向?
我正在努力解决游戏开发中的这个Hello World-y问题。我已经在XNA中创建了一个TicTacToe游戏,所以我想下一步将是Breakout克隆。 请记住,我没有在游戏编程甚至什么数学,我应该适用于那些知识。这就是为什么我问这个问题。 问题:如何确定球击中屏幕底部的桨时应该反弹的位置? 我以为会是这样的: 捕获传入球的速度和角度。 检测它触摸条的位置(最左边,最右边,中间),并据此使其在触摸外部区域时具有更高的速度。 这就是我卡住的地方。呵呵。 有什么见解吗?我意识到这不是一个简单的答案类型问题,但是我确信这是每个​​人在某个时候都面临的问题。 我正在阅读该网站上推荐的《线性代数》一书,但我仍然不知道是否应该在这里应用它。
28 xna  c#  2d  mathematics  physics 

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

2
具有连接路径的过程二维地图算法
要解决的问题:为所有房间相连的基于图块的游戏生成随机的2D地牢地图。 我正在寻找比目前更好的解决方案。 我当前的解决方案是运行两种算法。第一个生成带有其房间的地牢。第二个要确保所有房间都已连接。我很好奇还有什么其他解决方案。更快和/或更容易等。速度并不是真正的问题,但是如果可以免费获得速度,那将是一件好事。更重要的是,我和其他阅读者可以学习不同的方法来解决问题。 以下是我当前的实现。房间目前没有出口,也没有任何2、3或4个方向的出口。 生成地下城房间 设置:将当前房间设置为左上方的房间。 获取该房间的有效房间类型(其中有效的房间类型是在地牢中没有出口,并且其出口与上方房间和左侧房间的出口相匹配的类型。只需要在上方和上方进行检查即可)由于下面的第2步而离开)。 放下房间,将x坐标前进一个步骤。如果x坐标超出地牢宽度,则将x坐标设置为0,并将y坐标前进一个步骤。如果y坐标超过地牢高度,则完成。 从#1开始重复。 然后,我检查是否所有房间都已连接。如果还没有全部连接,我运行第二种算法,该算法以非性感但在地下城布局方面肯定足够好的方式穿过这些房间并进行更改,以便所有被连接起来。 检查是否所有房间都连通 设置:创建一个表示路径的整数2D映射,并将条目初始化为“未处理”(尚未遍历)值-1。将跟踪当前路径的起始路径索引整数设置为1。通过将当前房间添加到要检查的房间堆栈中,将当前房间设置为左上房间。 如果堆栈中包含要检查的房间,则将其弹出以将房间的路径索引设置为当前路径索引。如果堆栈中不包含任何房间,请增加路径索引并尝试逐列逐行前进以获取房间,直到获得尚未处理的房间。如果找不到房间,我们就完成了。 检查房间是否在左侧有出口。如果已添加左侧空间,则将其添加到堆栈中。 对向下,向右和向上方向重复步骤2(因为我们使用的是堆栈,这意味着从顶部方向开始以顺时针顺序遍历房间)。 从步骤1开始重复。 如果路径索引计数大于1,则表示房间已断开连接。 如果存在断开连接的房间,则将房间按其路径索引分组,获取最大路径的索引,然后将所有其他房间连接到这些房间。这是一项正在进行中的工作,但是我的(当前的,“粗俗的”)计划是要遍历一个房间组(第一个房间除外)中的每个房间,以检查是否有通往Biggeset房间组的水平或垂直路径,并且如果是这样,请通过在其间注入/更新房间来在其中创建水平/垂直路径。冲洗并重复。丑陋的,是的,但是就视觉模式而言,这是不明显的,因此可以在这种意义上发挥作用。

3
团队如何防止覆盖源文件中的工作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 在我看来,有一种可能性,例如由多个人同时处理游戏引擎时,如何防止覆盖? 假设开发者一在工作,Audio.cpp而开发者二也在工作Audio.cpp,这在大型团队中通常如何进行管理以应对覆盖?(换句话说,要阻止开发人员2打开文件,直到开发人员1完成)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

3
如何在程序生成的世界中识别特征区域?
我正在建造一个岛屿。我使用经典的高度图解决方案:具有爬山功能,避开地图的拐角处,可以确定高度。然后,佩林噪声为我提供了一些应对生物群落的气候变量。现在,我面临着以某种方式联系在一起的两个挑战: 在《矮人要塞》中,尽管不是矩形形状,但游戏似乎是如何“知道”区域并为其命名的,这是世代的整洁方面之一。我希望能够“识别”我的森林,我的河流,我的山丘……不知道我可以使用哪种算法来扫描地图并解释其区域?您将如何存储呢?我正在使用由“ tiles object”的向量的向量构成的基本C ++图形。 这个岛屿应该划分为政治领域,而不仅仅是自然区域。我可以用山脉和河流来做“自然边界”,但是我程序生成的地图却不能保证我会拥有形成王国的漂亮“飞地”。我可以发现自己拥有一个由微型王国包围的巨大的“丝带状”政治地区。另一种可能性是为城市或城堡寻找合适的区域。然后,“发展”周围的政治领域。但是,在尝试设计自己的算法之前,我想再次使用一些众所周知的算法。 这个问题可能解释得太含糊,所以改写它的一种方法是:如何将程序生成的世界划分(不修改!)为适合游戏性的区域?在此先感谢您的帮助。

5
如何计算两个2D向量之间的角度和正确的转向方向?
我正在研究一些运动AI,该运动没有障碍并且运动仅限于XY平面。我正在计算两个向量,v是船1的朝向,w是从船1的位置指向船2的向量。 然后,我使用公式计算这两个向量之间的角度 arccos((v · w) / (|v| · |w|)) 我遇到的问题是arccos仅返回0°到180°之间的值。这使得无法确定我应该向左还是向右转以面对另一艘船。 有一个更好的方法吗?
26 2d  vector 

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.