protected void OnDestroy() { if (combinedMeshInfo != null && combinedMeshInfo.mesh && combinedMeshInfo.mesh != rawMeshInfo.mesh) { DestroyImmediate(combinedMeshInfo.mesh); combinedMeshInfo.materials = null; combinedMeshInfo.bones = null; combinedMeshInfo = null; } }
/// <summary> /// 开始蒙皮骨骼 by 吴江 /// </summary> /// <param name="_smrList"></param> /// <param name="_refBones"></param> public void CombineSkinnedMesh(List <SkinnedMeshRenderer> _smrList, Dictionary <string, Transform> _refBones) { //如果已经Combine了 by吴江 if (combinedMeshInfo.mesh != rawMeshInfo.mesh) { UnloadUnusedMaterials(); skinnedMeshRenderer.sharedMesh = rawMeshInfo.mesh; skinnedMeshRenderer.sharedMaterials = rawMeshInfo.materials; skinnedMeshRenderer.bones = rawMeshInfo.bones; DestroyImmediate(combinedMeshInfo.mesh); combinedMeshInfo.mesh = null; combinedMeshInfo.materials = null; combinedMeshInfo.bones = null; } combinedMeshInfo = MeshHelper.CombineSkinnedMeshRenderer(_smrList, _refBones); combinedMeshDirty = true; }