为了账号安全,请及时绑定邮箱和手机立即绑定

unity3d如何使刚体不被穿越?

unity3d如何使刚体不被穿越?

噜噜哒 2018-07-29 21:14:18
如题,在一个工程中做出来过,在另一个工程中设置基本相同,都添加collider和rigidbody,并且汽车物体刚体勾选了UseGravity,地面物体刚体勾选了isKinematic,做出来汽车物体下落并穿过地面。是否需要勾选isTrigger属性?一般会是什么错误?
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

这么说吧,rigibody只是加重力给一个物体,而这个物体还是没有质量(质量这东西记得是初中课本说的,感觉有点对不起当年的物理老师,可老师也对不起我,要不是考试,早成功了)
(现实世界必须得有质量才会有重力,但是这是unity3d,3D的世界,没质量就是没质量,意思就是不存在,也就是你看到一个物体有重力,有贴图,有模型,但它就是不存在,所以也就没有碰撞),
所以要2个物体都要有mesh collider(或者box collider),才能不穿透,
反正我也经常忘记,
有些人说什么调整地板rigibody的,到底搞清楚没有啊那些人,反正调整或者勾选什么的,肯定达不到你的要求,
那些忽悠人的,其实关键因素没理解透捏

查看完整回答
反对 回复 2018-08-01
?
RISEBY

TA贡献1856条经验 获得超5个赞

rigidbody是运动物体才要加的,你把地板的rigidbody去掉试试。应该没问题。

你的物体可能是过速穿越了.
你在物体的Rigidbody组件中找到Collision Detection改成Continuous.
如果还是不行的话就试一试改成Continuous Dynamic.  (这对物理表现有很大的影响,如果你不关心与高速物体的碰撞,那么就让其为默认的不连续模式Discrete) 
场景中最好不要有过多的采用这种检测碰撞的方式.

查看完整回答
反对 回复 2018-08-01
  • 2 回答
  • 0 关注
  • 6267 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信