Unity物体往下掉 如何站在地面上


还未运行时的场景

一、问题

为了实现人物能站在平面上,给人物添加刚体并勾选use gravity后,人物一直往下掉
人物往下掉

二、解决方法

1.给人物添加collider组件,默认不勾选is Trigger
人物组件
2.collider要把人物包围(最好要把人物的脚包围)
在box collider组件的center与size选项可以调整包围盒大小
包围盒
3.运行后就可以站在地面了
人物站在地面上
4.如果发现人物会半嵌入地面里
人物半嵌入地面
4.1检查包围盒是否把人物包围了,如此小节第2点所示
4.2检查地面是否有mesh collider或其它collider组件,如果没有给其加上mesh collider,并不能勾选is Trigger。
地面需collider组件

三、简单分析

人物往下掉原因

  1. 人物没有collider组件,刚体组件又开启了重力,不知道什么时候停下来,所以一直往下掉。
  2. 虽然地面有mesh collider,但是unity规定碰撞检测collision,发生碰撞方(人物)需要有collider,而被碰撞方(地面)有没有刚体都不重要。
  3. 所以需要给人物加上collider组件,才能与地面发生碰撞检测collision

为什么人物与地面要取消勾选Is Trigger

  1. 如果一方勾选了Is Trigger,那么人物与地面接触,不会产生collision事件,而是Trigger事件
  2. 个人认为是Trigger只是检测到包围盒发生重叠与接触,但不处理这个事件
  3. 所以人物的刚体组件默认认为没有碰撞collision发生,就一直往下掉

仅代表我个人拙见,如有错误,欢迎指正,另外,谢谢观看

  • 25
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘建杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值