Questions tagged «2d»

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

1
无限级别的过程生成
有什么好的方法可以以程序方式生成无限2d水平?级别可以限制在任一维度上,但不一定。 到目前为止,对我来说最有意义的方法是使用基于网格的半径。例如,将游戏区域划分为具有一定大小正方形的网格,然后在玩家周围的半径内加载X个正方形。然后,当玩家移动到另一个正方形时,建立下一个集合并将其放下更远的地方(不需要持久地探索区域。)在构建正方形时,它包含随机排列的对象。当物体离开正方形的外圈时,它们将从世界上移开。有更好或不同的方法吗?或者,如果这是一种好方法,那么潜在的问题是什么? 为了讨论的缘故,您可以将其视为自上而下的小行星场,其上散布着力量起伏等。

1
基于图块的2D Platformer的地形生成
我目前在某种程度上正在开发类似于Terraria的基于图块的2D平台游戏,尽管我在地形生成方面遇到了困难。我完成了一些基础工作,尽管它们没有任何有用的作用。 我尝试了几种不同的技术,例如Perlin Noise,并了解了其他一些技术,例如Midpoint Displacement,尽管我不确定哪种方法最好,或者无法结合使用不同的技术来生成不同的区域。(例如中点位移表示地形的一般形状,Perlin Noise表示洞穴的形状。) 我已经找到了一个很好的解释,说明如何使用“ 意外噪声库”将其分层,尽管它是C ++语言,而且我不了解足够的C ++语言将其编译成可从C#中使用的DLL。尽管我不知道如何将两个效果(通用基的渐变,然后是详细的分形)合并在一起,但我尝试用C#复制它。 目前,我正在使用等离子分形,结果差异很大。例如,它可以生成几乎没有任何表面的地形,也可以生成根本没有任何表面的地形。 好的地图的示例会有所改进,但会更好。(黑色为实心,白色为空): 还有一个可怕的地图的例子。(黑色为实心,白色为空): 基本上,我要问的是,什么是生成地形的更好方法,或者强迫它确保有合理的表面积,并且尽快生成。或者,或者,如何使用C#实现与“意外噪声库”相同的结果。 任何例子将不胜感激。

4
程序生成特定区域的建筑物
我和一个团队正在开发一个工厂建造者游戏,该游戏在游戏开始时为玩家提供一个随机的工厂。为了确保有一种“公平”的感觉,理想情况下,随机生成的工厂的面积应在(占位符值)30的几个单位内。 编写满足这些规范的基本随机矩形生成器相对简单,但我们的目标是使工厂变得更加复杂,可能由2个,3个甚至4个相交的矩形组成,从而产生更复杂的形状(例如L, U和O形建筑物)。 我尝试生成一个随机矩形,然后使用基本代数填充第二个矩形,但是到目前为止,我并没有实现超过2个矩形的运气,即使如此,我对仅2个矩形设计的结果也不满意。 一些更相关的信息:2D自上而下一些机制是factorio样式,因此房间应该具有合理的长度和宽度,以便为机械留出空间(目前在Java和Lua中使用)(可以根据需要使用内置的库) 提前致谢! 编辑:当我说“好”或“坏”的输出时,不良的输出将是具有播放器无法使用的空间的任何输出。工厂形状限制了玩家可以放置工厂机器(例如传送带)的位置。理想情况下,工厂的区域不应只有1-2个块的宽度,形状不应该是一个或两个大的矩形,而将1-2个块的线“垂悬”到一侧。一个好的输出是所有地板空间都是“可行的”,因此所有区域至少应为3-4块宽。好的输出并不一定总是很复杂(可以使用1或2个矩形),但如果由超过1-2个矩形组成,则输出的机会就很大。


