> 技术文档 > 【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分


最终效果演示

【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

文章目录

  • 最终效果演示
  • 前言
  • 插件下载安装
  • 查看案例
  • 使用实例
    • 1、随便找一张复杂的2D图片
    • 2、添加PolygonCollider2D组件
    • 3、简化多边形碰撞器
  • 专栏推荐
  • 完结

前言

做过2D游戏的同学,可能会遇到这样的问题,给形状复杂的2D物体加碰撞体,用了多边形碰撞体组件Polygon Collider 2D,但是生成的碰撞体Shape Count(形状分段数/顶点数)很多,这会带来多方面的性能影响,比如像这样:
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分
如果进行手动编辑碰撞体,那实在是抓狂,有没有办法自动优化呢?

这里,我要推荐一个插件:Polygon Collider Simplification,使用它可以很方便地对PolygonCollider2D和EdgeCollider2D进行优化。如下:
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

插件下载安装

  • github地址:https://github.com/j-bbr/PolygonColliderSimplification
  • gitee地址:https://gitee.com/unity_data/PolygonColliderSimplification
    【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

下载后倒入Unity中,只有3个脚本,非常轻量,如下:
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

查看案例

Polygon Collider 2D优化
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

Edge Collider 2D优化
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

使用实例

1、随便找一张复杂的2D图片

【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分

2、添加PolygonCollider2D组件

拖到场景中,并给他添加PolygonCollider2D组件,我们可以看到生成的Shape Count有409个:
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分
这里你想如果通过手动编辑碰撞器去调整,那简直就是灾难!

3、简化多边形碰撞器

挂上PolygonColliderOptimizer组件,并调整Tolerance参数:
【推荐100个unity插件】降低Unity中EdgeCollider2D和PolygonCollider2D碰撞器的复杂性,优化性能——PolygonColliderSimplification插件_unity polygon collider 2d如何避免与其它物体碰撞时,碰撞体相交导致两者无法分
这样即可很方便的减少Shape Count的数量。

EdgeCollider2D碰撞器的优化其实类似,脚本换成EdgeColliderOptimizer即可,这里就不演示了。


专栏推荐

地址 【unity游戏开发入门到精通——C#篇】 【unity游戏开发入门到精通——unity通用篇】 【unity游戏开发入门到精通——unity3D篇】 【unity游戏开发入门到精通——unity2D篇】 【unity实战】 【制作100个Unity游戏】 【推荐100个unity插件】 【实现100个unity特效】 【unity框架/工具集开发】 【unity游戏开发——模型篇】 【unity游戏开发——InputSystem】 【unity游戏开发——Animator动画】 【unity游戏开发——UGUI】 【unity游戏开发——联网篇】 【unity游戏开发——优化篇】 【unity游戏开发——shader篇】 【unity游戏开发——编辑器扩展】 【unity游戏开发——热更新】 【unity游戏开发——网络】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述