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场景,发现立方体会下落,当掉落到地面后就变成了红颜色。

1、首先,打开Unity,创建一个圆球和一个平面。

2、将球的高度调高一点,让它位于平面上空。

3、给球体添加刚体,输入rigidbody,如下图所示。

4、点击运行,带有刚体组件,可以看到小球自然下落到平面上。小球、平面上自带碰撞器,所以小球不能穿过去。

5、可以自己给平面一个碰撞器,点击添加碰撞器,如下图所示。

6、添加好后,可以调整碰撞器的大小,由于是规则图形,所以创建出来的碰撞器与平面非常贴合,改变一下碰撞器的大小为x、y大小为11。

7、可以看到碰撞器已经出现在我们的视野中,可以调整大小以适合物体或角色,这样可以完美模拟现实中的碰撞效果。

gameObject.AddComponent ("Rigidbody")这样就是动态加刚体.

不过按你说的,只是往下落,只要改重力开关就可以了吧

myrigidbody.useGravity = true

提前加好刚体,关闭重力


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存