6
创建无缝循环的2D多人游戏关卡?
最近出现了有关如何创建可以进行循环关卡设计的2D横向滚动多人游戏的讨论(《星际思考》及其世界如何循环)。 我认为最简单的方法是制作一个带有触发区域的矩形地图,该区域可以将玩家从一侧转移到另一侧。但是,这种方法的明显问题是在地图边缘一次有多个玩家的情况。您不希望只是将玩家传送到彼此面前,而是需要一种在不让其他玩家消失的情况下运送玩家的方法。 为了补充这个想法并解决问题,我提出了以下建议:设置一个触发区域(图像中的红色正方形),玩家可以在其中看到“克隆区域”(绿色正方形)。在这个绿色方块中,来自触发区域另一侧的对象将被复制到其相应的克隆区域(可以通过A和B形状看到)。当玩家到达“克隆区域”的起始边缘时,他们将被传送到地图的另一侧。 在此示例中,玩家2会认为他们正在看玩家1,但是实际上他们会在看到他的克隆,反之亦然。 对于当前的问题,这似乎有些极端和复杂。我现在的问题是要知道此解决方案是否是解决该问题的好方法,还是有解决此问题的更简单方法?

1
使程序生成的自上而下的景观变得有趣
我正在开发具有程序化世界的游戏。理想情况下,我想生成与《我的世界》世界一样美丽的风景。我的世界有峡谷,瀑布,山脉,起伏的丘陵和海洋等。但是由于这将是一种自上而下的游戏(实际上是3/4视角),所以我认为大多数游戏都是不可能的。主要原因是尝试从这个角度表示身高有多困难。塞尔达传说:通往过去的链接很好地创造了高度的错觉,但这很难在程序上重现,而且还引入了一些问题,例如最高的建筑物必须在地图的顶部。 因此,我想知道一些技巧,可以以自上而下的格式制作有趣的景观,而不必伪造第3维。(您不能在此游戏中创建或破坏地形,因此给了我们更多的灵活性。) 编辑:为了使事情更清楚一些,我正在尝试避免使用需要三维尺寸特征的世界。例如,我真的不能拥有连绵起伏的丘陵或山脉。可以添加哪些不需要伪造三维尺寸的景观特征?一个答案可能是增加河流,但这是显而易见的。

1
使用Kinect的3D点进行梯形校正
使用XNA,我正在显示一个投影到地板上的简单矩形。投影机可以放置在任意位置。显然,投影的矩形会根据投影机的位置和角度而变形。Kinect会扫描地板以寻找四个角。现在,我的目标是对原始矩形进行变形,以使投影不再因基本对矩形进行预变形而变形。 我的第一种方法是在2D模式下做所有事情:首先计算透视变换(使用OpenCV的 warpPerspective()),从扫描的点到内部矩形的点,然后将逆应用于矩形。这似乎可行,但速度太慢,因为无法在GPU上渲染。 第二种方法是使用3NA进行所有操作,以便使用XNA的渲染功能。首先,我将显示一个平面,使用Kinect扫描其角并将接收到的3D点映射到原始平面。从理论上讲,我可以像在2D方法中一样,将透视变换的逆应用于平面。但是,由于XNA使用视图和投影矩阵,所以我不能只调用诸如之类的函数warpPerspective()并获得所需的结果。我需要为相机的视图和投影矩阵计算新参数。 问题:是否可以计算这些参数并将它们分为两个矩阵(视图和投影)?如果没有,我还有其他方法可以使用吗?
15 xna  2d  3d  projection  kinect 

2
2D行星重力
我正在尝试制作一个简单的游戏,其中发射一艘太空船,然后其路径受行星的重力影响。 类似于该游戏:http : //sciencenetlinks.com/interactives/gravity.html 我想知道如何在此游戏中复制行星对宇宙飞船的影响,以便宇宙飞船可以“环绕”行星以改变方向。 我设法取得了一些伪造的结果,其中宇宙飞船在行星周围绕着一个巨大的椭圆形循环,或者使用Vectors仅受行星重力的影响很小。 提前致谢。 PS:我有丰富的编码经验,与游戏开发者无关。
15 2d  physics 

5
如何将子弹释放与射击动画联系在一起
假设您有一个想要发射子弹时要发生的动画。您如何将子弹显示在动画的结尾。我唯一能弄清楚的是知道动画的时间长度,并延迟设置项目符号位置并将其设置为活动状态,直到经过该时间量为止。我只是想知道这是否是最好的方法,其他人如何处理呢? 编辑:我认为我在正确表达问题时遇到麻烦。
15 2d  animation  release  timing 

