2014-12-28 2 views
0

Я использую Unity 4.6 для разработки 2D-игры. Я хочу знать, имеет ли большое количество GameObjects в сцене (вне камеры) значительное влияние на производительность. Например, эффективно ли создавать прокручиваемый список имен (например, 1000 из них)? (каждый из них является GameObject и имеет текст, кнопку и т. д.) Я маскирую их в указанной области (например, 10 из них видны одновременно).Добавляет много игр GameObjects в сцене (не отображается) неэффективно для производительности? [Unity]

Заранее благодарен!

ответ

1

В зависимости от того, имеют ли объекты видимые компоненты. Если они это сделают, двигатель будет рисовать их, даже если они «вне камеры». Игровой объект сам по себе имеет довольно легкую нагрузку - игра на основе плитки может иметь тысячи в памяти. Вы захотите переключить видимость спрайтов, если вы планируете рисовать большое количество сцены вне камеры. Здесь приходит SpriteManager. Он проверяет, находится ли спрайт в прямоугольнике камеры и отключены спрайты. Существует полу-Offical exmaple здесь хорошо, если немного сложнее:

http://wiki.unity3d.com/index.php?title=SpriteManager

+0

построен ли в 2D черты единства (как SpriteRenderer) справиться с этим? Или мне нужно отключить SpriteRenderer, когда он выходит из камеры? Как насчет элементов пользовательского интерфейса в новой системе GUI, недавно добавленной в Unity 4.6? –

+0

В настоящее время двигатель продолжит рисовать спрайты с камеры. Элементы пользовательского интерфейса обычно определяются в пределах камеры, так что это не привело к изменению. Я не знаю, планирует ли Unity изменить это поведение - в то время как многим 3D-играм выгодно отрывать объекты камеры, 2d-игры на основе плитки не так много. Возможно в единстве 5.0+ – ChargerIIC

Смежные вопросы