Я использую Unity3d для отображения сцены дока ![there are thousands of container in my scene](https://i.stack.imgur.com/nSWdu.png)
контейнеры обновляются на основе сообщений в реальном времени.Я оптимизирую жеребьевку для этой сцены.Я обнаружил, что контейнеры рисуют один за другим методом рисования сетки.В коде я загружаю контейнер из префаба и устанавливаю цвет
instance = (GameObject)Instantiate(Resources.Load("Prefabs/box1"));
Material material = instance.GetComponent<MeshRenderer>().material;
material.color = new Color(r / 255f, g / 255f, b / 255f, 1f);
, затем gameObject
s добавляются к сцене один за другим.Можно ли как-то пакетировать gameObject
s и рисовать их один раз?
ОБНОВЛЕНИЕ: Я делаю некоторые изменения в своем сборном контейнере, чтобы включить инстансирование графического процессора.Да, вызовы отрисовки уменьшены с 6 КБ до 2 КБ динамическим пакетом.Но это вызывает другую проблему.Все контейнеры имеют одинаковый цвет, так как я использую
gameObject.GetComponent<MeshRenderer>().sharedMaterial.color = ContainerColor
, чтобы установить цвет контейнеров.Есть ли способ решить это?![enter image description here](https://i.stack.imgur.com/h80pH.png)