3
与多个物体碰撞时的碰撞解决
我有静态对象和可移动对象。使用分离轴定理检测碰撞。 例如,在这种情况下,我有两个静态对象(红色): 以及介于两者之间的可移动对象: 我的算法能够计算出其中两个对象之间的碰撞,并且还为碰撞生成了一个完美的分辨率矢量(意味着最小位移矢量)。 因此,例如,当我检查绿色矩形和右红色矩形之间的碰撞时,该算法会吐出一个向量,该向量告诉我如何移动绿色矩形才能解决该碰撞: 请注意,我只是在MSPaint中快速绘制了此图像,因此在该图片中,实际上可能是最小平移矢量将绿色矩形推到顶部,但是在这里我将假定将其推到左侧/权利实际上更短。 解决此问题的一般方法是仅解决每帧一个冲突的冲突,而不是一次解决所有冲突。但就我而言,这将导致触发器: 首先,求解器检测到两个冲突,但仅解决右矩形和绿色矩形之间的冲突: 然后,在下一帧中,它仅检测到左红色矩形和绿色矩形之间的一个碰撞,并解决该碰撞: 如您所见,这实际上并不能解决冲突(例如,通过将绿色矩形推到顶部),而只是在两个状态之间无限地触发器。 我该如何解决?

4
二维等距游戏中的实时阴影投射
我正在用C ++写一个小的2D等距引擎,并且试图实现实时阴影投射。我按照本页上描述的一种简单方法进行操作,结果是(光与黄色立方体位于同一位置): 结果非常好,但是在墙壁和立方体顶部缺少阴影。这是一个看起来像的示例(我用绿色绘制了预期的阴影): 所有绘制的立方体仅由位于XY位置且Z深度(z = x + y)的3个2D方形构成。我将OpenGL与正交矩阵(glOrtho)结合使用。使用模板缓冲区绘制阴影。 我正在寻找可以帮助我完成此影子投射实施的资源或解决方案。 非常感谢!

4
两点之间的弯曲运动
有什么好的技术可以使对象以良好的弯曲运动在各点之间移动? 最终位置也可以在运动中,例如寻的导弹的轨迹。
15 xna  2d  movement 

2
在2D XNA游戏中创建电/照明/特斯拉线圈效果?
我想在两点之间创建与该视频非常相似的电束:http : //www.youtube.com/watch?v=eMJ8-56L3Lc。效果是如此动态,各点之间的长度和伪随机运动各不相同,以至于我难以想象如何完成这样的事情。是否有任何有用的信息可以指导我正确的方向? 我应该注意,我使用的是XNA 4.0 Reach配置文件,但是自定义着色器还可以,因为我的目标不是Windows Phone。

1
2D游戏中的图块大小
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在使用图块映射方法开发小型游戏时,我想到了一个问题: 我会在Windows上开发游戏,但不会排除将其适应于其他平台的情况。 您会建议使用什么尺寸(以像素为单位)来创建具有以下要求的贴图游戏(即RPG)的贴图? 在没有太多瓷砖的情况下,具有可接受的细节水平。 具有合适的地图尺寸。 允许在掌上电脑(即PSP),智能手机或计算机上对游戏进行改编,而不会损失太多细节或降低速度。 允许或多或少重要的放大/缩小。 具有允许像素完美碰撞或块碰撞的图块分辨率。 只要能满足要求,从良好的解释到游戏示例的任何内容都是有用的。 这个问题似乎有点简单,但是我注意到许多Indies游戏开发人员都在使用不合适的比例尺风景。 对于语法差和我的问题词汇量少,也感到抱歉,在谈论计算机编程时,如果母语不是英语的人不会帮忙。
15 2d  tiles 

2
OpenGL ES 2.0:设置2D投影
本文总体上介绍了如何使用固定功能管线绘制清晰的OpenGL 2D图形。 http://basic4gl.wikispaces.com/2D+Drawing+in+OpenGL 由于OpenGL ES 2.0具有某些ES 1.x功能不可用(例如:glOrtho()),因此必须在“片段/顶点”着色器中替换其功能。 我的问题是,如何在可编程功能管线中设置以下2D投影? const XSize = 640, YSize = 480 glMatrixMode (GL_PROJECTION) glLoadIdentity (); glOrtho (0, XSize, YSize, 0, 0, 1) glMatrixMode (GL_MODELVIEW) 如何配置片段和顶点着色器以完全替代上述固定功能2D投影设置?

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.