Questions tagged «2d»

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

4
如何计算由反弹摩擦引起的旋转?
接下来是我的上一个问题:我很实际地将球从击中的表面弹起。现在我想使它从打击的摩擦中旋转。 演示起来很简单:我在每个刻度上以球的角速度旋转球,并在渲染时应用相同的旋转。 当球撞到墙壁时,我知道旋转速度受... 击球时球的初始速度 球与表面的摩擦系数(物理常数) 的入射角(球的进向速度矢量与表面法线之间的角度)。 入射角由球的撞击速度和出口速度向量的点积近似得出。(1表示高自旋,-1表示无自旋,其他所有相对而言) 将以上所有内容相乘,并确保将它们转换为0-1,然后乘以最大旋转速度,球似乎在旋转速度方面达到了预期。除了一件事:它总是沿顺时针方向旋转(因为正值)。 这是个好方法吗?您能想到一个更简单的方法吗? 如果此方法看起来不错,我会缺少什么?我怎么知道什么时候球应该逆时针旋转?

5
2D大亨游戏与3D大亨游戏
我完全接受这可能只是我自己,但我不禁注意到,我从未沉迷于任何3D大亨或城市建筑游戏,但我已沉迷于许多较旧的2D大亨游戏。 这里有一些例子。我玩了1701 AD,尽管很好,但我并没有真正参加。但是我刚刚找到了我的《宙斯:奥林匹斯大师》已有十多年的历史了,这对我来说很难让自己脱离那场比赛。或考虑过山车大亨。每次我玩第一或第二个游戏时,我最终都会至少暂时沉迷于游戏中。但是我从来没有感觉到第三种感觉。 我对3D图形没有任何要求。仅仅是3D大亨游戏对我不起作用。我不知道为什么。 所以我的问题有两个: (1)我真的是这样一种感觉吗?还是别人也有同样的感觉?多数人有这种感觉吗? (2)可能是什么原因?与3D游戏相比,开发2D大亨游戏有合法的优势吗?就像2D开发可以在微调游戏上投入更多时间一样简单,还是这里有更深的东西? 作为记录,我不认为这是怀旧的结果。例如,尽管我是在宙斯问世时买了宙斯,但直到最近我才出于某种原因才玩过它。对我来说这是一个新游戏。
15 2d  rts 

5
如果我想独立学习游戏图形设计,该从哪里开始?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 6年前关闭。 我想学习如何创建自定义图形,而不是免费使用可用资源。但是我一直在寻找有关一般如何从2D游戏设计入手的文章或教程,而我似乎找不到一个好的起点-书本或其他。我通常会为那些在平面设计方面进行过正规研究(高级的东西)的人提供各种资源,但是我不会在一段时间内(如果有的话)拥有大量的正规研究资源。另一方面,我找到了用于学习编程方面资源的资源,而不是用于学习如何创建要处理的图形的资源。 有什么好的资源可用于学习面向游戏的图形设计?特别是2D,这是我最感兴趣的2D,但也欢迎3D。
15 2d  3d  graphics  2.5d 

4
Unity中Update方法和FixedUpdate之间的区别?
我开始学习Unity3d,而我得到的困惑之一是Update()和之间的区别FixedUpdate()。 我在那儿遵循Lynda Unity 2D游戏开发教程,讲师使用Update方法,播放器具有RigidBody2D组件和Box collider,他使用该Update方法来翻译播放器,但是当我在Update播放器中执行相同操作时,它不会移动,但是当我执行时在中FixedUpdate,一切正常。他正在从Unity 4.3提供教程,而我正在Unity 4.6中学习课程。 我应该在哪里使用Update和FixedUpdate?

1
如何为2D侧滚动游戏实现假的3D像失真效果?
尽管我认为这是某种后期处理效果,但我不确定要搜索的合适术语,甚至不确定从何处开始。 我见过像《我想成为笨蛋》和《你必须赢得游戏》之类的游戏,它们设法修改了2D游戏的视角,使它们具有某种3D效果(请参见下图)。当您必须赢得游戏时,Boshy基本上使其看起来像在塔(圆柱体)中,从而使图像失真,从而看起来像在旧的CRT显示器上播放,特别是略带圆角的外观。 有这种效果的术语吗? 实现这种效果(术语)的标准方法是什么? 从20,000英尺的角度来看,我将如何在高级引擎/框架(如Unity或XNA / Monogame)中实现这种效果?(详细的代码很容易被接受,但不是必须的-我意识到确切的实现细节可能会有所不同,但是对于需要做什么的高级细节将不胜感激) 我想成为混蛋 你必须赢得比赛

