Страница 1 из 1

Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 май 2020, 15:19
etalot
Добрый день всем. Помогите, пожалуйста, с вопросом.
Ситуация: я новичок в Unity, художник нарисовал мне графику в векторе. Дальше нужно её отдать на анимацию. Я более менее определился с разрешение экспорта, решил юзать побольше, чтобы с запасом, чтобы потом не перезаказывать анимацию.
Планирую использовать сжатие, т.к. на выходе много областей залитых одним цветом, жмется отлично. Мне это позволяет использовать сразу одно высокое разрешение текстур. Лет на 5 можно будет забыть о качестве.
Объекты в основном вытянутые и поэтому PSD importer часто делает атласы на 1024х2048. Да и с внешние приложения для анимации по умолчанию делают подобное(можно конечно настройками поменять это).
Но я смотрю на форумах много жалоб на проблемы с NPOT(неквадратными текстурами) на Iphone, пишут до 2014 года в основном что чтобы использовать NPOT текстуры на iphone(из-за ограничения GPU PowerVR) приходится выключать сжатие(у меня сразу в разы вырастит объем текстур). Причем люди пишут что сам Iphone уже поддерживает сжатие NPOT текстур, а вот Unity не умеет этим пользоваться.
До 2019 находятся сообщения что mipmapping нужно отключать на экспорте для Iphone если текстура NPOT. Тоже хреново.

Дайте, пожалуйста, информацию об использовании NPOT текстур при экспорте Iphone. Какие проблемы актуальны, какие нет на сегодняшний момент? До сих пор лучше целиться на POT текстуры? ^:)^

Re: Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 май 2020, 15:29
waruiyume
NPOT- это None Power Of Two(не кратна степени 2). Кратность степени 2 никакого отношения к квадратности не имеет.
1024х2048- это POT.

Re: Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 май 2020, 19:39
etalot
waruiyume писал(а):NPOT- это None Power Of Two(не кратна степени 2). Кратность степени 2 никакого отношения к квадратности не имеет.
1024х2048- это POT.


Блин. Спасибо. Вот что значит спешка/дедлайн. [curved_hands]
POT/NPOT забыли. Мне легко делать все POT.

Вопрос тогда с неквадратными текстурами. К примеру 2048х1024 есть ли какие-то ограничения описанные выше для подобных текстур? Особенно в IOS?

Re: Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 май 2020, 19:55
etalot
All PVRTC formats require square textures with power-of-two dimensions.


Вот, наверно это штука меня запутала

Re: Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 май 2020, 20:31
DbIMok
не запутала, все правильно, квадратные и со степенью 2-ки. вроде если использовать неквадратные то памяти будет занимать столько же сколько квадратная

Re: Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 май 2020, 20:46
etalot
DbIMok писал(а):не запутала, все правильно, квадратные и со степенью 2-ки. вроде если использовать неквадратные то памяти будет занимать столько же сколько квадратная

Я так понимаю это сделает Юнити автоматом, и тут понятно, что от увеличения памяти никак не уйти. Но до 2017 включительно нахожу сообщения, что если текстура не квадратная, вроде могут слететь схемы спрайтов, в общем анимированный спрайт поплывет. Не знаю в последних Юнити это исправленно или нет.

С другой стороны сжатие PVRTC которому вроде как нужны квадратные текстуры во-первых корявое, во вторых с iphone 6 поддерживается ASTC, который без этих проблем и сжимает без сильных потерь.
Даже если сделаю пробу у меня нет Iphone с PVRTC чтобы проверить поплывет анимация или нет.

Re: Неквадратные(Non Power Of Two(NPOT)) текстуры в Unity/Iphone

СообщениеДобавлено: 21 окт 2022, 12:43
burovalex88
Оптимальные правила: разрешение должно быть кратно 4 и стороны быть равными.
2340*1080 = 7.2 МБ - компрессия не работает
4096*4096 = 0.9 МБ - Compressed ETC2
2340*2340 = 0.46 МБ - Compressed ETC2

http://joxi.ru/Y2LGJL8hx3J7pm
http://joxi.ru/ZrJglWEIQJzMkm
http://joxi.ru/bmo74QBtO6v9qm