Articles of 地图编辑器

使用2D地图进行3D游戏的等级编辑

我们正在尝试为3D游戏制作关卡编辑器,这个游戏涉及在室外环境中行走。 在很多方面,高度图满足游戏的需求,但是在很多方面也存在不足,所以我们正在考虑对高度图概念进行各种改进,但是很难find解决这个问题的简单方法。 一开始,一个高度图有很大的难度和尖锐的边缘。 只要一切顺利,高度图看上去很美,但是沿着垂直的悬崖,沿着道路的边缘,以及高度图的分辨率变得相关的任何地方,都会变得锯齿状。 这些问题的明显解决scheme是在高度图顶部添加一个vector绘图层,所以我们可以精确地定义垂直悬崖和道路的曲线,并使用它将专门的多边形插入到地形的网格中。 垂直悬崖甚至可以是地形网格中的一个简单的间隙,可以用另一个网格填充,这样我们就可以渲染悬崖面,不过我们喜欢这样做,绕过了海格图通常具有的局限性。 高度贴图的另一个问题是手工绘制平滑斜坡的难度。 对于游戏的目的,地形应该是一个缓坡或一个垂直的悬崖,所以没有模棱两可的问题,玩家是否可以穿越它。 我们可以扫描高度图以检测过度陡峭的斜坡并显示错误消息,但我们真正想要做的是给用户绘制工具,只会绘制可接受的斜坡。 但是,这怎么办呢? 也许传统的栅格高度图会导致比解决更多的问题,所以需要完全不同的高度图。 也许不是添加一个vector绘图层,而是将整个高度图作为一个vector图像来表示,并且用一组多边形表示,每个多边形都有一定的高程。 这样我们就可以自动获得平滑的曲线,为垂直悬崖和平坦的土地创建网格是微不足道的,但是在编辑器中呈现斜坡并渲染它们成为一个挑战。 我们已经考虑过在第二层绘制多边形的混合工具,无论这些混合多边形出现在哪里,底层的地形多边形都会平滑地合并在一起。 具有共享边缘的多边形将从与这些边缘垂直的斜坡以一定角度倾斜,从而使斜坡可行。 不幸的是,生成网格的几何graphics是困难的,这意味着悬崖是每个海拔变化的默认值。 由于用户画线来阻止玩家的通过似乎更自然,而不是画出玩家可以穿越的地方,所以另一种方法是让用户像在栅格高度图中那样在另一图层中画出悬崖线,但是现在那些悬崖峭壁将会阻止地形变成纯净的连绵起伏的丘陵。 将高度图的每个多边形设想为具有垂直边的沙子的支柱,并且当从地graphics成网格时,沙子从其支柱stream出,除了遇到悬崖线并且被迫stream动之外,在每个方向上形成平滑的斜坡周围。 除了悬崖之外,任何地方都需要有足够的坡度向上走,所以当悬崖上有缝隙的时候,沙子需要stream过并在另一边铺开。 我们对如何实现这个目标有一些想法,但这仍然是一个重大的挑战。 最后,我们可以用一个斜坡块来表示斜坡。 编辑将是容易的,生成网格将是容易的,所有的问题将被解决,但被限制在一个网格肯定会牺牲我们希望拥有的自由。 除非没有其他解决scheme是可行的,否则我们不希望受限于轴alignment。 最终的问题是:是否有切实可行的方法来实施我们正在考虑的任何方法,还是我们从完全错误的方向来实现?

在DCC的3D照相机控制

我试图建立一个简单的世界编辑器,我想实现一个类似于3ds Max,Maya甚至Unity中使用的相机。 从我从Unity中可以看出,平移行为似乎相对简单:摄像机在由摄像机位置和方向定义的平面上移动。 但是,轮换更为复杂。 大多数时候,摄像机正在看xz平面上的一个固定点并围绕它旋转。 我不完全确定这一点是如何确定的,而这正是我试图find的。 另外,我已经注意到,在一定的高度之后,摄像机回落到仅旋转控制。 有人执行类似的东西吗?

星际争霸II银河编辑器 – Eventdefinition

我可以使用Actiondefintion创建一个带有参数的Action。 但是我怎样才能创建一个EventDefinition? 当一个保存在一个variables中的单元死亡时,我想创建一个“调用”事件。 像一个叫做“我的单位死亡”的事件。 期望的行为如下: 当variables中定义的单位死亡时调用 “死亡单位”应由“触发单位”() 触发玩家()“返回已故单位的玩家 我希望你明白我的意思,谢谢

扫描仪扫描中心位置

我想将位置放在某个人使用扫描仪的地方。 我知道这是有可能与亵渎黑暗群体的能力,但我不知道是否有可能从ComSat站扫描仪扫描。 有一个称为扫描仪扫描的单位,所以也许这是可能的。 我尝试了很多触发器,但没有一个似乎工作。 有没有人有一个想法如何一个触发器将移动到扫描的位置将是什么样子? 哪个播放器扫描我只是想在每次扫描时移动位置都没有关系。

