【发布时间】:2014-02-23 15:31:43
【问题描述】:
我通常不会在没有代码的情况下提出问题,但这次我找不到我想做的事情的起点,我想将一个精灵(uv,vertices)拆分为另外两个精灵(uv,vertices ) 在 2 点之间,就像在水果忍者中分割水果一样,但在 2d 精灵中。
我不想让你写代码,只是解释一下如何做的大致思路。 如果这很重要,我正在使用 Libgdx
【问题讨论】:
标签: opengl opengl-es sprite vertices
我通常不会在没有代码的情况下提出问题,但这次我找不到我想做的事情的起点,我想将一个精灵(uv,vertices)拆分为另外两个精灵(uv,vertices ) 在 2 点之间,就像在水果忍者中分割水果一样,但在 2d 精灵中。
我不想让你写代码,只是解释一下如何做的大致思路。 如果这很重要,我正在使用 Libgdx
【问题讨论】:
标签: opengl opengl-es sprite vertices
这个过程称为剪辑。
在您的情况下,您有一个由 4 个顶点(包括它们的位置和 UV 坐标)定义的多边形。您可以通过由两点给出的线来分割它。
一个简单的算法会检查 4 个点中的每一个在直线的哪一侧。如果它在左侧,请将其添加到您的第一个结果中,如果它在右侧,请将其添加到您的第二个结果中。如果两个连续的顶点最终位于直线的不同侧,则需要计算直线与该边的交点并将其添加到两个结果中。
【讨论】: