怎么实现2D游戏的碰撞判定

怎么实现2D游戏的碰撞判定,第1张

无论是模型还是切片式骨骼动画都可以做。模型就普通碰撞体,切片式骨骼动画就用Box2D。

序列帧动画就比较麻烦了,因为是2d精灵图片,然后加碰撞体或者用Box2D都不现实。因为你想要的实际上是像素级碰撞检测。

序列帧动画又分为两种情况:第一种是一张张图片垒起来的,播放时就一张张切换。一种是一张大图,播放时切换精灵UV。无论哪种情况,主角在一帧中的的攻击判定实际上就只有武器的白刃部分。手动标出白刃部分的包围盒,然后通过配置文件记录下来。这样假设播放到第一帧,通过配置的碰撞盒文件得到这一帧碰撞盒在世界范围的坐标。然后,问题就转换成2d平面内的几何体碰撞检测问题。假如敌人是一个简单包围盒,就是两个规则几何体的碰撞检测。如果武器很细,就转换为线段与OBB相交测试。如果武器很厚,就是两个OBB相交测试,这个就麻烦了。如果武器是个球,就是球体和OBB相交测试。

1、球  右键添加模拟标签-刚体

2、建立平面 右键添加模拟标签-柔体

3、添加连结器 选固定 拖到平面下面

4、点击柔体标签,调整柔体的参数 老控制软硬

5、然后按播放,选好某个帧 渲染出去就行了

以上场景跟你这个类似的,理解的话就可以借鉴了

他应该是渲染了动画,导出png序列,打开了运动模糊,然后取了其中一帧


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11387154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存