unity3d 如何防止角色穿墙而过,团结

kpbwa7wx  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(284)

我刚接触到Unity,我为玩家准备了一个胶囊和一堵移动的墙。当玩家碰到墙的时候,它可以穿过墙走到另一边,我有点不想这样。下面的截图说明了我的意思。
Player in moving wall
我试着用刚体和碰撞来给予我解决问题,但这并不能解决问题,我现在真的不知道什么是最好的办法。

krcsximq

krcsximq1#

刚体应该能够完成这个任务。你说过它不起作用,所以这里有一些你需要确保你已经完成的刚体碰撞正确工作的事情:

  • 给予玩家一个刚体组件
  • 给予玩家一个对撞机(最好使用胶囊对撞机)
  • 给予墙一个对撞机(看起来像一个盒子对撞机会工作得最好)
  • 当您移动播放器时,请使用Rigidbody.MovePosition(newPos)函数或通过Rigidbody.velocity = new Vector3(newVelocity)设置速度来移动播放器
  • 玩家刚体组件的“是运动学的”复选框未选中(设置为false)

相关问题