2
太空船动态推进器平衡
在我的游戏中,太空飞船是一种由玩家打造的装置,可以在任意位置,任意旋转地安装任意数量的推进器。我目前有一些肮脏的代码可以将船旋转到给定的角度(加速和减速)。 这是一个对称船面对红线指向的示例,被告知向左旋转。 但是,正如您想象的那样,取决于玩家将推进器放在何处,有时会出现不希望的线性力影响飞船的情况。在这种情况下,船开始前进。 我正在详细说明是否有可能找到推力器可以施加的最大推力而不引起线速度。(在上述情况下,这将是没有的,因为没有什么可以抵消来自后推力的力,而前推力会互相残杀)。 到目前为止,我想出了一个公式来确定“转弯效率”,例如,相对于线性运动,会引起多少旋转。 a-推进器b的位置矢量b-推进器b的位置矢量v1-推进器a的力v2-推进器b的力 efficiencyDelta = a.cross(v1)/ | v1 | -(a.cross(v1)+ b.cross(v2))/ | v1 + v2 | ,基本上是“ a.cross(v1 * t)/ | v1 |” 应该是转弯效率。然后,我们将其与推进器的转向效率相减,以查看是否值得使用新的推进器。 当我意识到推进器不是应该打开/关闭,而是可以将其推力从0更改为1时出现的。当玩家希望飞船前进时该怎么办。当然,需要平衡旋转/移动的量。 我不是火箭科学家,所以我希望有人可以告诉我,是否甚至可以这样计算每个推进器的油门,并向我推正确的方向。 感谢您抽出宝贵的时间!/金


