Unity 对多边形或图片进行矩形分割和查找最大内接矩形
花了点时间实现了对任意多边形进行矩形分割的功能,有需要的小伙伴可以点击这里查看源码
一、实现效果:
1、对图片里的内容进行矩形分割
2、对多边形顶点数据进行矩形分割
3、查找图片里内容的最大内接矩形
4、查找多边形顶点数据内的最大内接矩形
5、支持处理带“洞”的多边形
6、注意不支持相交的情况,相交认为是洞
二、包含的内容
1、核心代码只有一个C#类,方便集成,不依赖任何平台和Unity版本
2、完整的调用示例场景
3、完善的注释,核心逻辑都有注释,方便理解
4、接口调用简单,只需要两步:通过new实例化这个类,然后调用接口获得返回值
5、稳定,测试过1000种不同的场景
三、API 参考
1、int ignoreSize
表示允许忽略的矩形的值,小于该值的矩形将会被忽略
2、List<UnityEngine.Rect> SplitRectangles(List<Vector2> points, int pixelCount)
有序的点,围成的多边形,内部拆分成矩形;pixelCount:像素数量,值越大找到的矩形越精确,越消耗性能
3、List<UnityEngine.Rect> SplitRectangles(Texture2D image)
将图片内部拆分成矩形
4、UnityEngine.Rect LargestInteriorRectangle(List<Vector2> points, int pixelCount)
有序的点,围成的多边形,内部的最大内接矩形;pixelCount:像素数量,值越大找到的矩形越精确,越消耗性能
5、UnityEngine.Rect LargestInteriorRectangle(Texture2D image)
查找图片内容中的最大内接矩形
6、Texture2D Test_ImageResultToImage(Texture2D texture)
将图片分割的结果保存成图片,很耗时,建议只在测试结果是否正确的时候用
7、Texture2D Test_PolygonResultToImage()
将多边形分割的结果保存成图片,很耗时,建议只在测试结果是否正确的时候用
博客园Jason_c微信打赏码
如果本篇文档对你有帮助,打赏Jason_c根华子吧,他的私房钱被老婆没收了,呜呜!
![](https://files-cdn.cnblogs.com/files/Jason-c/%E5%BE%AE%E4%BF%A1%E6%89%93%E8%B5%8F%E7%A0%81.bmp)