Unity3d 从一块布上获取网格,并在Unity 5中恢复它

Unity3d 从一块布上获取网格,并在Unity 5中恢复它,unity3d,unity3d-5,Unity3d,Unity3d 5,我正在将Unity 4项目转换为Unity 5。据我所知,出于渲染性能的原因,InteractiveCloth已更改为Cloth 在我的旧项目中,我正在保存InteractiveCoth的网格,以便在我的级别重新开始时将其恢复到默认状态 // save mesh netMeshSave = net.mesh; public void ResetNetMesh() { UnityEngine.Object.DestroyObject(net.mesh); net.mesh = (

我正在将Unity 4项目转换为Unity 5。据我所知,出于渲染性能的原因,InteractiveCloth已更改为Cloth

在我的旧项目中,我正在保存InteractiveCoth的网格,以便在我的级别重新开始时将其恢复到默认状态

// save mesh
netMeshSave = net.mesh;

public void ResetNetMesh()
{
    UnityEngine.Object.DestroyObject(net.mesh);
    net.mesh = (Mesh)Mesh.Instantiate(netMeshSave);        
}
在Unity 5中,是否有从布料中获取网格并将其还原的首选方法


我可以看到Unity 5 api中不再存在Cloth.mesh,这是迄今为止我发现的最好的解决方法。它将布料的网格恢复为默认状态,而不是任意保存的状态:

 public void ResetNetMesh()
 {
    net.GetComponent< SkinnedMeshRenderer>().enabled = false;
    net.GetComponent< Cloth>().enabled = false;
    net.GetComponent< Cloth>().enabled = true;
    net.GetComponent< SkinnedMeshRenderer>().enabled = true;
 }
public void ResetNetMesh()
{
net.GetComponent()。enabled=false;
net.GetComponent()。enabled=false;
net.GetComponent().enabled=true;
net.GetComponent()。enabled=true;
}