2017-02-03 1 views
1

У меня есть 2500 x 2500 единиц размер местности в моей игре, а на поверхности местности 150 000 крошечных камней без коллайдеров, физики, теней или чего-то еще. Они никогда не двигаются, они просто сидят. Получу ли я что-нибудь от создания этих камней static или есть что-то еще, что я мог бы сделать, чтобы сделать работу, но сохранить камни. Я уже установил отбраковку камней до 125. Я печатаю FPS для текста UI, чтобы проверить производительность на мобильном телефоне. На мобильном моем fps 60 с или без камней, но на ПК я получаю 40 FPS без камней и 30 FPS со скалами.Должны ли 150 000 крошечных пород быть установлены как статические в Единстве?

enter image description here

enter image description here

+0

Да, так как Unity собиралась их собрать, чтобы снизить количество партий. – Everts

ответ

4

Как минимум, вы должны убедиться, что ваши объекты претендовать на batching.

Static - один из способов, который может помочь вам в этом. Но я предполагаю, что вы не разместили 150 000 объектов вручную в редакторе, так что вы не сможете воспользоваться оптимизацией редактора static.

Однако вы можете поместить объекты под родителем и позвонить StaticBatchingUtility.Combine. Вы называете это только один раз, после того, как было размещено 150 000 объектов.

Сделав это еще дальше, вы можете попробовать поместить несколько камней в один объект, например, combining meshes. Затем повторно используйте один или несколько из этих объектов, чтобы иметь право на доработку и достичь более высокого уровня FPS. Каждый объект может содержать несколько крошечных камней, и вы можете слегка их сложить, чтобы добиться случайного взгляда. Обратите внимание, что существует ограничение на 65536 вершин на сетках, поэтому может быть недостаточно одного объекта, чтобы получить случайный вид, который вы хотите.

Главное, что вы хотите избежать раздельных вызовов для каждого объекта. Проверьте rendering statistics на улучшения по мере оптимизации. Также обратите внимание, что нагрузка на центральный процессор и память из-за того, что у них много объектов, этого можно избежать, используя более крупные объекты, чтобы содержать несколько меньших сеток.

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