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

文章目录

  • 一、问题
  • 二、解决方法
  • 三、简单分析

Unity物体往下掉 如何站在地面上_第1张图片

一、问题

为了实现人物能站在平面上,给人物添加刚体并勾选use gravity后,人物一直往下掉
Unity物体往下掉 如何站在地面上_第2张图片

二、解决方法

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

三、简单分析

人物往下掉原因

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

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

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

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

你可能感兴趣的:(Unity,unity,Collider,刚体)