【问题标题】:How to make dynamic shape adjustment to another shape如何对另一个形状进行动态形状调整
【发布时间】:2019-04-13 20:21:45
【问题描述】:

大家好,我想知道如何使用两个对象创建形状调整,具体可以描述为独立单元,其中一个是静态的,第二个是动态的并被“等离子”包围。活动对象的移动必须由用户控制 (WSAD)。活动对象与静态对象的碰撞会导致静态对象膨胀,但不会改变它的位置始终保持在原位。随着活动对象的移动,通过肿胀的对象并将其移出。

见下图:

  1. 玩家角色

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

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

我想知道最简单的方法是什么。我一直在考虑布料、物理关节、网格减法(甚至可能吗?)、某种动画……我没有太多时间去做。你能告诉我最简单的方法吗?我应该使用哪些工具和方法?我不只是为了一些提示而要求完整的代码或完整的解决方案。

【问题讨论】:

  • 听起来与 Sebastian Lague 最近在 Youtube 上的报道非常相似。让它工作的方法相当复杂,但他有一些示例代码,你可以在他的video 的描述中查看。

标签: c# unity3d game-development


【解决方案1】:

Tim Hunter 提到了一个绝妙的方法,在 3D 中最完美。

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

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

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

【讨论】:

    猜你喜欢
    • 2017-03-09
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多