如何防止角色穿墙。统一

问题描述 投票:0回答:1

我是 Unity 的新手,我有一个玩家胶囊和一面移动墙。当玩家接触到墙壁时,它就可以穿过并走出另一边,我有点不希望这样。下面的屏幕截图说明了我的意思。

移动墙中的玩家

1

我尝试使用刚体和碰撞来帮助我找到解决方案,但这并没有阻止问题。我现在不太确定最好的做法是什么。

c# unity-game-engine
1个回答
0
投票

Rigidbody 应该能够做到这一点。您说它不起作用,所以您需要执行以下几项操作来确保刚体碰撞正常工作:

  • 给玩家一个 Rigidbody 组件
  • 给玩家一个碰撞器(最好使用胶囊碰撞器)
  • 给墙一个碰撞器(看起来盒子碰撞器效果最好)
  • 移动播放器时,使用功能
    Rigidbody.MovePosition(newPos)
    移动它们,或使用
    Rigidbody.velocity = new Vector3(newVelocity)
  • 设置速度
  • 玩家的 Rigidbody 组件的“Is Kinematic”复选框未选中(设置为 false)
© www.soinside.com 2019 - 2024. All rights reserved.