如何对其他形状进行动态形状调整

时间:2019-04-13 20:21:45

标签: c# unity3d game-development

大家好,我想知道如何创建两个对象的形状调整,这些对象可以具体描述为独立的单元格,其中一个是静态的,而另一个则是动态的并被“等离子”包围。活动对象的移动必须可由用户(WSAD)控制。活动对象与静态对象的碰撞会导致静态对象被压缩,尽管它不会改变,但其位置始终保持不变。当活动对象移动时,传递被压制的对象并将其弹射出去。

请参见下图:

Image

  1. 玩家角色

  2. 当它接近粉红色敌人时,它就会开始吞噬它(被黄色的东西包围)

  3. 当红色圆圈位于两个中心时,粉红色敌人被完全包围。
  4. 当它离开敌人时,它会脱去黄色的东西

我想知道最简单的方法是什么。我一直在考虑布料,物理连接,网格减法(甚至可能吗?),某种动画……我没有太多时间来做。你能告诉我最简单的方法吗?我应该使用哪种工具和方法?我并不是仅要求一些技巧就提供完整的代码或完整的解决方案。

1 个答案:

答案 0 :(得分:0)

Tim Hunter 提到了一种绝妙的方式,最完美的3D模式。

您可以在2D模式中使用另一种方法:

  • OnCollisionEnter2D内部,尝试使用Collision2D.contacts来找到生命值。请参阅this参考。
  • 在那里创建一些粒子效果。
  • 杀死敌人
  • 现在播放播放器的吞咽动画。
  • 在动画结束时,再次启用敌人。

也许计算有点棘手,但仍然很有效。