0

我正在将 Unity 4 项目转换为 Unity 5。我了解到,出于渲染性能原因, InteractiveCloth 已更改为 Cloth。

在我的旧项目中,我保存了 InteractiveCloth 的网格,因此当我的关卡重新开始时,我可以将其恢复到默认状态

// 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

4

1 回答 1

0

这是迄今为止我发现的最好的解决方法。它将布料的网格恢复到默认状态,而不是任意保存的状态:

 public void ResetNetMesh()
 {
    net.GetComponent< SkinnedMeshRenderer>().enabled = false;
    net.GetComponent< Cloth>().enabled = false;
    net.GetComponent< Cloth>().enabled = true;
    net.GetComponent< SkinnedMeshRenderer>().enabled = true;
 }
于 2015-10-06T16:53:40.760 回答