如何检测什么是可见的观点

时间:2013-11-08 19:20:07

标签: language-agnostic collision-detection

我正在编写一个迷宫游戏,我正在尝试编写有限的观点(我不认为那是一个术语,但我画的是空白)。我的目标是只揭示迷宫中墙壁后面没有隐藏的东西。

一些重要事实:

  1. 我的墙不是线条,它们是块(这应该会让事情变得更容易)。
  2. 视图限制为最多5个方格。
  3. 方块的大小由用户确定
  4. 这是我目前的想法:

    1. 创建一个角度列表(可能相隔15度?)
    2. 对于每个角度,在每个角度计算1平方距离的点。
    3. 在找到的一个点上添加方块
    4. 如果方块被阻挡,请从列表中删除角度。
    5. 这会有效,还是有更好的方法来做有限的观点?

1 个答案:

答案 0 :(得分:2)

目前尚不清楚你在问什么 - 你是否在询问第一人称迷宫游戏的3D渲染中的遮挡?如果是这样,Wolfenstein 3D就是raycasting的典型例子。

然而,现代硬件通常足以在填充率中淹没这样的问题 - 使用OpenGL或DirectX渲染3D场景只能用Z-buffering“做正确的事情”。

如果您不担心绘图而是担心碰撞检测,那么您也可以使用光线投射。如果您不想实现自己的复杂内容,可以使用像Box2D这样的物理库。