当前位置:   article > 正文

Unity 2D 碰撞卡死 移动卡死_unity物体碰撞后不能移动

unity物体碰撞后不能移动

人物卡死的问题有很多, 目前笔者遇到的解决方案有 trigger 勾选, 改变刚体 Collider, 增加不可移动代码三种.

1. 两个碰撞体间 trigger 勾选

一般而言, 刚体 Rigidbody 所在的 Box Collider 2D 的 trigger 不打勾(打不打勾看项目当时的需求和情况有所改变), 与之相撞的 BX2D 的 trigger 打勾

image-20220515135206206

但大部分项目这种肯定是做好的, 那么就有一种可能是人物底部方形和碰撞体方形重合, 于是有了接下来第二点

2. 改变刚体 Collider

我们可以把刚体底部(或者与碰撞体相撞的地方)设为原型碰撞 Circle Collider 2D

image-20220515135334132

如果这样也不行, 就有可能是刚体移动的代码是强制移动, 这时候我们可以给要被碰撞的物体加一个层级, 再在代码中加一个遇到不可移动的代码

3. 增加不可移动代码

新增层级 Unwalkable, 用了下方代码后在 WhatStopMovement 选择 Unwalkable

再把不想穿过的层级变为 Unwalkable, 就可以实现不卡死碰撞

image-20220515141433088
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/89452?site
推荐阅读
相关标签
  

闽ICP备14008679号