我有2D人物艺术作品,将映射到Box2d骨架上。例如,角色的手臂可能是由两个物理矩形连接而成,并在肘部连接一个关节。每个矩形都将有自己对应的艺术精灵。下臂的艺术作品不完全是矩形的。它可能是一个矩形png源,但在手臂没有被绘制的地方会有很多负空间。我的问题是最好的方法是如何将2D艺术作品分解为三角形?我应该将所有平面精灵视为由2个三角形组成的简单矩形,留下许多透明空间吗?还是最好将形状分成多个三角形,并尝试匹配实际的形状(可能使用三角形扇形)?每种方法可能具有哪些优点/缺点?随着角色发生各种事情,我将更新纹理。这是我所说的内容的插图: 红色方块是物理形状,蓝色线条是可能的三角形配置。
通常情况下,减少几何图形可以提高性能(从左数第三个)。 “精确”的三角剖分(从左数第四个)对于高保真度的碰撞检测非常有用(激光反射在闪亮的小行星上?)。 注意频繁的纹理更新。使用glTexSubImage2d()。 如果您的GL实现支持,可以使用异步上传使用PBOs。