这是我的游戏Barely Breathing!
之前的水滴是简单的并且工作正常,但是在边缘情况下有了一些问题(字面上的边缘问题)
之前它只是在瓶子落地的位置生成一个预先制作的圆形网格,但这意味着它不知道边缘在哪里,或者水下是否有阻塞物。
我编写了一个程序生成水滴的程序,这样工作:
- BFS算法从中心生成球体
- 然后将射线投向地板,垂直投射,以检查是否有墙。
- 从那里,它将射线直直投向下方,直到碰到碰撞体,以检查是否有地板。
- 使用Marching Cubes算法,将球体转换为一个实际的网格,这可以在游戏中使用!
评论 (0)