LibGDX ShapeRenderer旋转

我有一个奇怪的问题与LibGDX ShapeRenderer它绘制旋转的一切。 这里有一些图片来向你展示我的意思: 这是它在平铺(地图编辑器)中的样子: 这就是它在游戏中的样子: 正如你所看到的,它的旋转。 下面是我用来渲染地图对象的代码: shapeRenderer.setProjectionMatrix(cam.combined); shapeRenderer.setColor(1, 1, 0, 1); shapeRenderer.begin(ShapeType.Line); for (RectangleMapObject o : MovementSystem.objects.getByType(RectangleMapObject.class)) { Rectangle rect = o.getRectangle(); shapeRenderer.rect(rect.x, rect.y, rect.height, rect.width); } shapeRenderer.end(); 矩形位于正确的地方,它绝对不是旋转! 我检查了这个小碰撞检测testing,我移动了另一个矩形在这一个。 所以它只是被这样画出来,我不知道为什么^^如果有人可以帮助我会很好:) 感谢您的帮助提前!

写我自己的关卡编辑器,提问

我刚完成编写我的游戏引擎(不是瓦片贴图)最重要的部分,比如灯光,阴影,对象更新/绘制,input,ecc。 现在我正在做一个关卡编辑器来简化关卡的创建。 我有一个只做简单的事情的forms:放置玩家,放置一个块,select一个背景,放置一个敌人…这两个组件分开(对不起我的英语不好)。 我的问题依赖于表单(关卡编辑器)和游戏引擎(游戏本身)之间的关系, 这是我的想法: 为了更好的说明,请参考下面的例子: 我的game_engine项目包含一个Light类,一个Player类,一个Background类和一个Enemy类。 我的引擎( 抽象 )是这样的: namespace game_engine { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; enum GameStates { TitleScreen, Playing, PlayerDead, GameOver }; GameStates gameState = GameStates.Playing; Enemy zombie1; Enemy zombie2; Light sun; Light lamp1; Player player; Background mountains; } public Game1() { graphics = new GraphicsDeviceManager(this); […]

2D顶视图赛车游戏轨道devise的方法

我已经完成了对汽车的编程(加速等),现在我将开始开发某种轨道编辑器。 事情是:我不知道我该怎么做。 你会怎么做? 也许在GIMP上devise轨道并使用某种像素碰撞检测,或者使用多维arrays来存储轨道数据,如墙壁和“污垢”。 我接受建议。

2D地图编辑器中有多less个边缘/底层?

我在XNA中创建了一个高度灵活的基于二维贴图的地图编辑器,使我未来的一些项目更容易一些(可以用于横向卷轴和自上而下的游戏)。 这个编辑器可以处理任何大小的瓷砖。 这个编辑器是基于一个标准的系统。 它有预先确定的层次,例如Base,Fringe和Collision。 不过,我遇到了一些问题。 我不知道要使用多less个Fringe图层。 我将使用相当详细的地图集,并希望有足够的Fringe图层能够渲染各种相当复杂的场景(例如,有大量树木重叠的森林)。 我也在考虑有多个基础层,使得玩家可以在桥上走过。 所以我的问题是:是否有一个“正确的方法”来处理这种情况,如果是的话,那是什么? 只有很多的边缘和底层? 如果你是一个地图编辑器,你会如何/希望接近这种情况? 另外,虽然我在这里有这个问题,在3D数组中存储分层的地图是一个很好的方法去做事情? 这意味着第一个层次是一个层次数组,第二个层次是图层中的瓦片列数组,第三个是列内的瓦片行数组。

我可以使用什么作为三维瓷砖地图编辑器?

我需要为地牢爬行者制作基于网格的三维模型(作为Grimrock传奇的最新例子),但是我需要有几个图层,并将属性和位置,角度等属性放在一起。我正在考虑平铺,使用图层作为每个级别的高度,但是很难合作和可视化。 我可以用这个倾向吗? 输出格式需要是json,xml或我可以在我的引擎上使用的东西。 理想情况下,我想要像Tiled一样的3D可视化/编辑模式,并支持加载模型或至less一些视觉表示。

为什么我打开一个日场时,车辆的位置会发生变化?

我正在和InterActors以及虚幻竞技场3编辑中的车辆产生者一起工作,并且这样设置: (走道是InterActor) 但是,如果我进入Kemsit并打开处理InterActor的Matinee,则会发生以下情况: 它看起来像编辑正在将它移开,所以我可以看到InterActor(这将是非常聪明的),因为只有车辆的图像移动,而不是Gizmo,车辆也不会在那个位置产生游戏。 这是这种情况吗?