unity 刷新当前骨骼动画的meshcollider
时间: 2023-08-26 15:05:25 浏览: 227
Unity网格插件Non Convex Mesh Collider
要刷新当前骨骼动画的 MeshCollider,可以按照以下步骤进行操作:
1. 首先,确保你已经将 MeshCollider 组件添加到了该模型的 GameObject 上。
2. 在代码中,获取到当前的骨骼动画组件,比如 Animation 或者 Animator。
3. 在每次动画刷新时,获取到当前的 MeshFilter 组件,并将其 Mesh 属性设置为当前动画的 Mesh。
4. 最后,使用 MeshCollider 的 sharedMesh 属性,将其设置为当前的 Mesh。
具体示例代码如下:
```csharp
using UnityEngine;
public class RefreshMeshCollider : MonoBehaviour
{
private Animation animation;
private MeshFilter meshFilter;
private MeshCollider meshCollider;
void Start()
{
// 获取到当前的骨骼动画组件
animation = GetComponent<Animation>();
meshFilter = GetComponent<MeshFilter>();
meshCollider = GetComponent<MeshCollider>();
}
void Update()
{
// 每次动画刷新时,获取到当前的 MeshFilter 组件,并将其 Mesh 属性设置为当前动画的 Mesh
meshFilter.mesh = animation.clip.mesh;
// 设置 MeshCollider 的 sharedMesh 属性,将其设置为当前的 Mesh
meshCollider.sharedMesh = meshFilter.mesh;
}
}
```
注意:上述示例代码仅供参考,具体实现方式可能因项目需求而有所不同。
阅读全文