2
如何创建世界治愈波效果?
我想将黑暗和令人沮丧的背景实时更改为快乐的草皮背景,以使快乐背景以游戏角色周围的半径显示。 如果愿意的话,幸福的力量场。 在自定义视图中渲染到画布时,如何尽可能高效地完成此操作? 更新: 这就是我的脑海: private int hModeX, hModeY; private float hModeRadius = 0.1f; private float hModeStart = 0; happyModeBg = Bitmap.createScaledBitmap(happyModeBg, getWidth(),getHeight(), true); hModeX = getWidth()/2; hModeY = getHeight()/2; private void initHappyMode(Canvas canvas){ hModeRadius = 75 * thread.getDelta(); if(hModeRadius > 500) { hModeStart = timestep; //What is timestep? } …

2
实体/组件系统和UI“实体”
我对实体/组件系统仍然很满意。我发现,由于我具有用于绘制精灵(或精灵表)和处理输入(鼠标/触摸点击)的有用组件,因此我自然希望重用这些组件来创建UI组件(例如按钮,例如,级别选择屏幕)。 这让我感到非常奇怪。我一直将实体理解为“游戏模型”,例如玩家,敌人,道具等。从代码重用的角度来看,为UI重用组件是很有意义的。 UI / GUI关注点如何(以及在​​哪里)适合实体/组件系统? (注意:此问题与平台无关,因为它适用于多种平台/语言)

3
用AA渲染线的最快方法,DirectX中的线宽变化
因此,我正在做一些DirectX开发,确切地说是在.NET下使用SharpDX(但DirectX / C ++ API解决方案适用)。我正在寻找使用DirectX在正交投影中渲染线的最快方法(例如,模拟科学应用程序的2D线图)。 我尝试渲染的各种情节的屏幕截图如下: 这类绘图具有数百万个线段,可变厚度,是否带有每行抗锯齿(或全屏AA开/关)的情况并不少见。我需要非常频繁地更新线条的顶点(例如20次/秒),并尽可能多地卸载GPU。 到目前为止,我已经尝试过: 软件渲染(例如GDI +)的性能实际上并不差,但显然在CPU上很沉重 Direct2D API-比GDI慢,尤其是在启用抗锯齿功能时 Direct3D10使用此方法在CPU端使用顶点颜色和细分来模拟AA。也很慢(我分析了它,花费了80%的时间用于计算顶点位置) 对于第三种方法,我使用“顶点缓冲区”将三角带发送到GPU,并每200毫秒用新顶点更新一次。100,000个线段的刷新率约为5FPS。我理想地需要数百万! 现在,我在想最快的方法是在GPU上进行细分,例如在Geometry Shader中。我可以将顶点作为线列表发送,也可以打包成纹理,然后在“几何着色器”中解包以创建四边形。或者,只需将原始点发送到像素着色器,然后在像素着色器中完全实现Bresenham Line绘图。我的HLSL是2006年的生锈着色器模型2,所以我不了解现代GPU可以完成的疯狂工作。 所以问题是:-有人做过吗,您有什么建议可以尝试吗?-您对通过快速更新几何来提高性能有什么建议(例如,每20毫秒创建一个新的顶点列表)? 1月21日更新 从那以后,我已经使用LineStrip和Dynamic Vertex Buffers使用Geometry Shader实现了上述方法(3)。现在我以100k点获得100FPS,以1,000,000点获得10FPS。这是一个巨大的改进,但是现在我的填充率和计算能力受到限制,因此我开始考虑其他技术/想法。 线段几何的硬件实例化如何? Sprite Batch呢? 其他面向(像素着色器)的方法呢? 我可以有效地淘汰GPU或CPU吗? 您的意见和建议深表感谢!
14 2d  directx  shaders 

1
如何创建渐变的战争迷雾?
我正在出于教育目的创建自上而下的2D RTS游戏。目前,我真的只是在复制Starcraft的设计/想法。我已经决定也应该实施《战争迷雾》。 我的期望: 当前探查的区域(有单位)应照亮。 地区previsouly探索(单位是有)应为黑暗的,但显示什么东西都没有,当你单位在那里。 未探索的区域(您单位从未去过的区域)应完全为黑色。 每种类型都应该有一个梯度变化(例如,已探究到先前探究),请参见下图。 只是粗略的细节:我将如何做?
14 2d  xna-4.0  rts  fog-of-war 

4
我应该在3d之前学习2d游戏开发吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 3年前关闭。 我是iPhone应用程序开发人员。我想进入iOS游戏。问题是-我应该先学习像Cocos 2D或Corona SDK这样的2D,然后再学习像Unity这样的3D游戏吗?我对3D游戏更感兴趣,但是您认为了解2D游戏是学习3D开发的先决条件吗?
14 2d  3d  ios 

2
2D Platformer的墙跳
我一直在寻找一种在xna游戏中实现跳墙的方法,但是我找不到有关它的任何信息,有人可以请我帮忙吗?
14 xna  2d  c#  platformer 

4
基于二维非平铺的地图编辑器
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 6年前关闭。 我目前正在为iPhone开发一款相对简单的,自上而下的2D冒险游戏,并且想知道为我的游戏创建地图的最简单方法是什么。我认为我需要某种可视化编辑器,该可视化编辑器可以立即给我反馈,并可以将世界上的所有对象准确放置在所需的位置。然后,我可以在游戏的编辑器中加载我创建的世界的已保存表示。 因此,我正在寻找一个允许我执行此操作的简单地图编辑器。我游戏中的所有对象都是由两个三角形构成的简单纹理矩形。我需要做的就是在地图上放置不同的矩形/对象,并为其赋予纹理。我正在使用纹理地图集,因此能够将纹理的一部分分配给对象将很有用。然后,我需要能够从保存的地图表示中提取所有对象,以及它们使用的纹理(图集)的名称/标识符以及纹理图集的区域。 我看过一些基于图块的地图编辑器,例如Tiled和Ogmo,但它们似乎无法执行我想要的操作。有什么建议么? 编辑:一个更具体的示例:类似于GameMaker关卡编辑器,但随后以方便的格式添加了导出功能。
14 2d  iphone  maps  levels  editors 

5
使2D角色在行动中能够使用大量不同设备的最佳方法是哪一种?
我想创建一个2D游戏,但我想让角色在不同的组合(如RPG或类似物品)上穿戴大量的不同设备。 因此,假设用户更换了他的肩膀和裤子,这必须向玩家展示,并且所有这些不同的装备都必须遵循不同的角色动作(击打,被击打,拼写魔术等)。 我看到了一些我想知道最佳解决方案/算法/体系结构的问题。 1-精灵或动画 我应该为每个动作动画的每个设备创建不同的精灵吗? 只是让设备精灵在旋转和平移等代码上直接对其进行动画处理(在Flash上​​使用诸如tween之类的东西),是否更好? 还有其他更好的选择吗?(我真的不喜欢上面的想法) 2-职位 假设在角色移动的其中一个过程中,他开始直接在玩家的视线前方看,但结束了向玩家显示其右侧的动作(例如,如果他将剑从一侧摆动到另一侧)。 如果我们考虑用户的一部分,例如他的头部,则它从前面开始,然后向左转。 这意味着每个头部设备(头盔,帽子等)至少有3个不同的位置。 这肯定会影响第一题的答案。如何做到这一点的最佳方法? 3-层 让我们考虑一个角色移动,他张开双臂旋转360度。在动画开始时,他的右手靠近用户的视野,然后在移动的中间,这可能位于动画中角色的身体后面。 无论在#1问题上有什么选择,您肯定都需要使用某种图层模型使此sprite或动画开始更靠近玩家的视线,然后再更改为远离玩家的视线。 有什么好办法吗? 我知道这个问题很长,很难理解。让我知道您是否认为最好有一些图纸来解释哪个图纸,我将尽力做到这一点。

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.