U3D不支持MeshCollider解决方案
2024/1/6 1:45:07
关键词:Unity MeshCollider 碰撞
2024/1/6 1:45:07
关键词:Unity MeshCollider 碰撞
Unity2018以后的MeshCollider(网格碰撞体)
在用Unity2020.1.0f1做项目时发现自己的工程报错:
说在unity5以后的游戏对象不再支持同时捆绑有非凸面体(non-Convex)的MeshCollider和Rigidbody的情况。
要么MeshCollider勾选Convex,要么刚体勾选Is Kinematic(是否为运动学)属性。
官方文档(版本2019.2)中也写到:
Mesh Colliders that do not have Convex enabled are only supported on GameObjects without a Rigidbody component. To apply a Mesh Collider to a Rigidbody component, tick the Convex checkbox.
好吧,只能二者选其一了。如果你的模型是为了精确碰撞必须非凸面体,那就去掉Rigidbody组件或勾选Is Kinematic属性。
但如果你想要让两个MeshCollider发生碰撞,那就必须勾选Convex属性(但只有MeshCollider的三角形数量小于255时,Convex参数才会生效! Convex Mesh Colliders are limited to 255 triangles.)
顺便一说,MeshCollider是按照所附加对象的Transform组件属性来设置碰撞体的位置和大小比例。而且碰撞网格使用了背面消隐模式(也就是说,一个GameObject与另一个采用背面消隐网格(Mesh)的GameObject即使在视觉上发生了碰撞,他们也并不会在物理上发生碰撞)
[1] [2] [3]
相关文章(向右看)..
在用Unity2020.1.0f1做项目时发现自己的工程报错:
说在unity5以后的游戏对象不再支持同时捆绑有非凸面体(non-Convex)的MeshCollider和Rigidbody的情况。
要么MeshCollider勾选Convex,要么刚体勾选Is Kinematic(是否为运动学)属性。
官方文档(版本2019.2)中也写到:
Mesh Colliders that do not have Convex enabled are only supported on GameObjects without a Rigidbody component. To apply a Mesh Collider to a Rigidbody component, tick the Convex checkbox.
好吧,只能二者选其一了。如果你的模型是为了精确碰撞必须非凸面体,那就去掉Rigidbody组件或勾选Is Kinematic属性。
但如果你想要让两个MeshCollider发生碰撞,那就必须勾选Convex属性(但只有MeshCollider的三角形数量小于255时,Convex参数才会生效! Convex Mesh Colliders are limited to 255 triangles.)
顺便一说,MeshCollider是按照所附加对象的Transform组件属性来设置碰撞体的位置和大小比例。而且碰撞网格使用了背面消隐模式(也就是说,一个GameObject与另一个采用背面消隐网格(Mesh)的GameObject即使在视觉上发生了碰撞,他们也并不会在物理上发生碰撞)
相关文章(向右看)..