Шестигранник Unity TIles - низкая производительность
При реализации большой гексагональной сетки (256x256) плиток в игре Unity игра становится очень медленной и едва способной функционировать. Шестиугольники в сборном. Скрипт контролирует размер сетки и расстояние между каждым шестиугольником. Как сделать рендеринг сетки объектов Unity 1024x1024?
Когда игра построена на Win64, она все еще довольно медленная.
Это изображение шестиугольников, представленных:
2 ответа
Попробуйте сделать элементы сетки статичными и убедитесь, что статическое дозирование включено в настройках плеера. Это значительно оптимизирует их рендеринг. Вы, вероятно, должны даже пойти так далеко, чтобы объединить их все в одну сетку (для этого используйте инструменты, подобные этой).
Если вы можете показать нам фактическую иерархию сцены и фактическую структуру узлов вашей сетки, то мы можем помочь еще больше.
Из-за того, как работает Unity, нестатические объекты имеют тенденцию становиться тяжелыми - каждый из них в конечном итоге получает свои собственные преобразования и в конечном итоге начинает рисоваться, даже когда их нет на экране.
Это причина того, что из Unity не видно больше клонов майнкрафта.
Если по какой-то причине вы не можете установить шестиугольники в статические (например, создавать процедурные уровни и т. Д.), Вам, возможно, придется смоделировать шестиугольники с помощью творческих манипуляций с шейдерами (например, сохранить каждую сетку в один массив вершин со второй, которая отслеживает соответствующий идентификатор сетки) или путем написания сценария, который создает / добавляет вершины и грани для одной сетки на одном игровом объекте.
Вы также можете ускорить сцену, создавая меньшие уровни и загружая / выгружая их, когда игрок движется к ним. Смотрите: Application.LoadLevelAdditive