unity 将update更新的meshcollider 恢复成最初的样子
时间: 2023-08-28 12:04:44 浏览: 42
如果你想将一个 `MeshCollider` 恢复成它最初的状态,你需要保存最初的 `Mesh`。可以使用 `MeshCollider.sharedMesh` 属性获取当前使用的 `Mesh`,然后将其替换为最初的 `Mesh`。
以下是一个示例代码片段,可以将一个 `MeshCollider` 恢复成最初的状态:
```csharp
public class MeshColliderController : MonoBehaviour
{
private Mesh originalMesh;
private MeshCollider meshCollider;
void Start()
{
// 获取最初的 Mesh
originalMesh = GetComponent<MeshFilter>().mesh;
// 获取 MeshCollider 组件
meshCollider = GetComponent<MeshCollider>();
}
void Update()
{
// 在 Update 方法中更新 Mesh,此处省略
}
public void ResetMeshCollider()
{
// 将 MeshCollider 的 Mesh 设置为最初的 Mesh
meshCollider.sharedMesh = originalMesh;
}
}
```
在上面的示例中,我们在 `Start` 方法中获取了最初的 `Mesh` 和 `MeshCollider` 组件。然后,我们可以在 `Update` 方法中更新 `Mesh`,在需要恢复 `MeshCollider` 的时候,调用 `ResetMeshCollider` 方法,将 `MeshCollider` 的 `sharedMesh` 属性设置为最初的 `Mesh`。