【问题标题】:Player is moving through the Wall in Unity 3D玩家在 Unity 3D 中穿过墙壁
【发布时间】:2020-12-12 23:44:27
【问题描述】:

我正在制作一个简单的游戏,其中玩家只能水平移动,而敌人则从前面生成。我在播放器的左侧和右侧创建了一个墙。但是,即使我在 Walls 和 Player 中添加了 Rigidbody 组件,Player 也会继续穿过 Wall。我用立方体游戏对象制作了一堵墙。请帮忙。谢谢!

【问题讨论】:

  • 很抱歉我忘了提,我在墙壁和播放器上也附加了碰撞器。对撞机的大小也已修改,但似乎没有任何效果。
  • 你是如何移动你的角色的?有很多关于对撞机及其要求的信息
  • 我正在使用水平输入来水平移动我的播放器。
  • 这并不能回答问题。这告诉我你的代码如何知道移动你的播放器,而不是你的代码如何移动它。

标签: c# unity3d


【解决方案1】:
  1. 墙壁和播放器上有碰撞器吗?
  2. 如果墙壁和玩家有碰撞器,请检查这些碰撞器是否已打开而不是触发器。 (它们应该被打开并且复选框“Is trigger”应该是false)
  3. 如果之前的步骤已完成,但仍无法正常工作,请检查编辑 -> 项目设置 -> 物理 -> 层碰撞矩阵。并确保墙壁的图层与玩家的图层发生碰撞

【讨论】:

    【解决方案2】:

    我的播放器上有 NavMesh 代理,这对我有什么帮助:

    1. 在检查器中将墙壁(和其他静态对象)标记为静态
    2. 转到 Window->AI->导航并烘焙场景

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2020-01-11
      • 2023-02-20
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多