具有碰撞的统一网格变形



如何通过代码访问精灵的 2D 网格,然后更改精灵的形状?

我想做一个类似于Agario的游戏

我只是想知道在通过碰撞或触发器触摸物体时如何实现这种果冻形式?

我希望看到更多的答案。

缩放不会让你得到你想要的那种变形。以从头开始编码变形的方式 agar.io 非常困难。我可以看到多种方法,因此我将从最推荐到最不推荐列出它们:

  1. 从平面 3D 网格开始,将你的精灵渲染为纹理,这样你基本上会得到一个广告牌。然后使用碰撞事件获取接触点,并使用数学来确定如何移动网格的顶点以响应接触。你可以在这里看到有人实现了这种效果,你可以在这里看到一个完整的球体教程,强烈推荐阅读。您通过接触位置从圆心获取线并减小其长度的想法是合理的,尽管如果您希望它的行为像 agar.io,则实现比这要复杂一些。

  2. 获取 Anima2D,这是一种免费资源,可以将精灵转换为网格。然后再次使用碰撞事件来获取接触点并扭曲网格。

  3. 使用Anima2D或具有同等功能的其他资产,并弄清楚如何使用2D骨骼以获得类似agar.io的效果。您还可以在平面/广告牌网格上尝试 3D 骨骼。

  4. 将碰撞数据发送到顶点着色器,该着色器被编程为使其正在渲染的事物变形。

您可以使用触发功能联系游戏对象。该函数会自动处理游戏对象的标签名称。这是获取Triger功能的方法

您还可以在游戏对象相互接触时更改它们的大小 有关缩放的详细信息

你几乎可以编写任何你想要的代码,这里是关于精灵网格的

最新更新