U3D中人物启用重力后,就算遇到平面也会往下掉

LOSWind 2017-05-23 09:54:01
创建了一个U3D人物后,给她加了Rigidbody,勾选了Use Gravity,如图:
然后就会往下掉,用来做地板的Cube也加了Box Collider,如图:
但是似乎没用,人物就直接穿过Cube往下掉了。
这是为什么?
...全文
8830 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linqi686 2021-04-22
  • 打赏
  • 举报
回复
把是运动学的打开就行了
qq_39217461 2021-04-22
  • 打赏
  • 举报
回复 2
引用 6 楼 zq1564171310 的回复:
把你的Play物体的Is Kinenatic属性勾上
我也发现这个才是比较有用的方法,如果不启用Is Kinenatic 那就是普通的静态碰撞,启用动态后则不会掉到地板的下面去。
七月.末 2021-04-15
  • 打赏
  • 举报
回复
unity检测碰撞是每帧检测的,但是帧与帧之间有间隙,你这个地面的碰撞体太薄了,所以人物在下落的时候速度较快,是在帧与帧的间隙碰撞到了地面的碰撞器而没有检测到。解决方法可以把地面的碰撞器拉大,并可以调整unity的步长来提高帧率(会加大cpu消耗),希望会对你有帮助
Eraseris 2021-01-31
  • 打赏
  • 举报
回复 1
引用 6 楼 zq1564171310 的回复:
把你的Play物体的Is Kinenatic属性勾上
牛皮,解决了我这几天的困扰!
教授啊教授 2017-05-26
  • 打赏
  • 举报
回复
你地班的碰撞器的面太大了 你把meshrender勾掉后就能看到碰撞器的大小 你所谓的已经加了碰撞器 其实就加了一个正方体 如果任务站在正方体中间的位置(你正方体的面还设置很大)等于说是会出现穿透 效果的 因为跟你的任务碰撞器相比 地面所加的碰撞器太大了以至于出现穿透 你可以加个网格碰撞器 可以解决你的问题 但是不建议使用网格碰撞器 消耗太大
zq1564171310 2017-05-25
  • 打赏
  • 举报
回复
把你的Play物体的Is Kinenatic属性勾上
avi9111 2017-05-24
  • 打赏
  • 举报
回复 1
你地板的mesh filter = cube, 太小了。。。。。。。。。
avi9111 2017-05-24
  • 打赏
  • 举报
回复
我记得了,一般模型都有mesh filter所以不会有你这个问题。。。。。。 地板好像要mesh filter的,(需要有体积),你要自己加一个平面 你可能能看到地板,但那只是mesh render,没有实体的,所以也就没有碰撞。。。。。。。。。。。。。
LOSWind 2017-05-24
  • 打赏
  • 举报
回复
引用 2 楼 zq1564171310 的回复:
Collider一个物理材质
没用啊
zq1564171310 2017-05-24
  • 打赏
  • 举报
回复 1
Collider一个物理材质
avi9111 2017-05-23
  • 打赏
  • 举报
回复
你下载其他人的package看看是不是漏了什么 (我试过,好像一开始位置已经重叠,例如脚已经在水平面下,是不会碰撞的,好像是collider - enter的时候才判断,开始已经没有那个事件) 或者你把人提高点,就能看到效果了

2,583

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