У меня есть 2500 x 2500 единиц размер местности в моей игре, а на поверхности местности 150 000 крошечных камней без коллайдеров, физики, теней или чего-то еще. Они никогда не двигаются, они просто сидят. Получу ли я что-нибудь от создания этих камней static
или есть что-то еще, что я мог бы сделать, чтобы сделать работу, но сохранить камни. Я уже установил отбраковку камней до 125. Я печатаю FPS для текста UI, чтобы проверить производительность на мобильном телефоне. На мобильном моем fps 60 с или без камней, но на ПК я получаю 40 FPS без камней и 30 FPS со скалами.Должны ли 150 000 крошечных пород быть установлены как статические в Единстве?
ответ
Как минимум, вы должны убедиться, что ваши объекты претендовать на batching.
Static - один из способов, который может помочь вам в этом. Но я предполагаю, что вы не разместили 150 000 объектов вручную в редакторе, так что вы не сможете воспользоваться оптимизацией редактора static.
Однако вы можете поместить объекты под родителем и позвонить StaticBatchingUtility.Combine. Вы называете это только один раз, после того, как было размещено 150 000 объектов.
Сделав это еще дальше, вы можете попробовать поместить несколько камней в один объект, например, combining meshes. Затем повторно используйте один или несколько из этих объектов, чтобы иметь право на доработку и достичь более высокого уровня FPS. Каждый объект может содержать несколько крошечных камней, и вы можете слегка их сложить, чтобы добиться случайного взгляда. Обратите внимание, что существует ограничение на 65536 вершин на сетках, поэтому может быть недостаточно одного объекта, чтобы получить случайный вид, который вы хотите.
Главное, что вы хотите избежать раздельных вызовов для каждого объекта. Проверьте rendering statistics на улучшения по мере оптимизации. Также обратите внимание, что нагрузка на центральный процессор и память из-за того, что у них много объектов, этого можно избежать, используя более крупные объекты, чтобы содержать несколько меньших сеток.
- 1. атрибуты srcdir должны быть установлены
- 2. Не должны ли статические шаблоны быть статическими?
- 3. Как Кнопка предупреждения, которые должны быть установлены
- 4. Почему файлы должны быть установлены в Linux
- 5. Должны ли переменные-члены в singleton быть объявлены как статические?
- 6. Где должны быть установлены заголовки http?
- 7. Где должны быть установлены VSTO-расширения?
- 8. Laravel3: Переменные, которые должны быть установлены навсегда
- 9. Должны ли быть установлены внешние зависимости во время разработки?
- 10. Какие драгоценные камни должны быть установлены?
- 11. JmsI18NBundle - каталог, где переводы должны быть установлены
- 12. Должны ли быть установлены значения по умолчанию для Firebase RemoteConfig?
- 13. Как определить, какие поля в модели должны быть установлены?
- 14. Где должны быть установлены сторонние двоичные файлы в системе unix?
- 15. Как установить, где должны быть установлены мои плагины grails?
- 16. Где должны быть установлены исполняемые файлы в Windows 7?
- 17. grunt.js и его плагины должны быть установлены в моем проекте?
- 18. Поля, которые должны быть установлены в HTTP-заголовке
- 19. Неиспользуемые переменные частичного вид должны быть явно установлены в ноль
- 20. Почему глобальные анонимные союзы должны быть объявлены как статические?
- 21. Где должны быть установлены учетные данные для mysql?
- 22. Какие пакеты должны быть установлены для использования библиотеки ALSA?
- 23. Должны ли освобождаться глобальные статические массивы?
- 24. Должны ли статические объекты иметь статические переменные-члены?
- 25. Чтобы использовать Certbot, пакеты из хранилища Epel должны быть установлены
- 26. Новых Рельсы ошибка приложения - переменная HOME среды должны быть установлены
- 27. Какие события должны быть установлены для SQL-профилятора 2008?
- 28. oauth2client.client.ApplicationDefaultCredentialsError: значения типа 'type', 'authorized_user' или 'service_account' должны быть установлены
- 29. Когда должны быть объявлены статические методы в базовом классе?
- 30. Какие модули CPAN должны быть установлены для этого сценария?
Да, так как Unity собиралась их собрать, чтобы снизить количество партий. – Everts