[muzzik教程]:关于黑洞游戏的简易实现思路

之前看到过黑洞大作战这样的游戏,也没去玩,当时还以为是动态改变网格数据实现的,下面说一个自己偶然想到的简易实现思路:
**1. 实现黑洞吞噬效果:**玩游戏的时候黑洞一直都由玩家控制运动,那么为了能知道我们能吞噬哪些物体,可以用一个简单的办法,首先需要在每个物体上添加刚体,再用一个球来包围我们的需要吞噬的物体(较长物体只需包围底部),就像下面一样

包围住了之后我们只需要在黑洞 移动检测包围住周围物体(物体数量较多可以用四叉空间分割法) 的那个球的 中心点离黑洞中心点距离 + 球的半径长度 离黑洞中心点的距离是否
<= 黑洞的半径, 如果是则激活物体刚体,让其自由下坠,到这里基本的玩法就实现了。

**2. 高楼大厦的下坠碰撞:**不知道大家发现没有,物体在下坠过程中,比较长的物体是会随着黑洞移动碰撞到黑洞边界的,如果我们不做处理,那么就会让物体在下坠过程中超过黑洞的吞噬范围却还在下坠,看起来很怪异。那么怎么解决呢?我想到的办法是给黑洞添加一个 圆环碰撞器(圆环模型 + 网格碰撞器 = 圆环碰撞器 ,位置在黑洞地面下。并且这个碰撞器只对已经被黑洞吞噬的物体有效。那么这时候游戏基本已经完成了。大家以为完了吗?不,还没有。










3. 策划的最爱,程序的噩梦(钉子大厦): 嘿嘿, 解决这个问题很简单,球要包裹住头部最宽的部分

2赞

:+1: 希望论坛多一些这样的方案技巧分享!

大佬们都在研发3D,唯独小弟我默默2D

多谢大佬支持:+1:

放心后面我学shader的时候会找你的

:grin: