为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场景,发现立方体会下落,当掉落到地面后就变成了红颜色。
这是因为球和方块上面自带有碰撞器,又在球和方块上面加上了刚体,那么就会产生碰撞效果了。这个效果貌似是应该发生的。
如果想要不发生碰撞效果,可以考虑取消掉碰撞器或者封锁住刚体的轴。
可以尝试给物体加上刚体和合适的碰撞器,并且设置合适的质量。加上刚体和碰撞器之后物体基本上有了物理属性,基本上能够不穿透。
但是还是应该注意如果质量相差太过悬殊,非常重的那个物体还是会穿透非常轻的物体。
新手自学,如果见解不当,希望指正,非常感谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)