Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите я не понимаю как это сделать на юнити

Damoix Play Ученик (128), открыт 1 неделю назад
Как объединить куча объектов в один сплошной ?

Ради оптимизации
3 ответа
Спартак Бендеров (SJBatya) Мыслитель (5472) 1 неделю назад
Если речь идет про меши, то тут можно скачать из Asset stor'a плагин MeshCombiner
Просто Матвей Ученик (156) 1 неделю назад
перетащить объекты под другой
Котище рыжий Мастер (1558) 1 неделю назад
MeshFilter[] meshFilters = GetComponentsInChildren<MeshFilter>();
CombineInstance[] combine = new CombineInstance[meshFilters.Length];

for (int i = 0; i < meshFilters.Length; i++)
{
combine[i].mesh = meshFilters[i].sharedMesh;
combine[i].transform = meshFilters[i].transform.localToWorldMatrix;
meshFilters[i].gameObject.SetActive(false);
}

Mesh combinedMesh = new Mesh(); combinedMesh.CombineMeshes(combine);
MeshFilter meshFilter = gameObject.AddComponent<MeshFilter>();
meshFilter.mesh = combinedMesh;
gameObject.AddComponent<MeshRenderer>().material = meshFilters[0].GetComponent<MeshRenderer>().sharedMaterial;
}
Еще советую тебе использовать аттрибут ExecuteInEditMode для класса и выполнять код в OnValidate для выполнения прямо в редакторе. Так это реально сделает сильную оптимизацию. Но будь осторожен так как ты можешь все сломать.
Котище рыжийМастер (1558) 1 неделю назад
И еще для более чистого кода используй var вместо стандартного типа данных.
Похожие вопросы