这是我的游戏Barely Breathing

之前的水滴是简单的并且工作正常,但是在边缘情况下有了一些问题(字面上的边缘问题)
之前它只是在瓶子落地的位置生成一个预先制作的圆形网格,但这意味着它不知道边缘在哪里,或者水下是否有阻塞物。

我编写了一个程序生成水滴的程序,这样工作:

  1. BFS算法从中心生成球体
  2. 然后将射线投向地板,垂直投射,以检查是否有墙。
  3. 从那里,它将射线直直投向下方,直到碰到碰撞体,以检查是否有地板。
  4. 使用Marching Cubes算法,将球体转换为一个实际的网格,这可以在游戏中使用!