Я пытаюсь комбинировать сетки, но получаю ошибки, и мои объекты исчезают. Я прочитал много других вопросов, которые похожи, но их решения не работают. Как я могу это исправить?
Изображение ошибок
using UnityEngine;
using System.Collections;
// Copy meshes from children into the parent's Mesh.
// CombineInstance stores the list of meshes. These are combined
// and assigned to the attached Mesh.
[RequireComponent(typeof(MeshFilter))]
[RequireComponent(typeof(MeshRenderer))]
public class MeshCombiner : MonoBehaviour
{
void Start()
{
MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
CombineInstance[] combine = new CombineInstance[meshFilters.Length];
int i = 0;
while (i < meshFilters.Length)
{
if (meshFilters[i].sharedMesh!=null) // custom
{
combine[i].mesh = meshFilters[i].sharedMesh;
combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
meshFilters[i].gameObject.SetActive(false);
}
i++;
}
transform.GetComponent<MeshFilter>().mesh = new Mesh();
//transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine);
transform.GetComponent<MeshFilter>().mesh.CombineMeshes(combine, true); // custom
transform.gameObject.SetActive(true);
//transform.GetComponent<MeshFilter>().mesh.RecalculateBounds(); // custom
//transform.rotation = Quaternion.identity; // custom
//transform.position = new Vector3(0.0f, 0.0f, 0.0f); // custom
}
}