unity3D中,给物体添加刚体后,为什么不是掉在地面上,而是穿过地形一直往下落呢?

unity3D中,给物体添加刚体后,为什么不是掉在地面上,而是穿过地形一直往下落呢?,第1张

为fbx物体添加capsule collider组件之后再添加刚体组件,物体就不会穿过地面下沉了。在立方体上面添加一个Rigidbody刚体组件,并在上面添加一个Tertest脚本。给脚本添加OnCollisionEnter方法,可以检测碰撞collider,详细步骤:

1、打开unity3d创建一个地面Terrain。

2、接着创建一个立方体模型Cube。

3、在立方体上面添加一个Rigidbody刚体组件。

4、并在上面添加一个Tertest脚本。

5、给脚本添加OnCollisionEnter方法,可以检测碰撞collider。

6、在方法判断是否与地面Terrain接触并发生碰撞了,是的话就修改为红颜色。

if(theCollision.gameObject.name=="Terrain"){

GetComponent<Renderer>().material.color = new Color (255,0,0)

7、运行unity3d场景,发现立方体会下落,当掉落到地面后就变成了红颜色。

这么说吧,rigibody只是加重力给一个物体,而这个物体还是没有质量(质量这东西记得是初中课本说的,感觉有点对不起当年的物理老师,可老师也对不起我,要不是考试,早成功了)

(现实世界必须得有质量才会有重力,但是这是unity3d,3D的世界,没质量就是没质量,意思就是不存在,也就是你看到一个物体有重力,有贴图,有模型,但它就是不存在,所以也就没有碰撞),

所以要2个物体都要有mesh collider(或者box collider),才能不穿透,

反正我也经常忘记,

有些人说什么调整地板rigibody的,到底搞清楚没有啊那些人,反正调整或者勾选什么的,肯定达不到你的要求,

那些忽悠人的,其实关键因素没理解透捏


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11882382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存