Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 网格碰撞器不跟随实体_Unity3d_Model_Mesh_Collider - Fatal编程技术网

Unity3d 网格碰撞器不跟随实体

Unity3d 网格碰撞器不跟随实体,unity3d,model,mesh,collider,Unity3d,Model,Mesh,Collider,我在blender中创建了非常简单的腿部模型,并添加了一些骨骼。在unity中,当我尝试移动骨骼时,网格碰撞器将保持在相同的位置 如何修复此问题?Unity没有真正的本机支持移动网格碰撞器以与网格对齐。这主要是由于非常高的性能成本,即必须重新创建它以匹配每个帧的网格(从技术上讲是可能的,但运行速度非常慢) 需要在碎布玩偶或骨骼结构(如图片中的腿)上碰撞的模拟和游戏将只使用基本体作为碰撞器,因为它们可以调整,以提供与网格碰撞器大致相同的碰撞输出。 在您的情况下,可以通过向腿部的每个单独骨骼添加胶囊

我在blender中创建了非常简单的腿部模型,并添加了一些骨骼。在unity中,当我尝试移动骨骼时,网格碰撞器将保持在相同的位置


如何修复此问题?

Unity没有真正的本机支持移动网格碰撞器以与网格对齐。这主要是由于非常高的性能成本,即必须重新创建它以匹配每个帧的网格(从技术上讲是可能的,但运行速度非常慢)

需要在碎布玩偶或骨骼结构(如图片中的腿)上碰撞的模拟和游戏将只使用基本体作为碰撞器,因为它们可以调整,以提供与网格碰撞器大致相同的碰撞输出。

在您的情况下,可以通过向腿部的每个单独骨骼添加胶囊碰撞器或长方体碰撞器,然后调整其尺寸以大致适合网格来避免这种情况。然后,您添加的新基本体碰撞器应该正确地跟随它

下面是一个类似问题的链接:


基本上,如果对象移动并需要碰撞,最好使用基本体。

明白。但如果我需要对身体某个部位使用精确的对撞机,我该怎么办?我需要这一点来确定脚踢的方向。假设腿部有3块独立的骨骼,使用两个胶囊碰撞器来处理腿部骨骼,使用一个盒子碰撞器来处理脚踢应该足够精确。调整每个碰撞器的大小后,它的功能应该足够接近,就像它首先有一个网格碰撞器一样。