unity2d в чем разница между листом спрайтов и упаковщиком спрайтов?

То, что я имею в виду, отличается неэффективностью, когда игра работает.

лист спрайтов: поместите несколько файлов в один файл текстуры и импортируйте его в единство, я импортирую только одну текстуру.

Упаковщик спрайтов: импортируйте несколько файлов в единство, затем используйте упаковщик спрайтов, чтобы упаковать их в одну текстуру.

Так в чем же между ними разница? какой из них лучше для анимации спрайтов?

Спасибо!


person Jonguo    schedule 19.08.2014    source источник


Ответы (1)


С точки зрения частоты кадров вы практически не повлияете. Однако с точки зрения памяти вы можете увидеть эффект, потому что упаковщик спрайтов сможет лучше справляться с анимациями с гибким размером.

Что касается листов спрайтов, я предполагаю, что вы имеете в виду атласы, состоящие из ячеек фиксированного размера. С этим подходом проблем нет, если только ваша анимация не сильно различается по размеру, из-за чего необходимо увеличить общий размер ячейки, чтобы покрыть область самого большого кадра анимации. В конечном итоге вы получите огромное количество «пустого» и, следовательно, потраченного впустую пространства. Это плохо, так как на мобильной памяти будет ваша проблема.

Обычно листы спрайтов подходят для анимаций, которые вписываются в эффективный размер ячейки, например для анимированных персонажей: введите здесь описание изображения

С упаковщиком спрайтов единства у вас не будет этой проблемы, так как он «упакует» пустое пустое пространство вместе и создаст оптимальный атлас, отсюда и название «упаковщик».

Вы можете увидеть это в документации: результат упаковщика спрайтов

Взрыв (или что это такое) явно использует оптимальное пространство. На листе спрайтов вам придется создавать ячейки размером с самый большой взрыв.

С точки зрения простоты программирования, используя упаковщик спрайтов, вам, возможно, придется добавить немного кода, чтобы скорректировать исходный размер спрайта, чтобы анимация работала плавно в «точке привязки». С листами спрайтов этого можно избежать благодаря фиксированному размеру ячеек.

person Rudolfwm    schedule 19.08.2014