Циклом for создаю 10 тысяч объектов - квадрат из двух трианглов, к нему прикреплены меш, материал и колайдер.
Создавая через функцию Instantiate я получил зависание системы примерно на 10 секунд.
Используя конструктор пустого GameObject, а затем последовательное добавление (AddComponent) и инициализация компонентов - 12 секунд
Тоже конструктор, но с параметрами, после чего только инициализация - 7 секунд.
Синтаксис:
Используется csharp
for (int i = 0; i < 10000; i++)
{
GameObject newGo = new GameObject("Test", typeof(MeshFilter), typeof(MeshRenderer), typeof(BoxCollider));
(newGo.GetComponent<MeshFilter>() as MeshFilter).mesh = plane;
newGo.renderer.material = mat;
}
{
GameObject newGo = new GameObject("Test", typeof(MeshFilter), typeof(MeshRenderer), typeof(BoxCollider));
(newGo.GetComponent<MeshFilter>() as MeshFilter).mesh = plane;
newGo.renderer.material = mat;
}
Вот еще задался вопросом, а нельзя ли прямо в конструкторе ГО сразу инициализировать компоненты?
Ps: и почему нет какогото классного оптимизированного группового Instantiate...