Шестигранник Unity TIles - низкая производительность

При реализации большой гексагональной сетки (256x256) плиток в игре Unity игра становится очень медленной и едва способной функционировать. Шестиугольники в сборном. Скрипт контролирует размер сетки и расстояние между каждым шестиугольником. Как сделать рендеринг сетки объектов Unity 1024x1024?

Когда игра построена на Win64, она все еще довольно медленная.

Это изображение шестиугольников, представленных:

http://i.imgur.com/UbA6USt.png

2 ответа

Попробуйте сделать элементы сетки статичными и убедитесь, что статическое дозирование включено в настройках плеера. Это значительно оптимизирует их рендеринг. Вы, вероятно, должны даже пойти так далеко, чтобы объединить их все в одну сетку (для этого используйте инструменты, подобные этой).

Если вы можете показать нам фактическую иерархию сцены и фактическую структуру узлов вашей сетки, то мы можем помочь еще больше.

Из-за того, как работает Unity, нестатические объекты имеют тенденцию становиться тяжелыми - каждый из них в конечном итоге получает свои собственные преобразования и в конечном итоге начинает рисоваться, даже когда их нет на экране.

Это причина того, что из Unity не видно больше клонов майнкрафта.

Если по какой-то причине вы не можете установить шестиугольники в статические (например, создавать процедурные уровни и т. Д.), Вам, возможно, придется смоделировать шестиугольники с помощью творческих манипуляций с шейдерами (например, сохранить каждую сетку в один массив вершин со второй, которая отслеживает соответствующий идентификатор сетки) или путем написания сценария, который создает / добавляет вершины и грани для одной сетки на одном игровом объекте.

Вы также можете ускорить сцену, создавая меньшие уровни и загружая / выгружая их, когда игрок движется к ним. Смотрите: Application.LoadLevelAdditive

Другие вопросы по тегам