在伪3D二维空间中的环境碰撞

游戏是一个二维的争吵,在黄金斧,最后的战斗,城堡Crashers静脉深度运动。角色和环境都是2D精灵。 我也没有真正的问题来设置角色之间的冲突,以深入考虑。

但是,如果没有更高层次的跳槽和冲撞敌人,那就不是一个合适的争吵者,而这正是我遇到的一个问题,就是如何最好地实施它。

我考虑在3D空间中制作水平的碰撞盒,让精灵将其游戏对象的z移动转换为视觉组件的y移动,但是我并不特别喜欢这种方法,因为感觉很难进行匹配三维碰撞器到一个绘制的背景,并在其中放置对象的关卡devise。

对于2Ddevise的任何建议,可以这么说吗? 理想情况下,能够在2Ddevise中“绘制”高度水平和凹坑。 如果重要的话,我主要在二维空间统一工作(尽管在这里涉及到第三维将是必要的),但是我认为基本devise问题将是相当引擎/语言不可知的。

我想你可以通过使用多个对话框来实现2D空间,或者仅仅是一个x和y值的范围。 我花了几个小时在GIMP编辑这个: 我爱海龟在时间

被描绘的是一个开放的沙井,龟可以落入。只有一个奇异的箱子对撞机可以用于坑,但我用屏幕广泛的对撞机来说明。

对于高架平台,你可以做这样的事情: 大苹果,3AM

如果玩家与较低的平台发生碰撞,那么玩家将有资格站在较高的平台上(以某种方式select)。 在这幅图中,上部平台远高于舞台典型的可行走区域,但是使用这种技术,通过使用对撞机的组合,您可以轻松地拥有可以在后面,周围和下面行走的平台 – 这样,高架平台可以与地面重叠,你已经可以走了。 我认为这可以归结为这样的事情:

public class ElevationChecker : MonoBehaviour { public PlayerClass player; public Collider upperPlatform; .... // Where this trigger is the ground collider public void OnTriggerExit(Collider playerFeet) { if (player.isJumping) { upperPlatform.enabled = true; } } .... // You could later disable the upper collider once the player walks off it // so they could walk around, under, etc } 

在这里你可能需要自己去做一些事情,但是我认为这种一般的方法可以让你保持严格的2D风格,而不用担心3D。