猿问

unity3d如何使刚体不被穿越?

如题,在一个工程中做出来过,在另一个工程中设置基本相同,都添加collider和rigidbody,并且汽车物体刚体勾选了UseGravity,地面物体刚体勾选了isKinematic,做出来汽车物体下落并穿过地面。是否需要勾选isTrigger属性?一般会是什么错误?

噜噜哒
浏览 6268回答 2
2回答

饮歌长啸

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

RISEBY

rigidbody是运动物体才要加的,你把地板的rigidbody去掉试试。应该没问题。你的物体可能是过速穿越了.你在物体的Rigidbody组件中找到Collision Detection改成Continuous.如果还是不行的话就试一试改成Continuous Dynamic.  (这对物理表现有很大的影响,如果你不关心与高速物体的碰撞,那么就让其为默认的不连续模式Discrete) 场景中最好不要有过多的采用这种检测碰撞的方式.
随时随地看视频慕课网APP

相关分类

Unity 3D
我要回答