3D世界中的碰撞

我最近一直在做一个小型的自上而下的基于网格的2D游戏。 作为一个实验的一部分,我认为将自动生成的关卡的2D表示转换为3D很有意思,类似于Wolfenstein 3D的样式(例如,我实际上没有使用Raycasting)。

将网格转换为纹理四边形并不是什么大问题,但是,我很困惑如何实现碰撞。 我已经在网上浏览了两天的文章,但是没有人真正给我提供了一个很好的起点,即如何准备我的3D世界以进行碰撞以及如何实际执行它。

有没有人知道有什么好的文章供我阅读,或者甚至可以写一小段我必须经历的步骤?

我在XNA / C#中编写游戏,但是,您可能知道的任何类型的资源都是受欢迎的(无论是C ++还是其他任何资源)。


Wolfenstein 3D(和类似的)处理碰撞检测的方式很简单:地图是一个统一的方形单元格地图。 Wolf3d将细胞细分(如果内存正确地为我服务)64x64个子单位,让玩家在迷宫中优雅地滑行。 对于碰撞检测,如果单元格包含障碍物(表格,墙壁,狗,门),则检查玩家对网格单元格的位置是足够的:否则:继续前进。

如果您正在寻找对角线和其他随机多边形,请查看门户引擎上的文章。 从Wolf3D单元到Doom / Quake BSP Trees的步骤是一个很大的步骤,但是在Flipcode档案底部的Jacco Bikker有不少好文章阅读这些文章!

链接地址: http://www.djcxy.com/p/95493.html

上一篇: Collision in a 3D World

下一篇: platform game engine for Android and iOS?