为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的,到底搞清楚没有啊那些人,反正调整或者勾选什么的,肯定达不到你的要求,
那些忽悠人的,其实关键因素没理解透捏
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)