【问题标题】:Unity 2D how to avoid my player moving over the enemiesUnity 2D如何避免我的玩家移过敌人
【发布时间】:2019-11-22 23:55:00
【问题描述】:

我正在做一个平台游戏,我的英雄和敌人都有碰撞器和刚体。我的平台上也有碰撞器。

一切正常,移动得很好,伙计们沿着平台移动,他们跳跃并互相抓住。

我在敌人身上使用对撞机来发现英雄是否接触了他们,然后对英雄造成伤害。而在砍杀的时候,我会使用“overlapCicle”来判断剑是否碰到了敌人。

我的问题是,通过这种设置,我的英雄和我的敌人可以走在其他人的顶部。此外,如果我禁用敌人的对撞机(使其在被击中后一秒钟内无懈可击),它将从平台上掉下来..

这种对撞机结构的最佳方法是什么?我希望每个人都走过平台。我希望敌人对撞机检测到接触它们的英雄,我希望我的剑(重叠圆)找到敌人。而且我希望英雄和敌人能够互相穿越,特别是敌人..他们不应该越过其他人

【问题讨论】:

  • 你能展示一下你目前写的代码吗?
  • 这个问题与语言无关...

标签: unity3d


【解决方案1】:

似乎您希望敌人和玩家能够相互穿行,同时能够相互互动。

在这种情况下,您可以为您的交互(攻击或视觉检测)创建另一个物理层,并设置您的物理层以确保玩家和敌人不会发生碰撞,但它们的交互层可以与各自的交互层发生碰撞字符。
像这样:

PlayerTriggersEnemyTriggers 将是敌人/玩家之间交互的物理层。

这确保了敌人的视野/攻击对撞机可以击中玩家,但敌人本身不能这样做。反之亦然。

要访问物理层菜单,请转到Edit(左上角)并单击Project Settings
您可以在Unity's Doc 阅读更多相关信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多