假设我有一个rgba纹理和一个多边形类,构造函数采用顶点坐标的矢量数组。 有没有办法创建这个纹理的多边形,例如,使用纹理的alpha通道......? 在2d
答案 0 :(得分:0)
当然,是的,可以做到。这简单吗?不,我还没有看到任何可以帮助你的游戏/几何引擎。自己动手,你将遇到的最大问题是生成一个简化的网格。每个像素一个四边形将非常快速地生成许多几何体。如果您追踪边缘并在之后进行三角测量,则几何体中的孔可能是个问题。然后是确定输入内容和输出内容的问题。 Alpha是明显的候选者,但除非您正在查看全开或全开,否则您可能会想到很好的平滑边缘。这将很难做到正确,并可能涉及插值alpha上的某种行进方格。因此虽然并非不可能,但它还有很多工作要做。
编辑:正如下面所指出的,Unity确实提供了一种从精灵的alpha生成多边形的方法 - PolygonCollider2D。在script reference中,它提到了pathCount
变量,该变量描述了它包含的多边形数量,其中描述了哪些索引对GetPath
方法有效。因此,此方法可用于从alpha生成多边形。但它确实依赖于使用Unity。但是,通过精灵alpha的组合来控制所绘制的内容,以及控制与其他对象交叉的对撞机,它涵盖了很多用例。这并不意味着它适合您的应用程序。