Android: Формат сжатых текстур
Привет. Хотел узнать у вас по поводу «железных» текстур.
Сделал поддежку 3х форматов
Все наборы текстур будут идти в комплекте с игрой, и в зависимости от типа поддерживаемого расширения будут загружаться нужные
Выбор по расширирениям
И еще вопрос, как быть с Mali ?
Из расширений которые они поддерживают
Все какие то не ведомые
GL_OES_texture_compression_astc
GL_KHR_texture_compression_astc_hdr
GL_KHR_texture_compression_astc_ldr
GL_OES_compressed_ETC1_RGB8_texture — не пойдет, по причине отсуцтвия альфа канала. Вариант с двумя текстурами, тоже вариант, но пока не до него!
Раздел Android Texture Formats: https://docs.unrealengine.com/latest/INT/Platforms/Android/Refere… extureformats
Я делал билды с ETC2, и нормально работало на малишных девайсах.
wmask
> Раздел Android Texture Formats:
> https://docs.unrealengine.com/latest/INT/Platforms/Android/Refere…
> extureformats
> Я делал билды с ETC2, и нормально работало на малишных девайсах.
Супер, спасибо.
А как узнать поддерживает ли устройсво ETC2 ?
Чет сколько смотрю, у всех GL_OES_compressed_ETC1_RGB8_texture, а чтобы ETC2 ни у кого не ведать
К примеру вот последний Mali
Или поддежка Open GL ES 3.0 автоматически гарантирует 100% что будет работать ETC2 ?
Просто к примеру проц который используется в iPhone 5s хоть и поддерживает ES 3.0 но ETC2 точно нет!
FDsagizi
> А как узнать поддерживает ли устройсво ETC2 ?
Не знаю. Я просто в википедии смотрел: если у девайса гпу мали, то делал билд под ETC2.
FDsagizi
> GL_OES_texture_compression_astc
> GL_KHR_texture_compression_astc_hdr
> GL_KHR_texture_compression_astc_ldr
Это вообще самый крутой формат. Поддерживает всё, можно регулировать степень сжатия. Можно даже сжать так, что плотность данных будет меньше бита на пиксель. Вроде этот формат планируют вводить в следующие версии OpenGL и OpenGL ES.
FDsagizi
> Или поддежка Open GL ES 3.0 автоматически гарантирует 100% что будет работать ETC2 ?
Не факт, что аппаратной поддержки достаточно. Надо, чтобы ещё версия Android была от 4.3.
FDsagizi
> Просто к примеру проц который используется в iPhone 5s хоть и поддерживает ES
> 3.0 но ETC2 точно нет!
А вообще айфоны поддерживают OpenGL ES 3.0? Если проц поддерживает, то не факт, что драйвер есть. Они вроде как свой API Metal продвигать хотели, а на OpenGL ES выше 2.0 забить. Но я не очень за ним слежу, могу и ошибаться.
В общем, если устройство заявляет поддержку OpenGL ES 3.0, но не поддерживает ETC2, то оно врёт и OpenGL ES 3.0 не поддерживает, потому что ETC2 часть стандарта.
FDsagizi
> Все наборы текстур будут идти в комплекте с игрой, и в зависимости от типа
> поддерживаемого расширения будут загружаться нужные
Почему бы не собирать разные APKшки с разными форматами текстур под разные GPU, чтобы пользователи качали только нужные им текстуры? Если ты уже используешь Gradle (а не устаревший ADT), это делается элементарно.
FDsagizi
> И еще вопрос, как быть с Mali ?
Грузить tga.
> Все ли верно?
Да. Я так-же делаю. Но ты врядли встретишь расширение GL_ATI_texture_compression_atitc. GL_AMD_compressed_ATC_texture достаточно
wmask
> Я делал билды с ETC2, и нормально работало на малишных девайсах.
>если у девайса гпу мали, то делал билд под ETC2.
ETC2 не держат Mali ниже T6x т.е. те что не держат OpenGL ES 3.x. Например очень распространенные Mali 400/Mali 450. На каких девайсах это могло работать? может для старых все таки были tga/png ?
Andrey
> ETC2 не держат Mali ниже T6x т.е. те что не держат OpenGL ES 3.x. Например
> очень распространенные Mali 400/Mali 450.
Странно все это. Вот тут Mali 400 упоминается, а по ссылке в моем первом посте написано, что для мали нужно ставить ETC2. В общем, это уже сами разбирайтесь, я глубоко не копался, даю ссылки на вики UE4. Можно, кстати, посмотреть там исходный код, как они определяют, что использовать.
Сам я, естественно, не тестил на старых девайсах, но эпики пишут: Expected — Device has passed Functional testing
Так — по скольку у нас OpenGL ES 3.0 обязателен, и Areno 330 мин видео карта.
Получается что ATI TC не нужен, т.к. Adreno 330 прекрасно работает с ETC2
Adreno 330 и Mali — ETC2
Nvidia — DXT1
Pover WR — PVR
кстати а как дела с графикой от Intel ? Которая на андроиде идет? На компе то — она спокойно работаетc S3TC(DXT1)
Кстати посмотреть поддежку текстур, лучше смотреть через — OpenGL Extension Viewer
FDsagizi
>и Areno 330 мин видео карта.
точнее 305 минимум
>Nvidia — DXT1
>Pover WR — PVR
А разве они в случае OpenGL ES 3.0 не держат ETC2 ? если так то для OpenGL ES 3.0 вообще выбрать ETC2, а лучше GL_OES_texture_compression_astc
Andrey
> > vidia — DXT1
> > over WR — PVR
> А разве они в случае OpenGL ES 3.0 не держат ETC2 ? если так то для OpenGL ES 3.0 вообще выбрать ETC2
Нету таких устройств, надо смотреть — у нас в городе(Астана) либо блотные, либо дешевые, а на тегре — для геймеров уже несыщешь. На каком форме можно задать вопрос, чтобы узнать такую инфу ?
Andrey
> а лучше GL_OES_texture_compression_astc
Хорошо посмотрю! А не подкинете ссылку, где можно глянуть сравнение и как сжать — либу. А то гугл меня немного в ступор вводит))
FDsagizi
> Нету таких устройств, надо смотреть — у нас в городе(Астана) либо блотные, либо
> дешевые, а на тегре — для геймеров уже несыщешь. На каком форме можно задать
> вопрос, чтобы узнать такую инфу ?
То есть ты не веришь, что ETC2 есть везде, где есть OpenGL ES 3.0 и хочешь это проверить?
FDsagizi
> Хорошо посмотрю! А не подкинете ссылку, где можно глянуть сравнение и как
> сжать — либу. А то гугл меня немного в ступор вводит))
Если не ошибаюсь, есть тулза от Mali, которая сжимает в ASTC и ETC1\2. Только для её скачивания надо вроде бы зарегистрироваться на их сайте.
Зачем удалил моё сообщение? Каким таким правилам оно не соответствует?
Источник
UEngine.Ru
Русскоязычное сообщество Unreal Engine 4
Требуется помощь в билде игры на андроид
я к сожалению не могу тебе помочь, так как сегодня впервые попробовал собрать проект. Но я хотел бы спросить у тебя, или у сообщества. Мб вы знаете как устранить такую ошибку?
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): ERROR: System.ArgumentException: Staged filesystem reference may not start with a path separator or contain an empty path fragment (trolls\Content\Assets\backgrounds\candy\1\sprite\33_background.uasset)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в StagedFileSystemReference..ctor(String InName)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в StagedFileReference..ctor(String Name)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в Project.CreateStagingManifest(ProjectParams Params, DeploymentContext SC)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в Project.CopyBuildToStagingDirectory(ProjectParams Params)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в BuildCookRun.DoBuildCookRun(ProjectParams Params)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в BuildCookRun.ExecuteBuild()
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.BuildCommand.Execute()
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Automation.Execute(List`1 CommandsToExecute, Dictionary`2 Commands)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Automation.Process(String[] Arguments)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Program.MainProc(Object Param)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): в AutomationTool.Program.Main()
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): (see C:\Users\DENIS\AppData\Roaming\Unreal Engine\AutomationTool\Logs\D+programmes+UE_4.19\UAT_Log.txt for full exception trace)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): AutomationTool exiting with ExitCode=1 (Error_Unknown)
UATHelper: Packaging (Android (Multi:ASTC,PVRTC,DXT,ATC,ETC2,ETC1)): BUILD FAILED
PackagingResults: Error: Unknown Error
это из-за нижнего подчёркивания или чего то другого? Я не понимаю
проблема решена. Это было из-за 4.19 версии. В 4.19.1 уже всё нормально
Источник
Android dxt atc 2 astc
В настоящее время Android-приложения хранят свой код в файле «classes.dex».
При декомпиляции приложения, «classes.dex» разберается на файлы *.SMALI, в каждом из которых содержется своя часть кода — которая доступна нам для редактирования.
GetInternalFilesDir() — назначает место расположения кэша при невозможности сохранения на SD-карту.
На данный момент располагается в «smali\com\blizzard\wtcg\hearthstone\FileUtils.smali»
Заменив содержимое метода целиком на нижеприведенный, кэш будет устанавливаться в «Android/data» пользовательской памяти, вместо «data/data» системного раздела
SetHSTextureFormat — определяет тип используемого кэша.
На данный момент располагается в «smali\com\blizzard\wtcg\hearthstone\DeviceSettings.smali»
Заменив содержимое метода целиком на нижеприведенный, игра будет работать только с кэшем «ETC1», игнорируя поддержку «ASTC», «ATC», «PVRTC» и «DXT»
installApk — запускает процедуру проверки и обновления приложения.
Заменив содержимое метода целиком на нижеприведенный, приложение будет пропускать данную проверку.
Assembly-CSharp.dll содержит в себе множество функций всего происходящего в игре.
Изменяя их, мы можем поменять практически любое событие.
Network > GetPlatformBuilder — определяет информацию об устройстве, которая в итоге отправляется на игровой сервер.
Можно использовать для получения подарков по акции «Galaxy Gift», изменив код на такой:
TimeScaleMgr > Update — здесь можно изменить скорость проигрывания анимаций в игре.
В данном примере выставлено трехкратное ускорение игры.
Игровой движок Unity3D поддерживает с десяток форматов текстур, часть из которых шустро работают на одном устройстве, но вызывает фризы на другом.
Для сборки приложения под Android, Unity3D предоставляет возможность сжать все текстуры в один из шести типов:
|
Текстуры в форматах ETC и RGBA поддерживаются практически во всех устройствах на Android.
ATC, PVRTC и DXT — чипо-зависимые, и, обычно, устройством поддерживается только один из этих форматов.
ETC2 — требует Android 4.3 или новее, и поддержку OpenGL ES 3.0
ASTC — требует Android 5.0 или новее, и поддержку OpenGL ES 3.2 (либо OpenGL ES 3.1 + Android Extension Pack).
Если устройство не поддерживает текстуры используемого вами кэша, то игра попытается их переконвертировать на лету в RGBA32 — что позволит отобразить весь игровой контент, но из-за дополнительной нагрузки на процессор — появятся фризы и провисания FPS.
Для сборки Low-End Mod’а рекомендую уменьшать текстуры с каналом прозрачности (альфа-каналом) до 64x64px, и сохранять в DDS с форматом ARGB4444, без мипмапов.
[Mobile]
Store = Google
Mode = Production
Если на мобильном устройстве отсутствует GooglePlayMarket, то в игре перестаёт быть доступным внутриигровой магазин.
Но если мы изменим значение параметра Store на Battle.net, то магазин будет доступен и без стороних сервисов.
Также есть возможность включить симуляцию запуска игры на устройстве иного типа.
Например, чтобы запустить игру с мобильным интерфейсом, нужно добавить эти строки:
Здесь значение Android Phone можно заменить на Android Tablet, и это привёд к тому что будет принудительно запускаться планшетный интерфейс.
Более подробное описание доступно в этом посте: Hearthstone[3D, Online] (Пост zloyted #63567819)
Для игроков PC-версии игры, существуют параметры запуска игры минуя Battle.net-клиент.
Делается это просто, добавлением вот этих строк:
- кэш размещается в «Android/data» пользовательской памяти, вместо «data/data» системной памяти
- занижены минимальные требованиятройству для запуска приложения
Hearthstone v11.4.25447 mod.apk ( 41.7 МБ )
Hearthstone v11.4.25447 LEM ETC1.apk ( 37.71 МБ )
Hearthstone v11.4 LEM ETC1 cache.7z ( 108.33 МБ )
Распаковать Assembly-CSharp.dll и поместить по пути «Hearthstone\Hearthstone_Data\Managed\«, заменив оригинал (строго рекомендуется сделать копию оригинального файла).
Список изменений:
- добавлено управление скоростью анимации в игре ползунком в левой части окна игры, и стрелками на клавиатуре
- убран эффект тряски камеры
- добавлена возможность получить подарки по акции GalaxyGift
- принудительно используется магазин Blizzard (полезно при использовании мобильного интерфейса)
- все отсутствующие карты в коллекции отображаются в цвете
Hearthstone PC 11.4 MixMod.zip ( 2.34 МБ )
Поэтапные шаги:
- Установка модифицированного приложения
приложение необходимо устанавливать с нуля, чтобы избежать случаи с непредвиденными ошибками с уже установленным приложением - Запуск приложения
- Выбор места расположения кэша (если доступна SD-карта)
если SD-карта не доступна, или приложение игры не может произвести на неё запись — кэш пишется во внутреннюю память.
стоит заметить, что на некоторых устройствах внутренняя память определяется как SD-карта, и наоборот. - Ожидание начала загрузки кэша
ждать надо до отображения числа размера скачиваемого кэша - Закрытие процесса приложения
важно ‘убить’ процесс игры, чтобы не было фоновой загрузки - Распаковка кэша в «Android/data»
когда диспетчер потребует подтверждение замены файла «product.db» — соглашайтесь
если запроса НЕ было, то скорей всего кэш устанавливается вами НЕ в необходимое место - Запуск приложения
на предложение авторизоваться через Google Drive — лучше отвечать отрицательно, иначе игра может просто начать вылетать при запуске
- TORNADO74 — KRAKEN#21183 — 80 голды!
- IceArms — Zephirus#21683 — 240 голды!
- Taridax — Taridaks#2987 — 240 голды!
- xoxolok2001 — EverGod#2560 — 80 голды!
- StrangerHT#2666 — 240 голды!
- AlehandroHeaven — Heavy#2820 — 400 голды!
- fhpbubzy — GeroinOoO#2497 — 80 голды!
- Yeasy#2988 — 80 голды!
- qgreen#2775 — 80 голды!
- alexey_boo — thankyouguys#2842 — 240 голды!
- Inquisitor#2543 — 160 голды!
- pozitivman_ — pozitivman#21285 — 80 голды!
- Van0sss — Vanosss#2441 — 80 голды!
- vasyapip — Midnight#21309 — 240 голды!
- chaszk#2551 — 80 голды!
- StormFire#2118 — 160 голды!
- OSSarr — Amaringo#2209 — 80 голды!
- Владимир Патриот — BJIaguMUP#2385 — 240 голды!
- StrangerHT#2666 — 240 голды!
- Benedikt#2580 — 80 голды!
- lucifer4RZ#2218 — 80 голды!
- Midnight#21309 — 80 голды!
- BJIaguMUP#2385 — 240 голды!
- StormFire#2118 — 160 голды!
- Dromok#21399 — 160 голды!
- ILyCH#2605 — 80 голды!
- Heyterj1#2686 — 80 голды!
- Галви#2490 — 160 голды!
- yelcin#2749 — 80 голды!
- lekvisitor#2928 — 240 голды!
- IvanWolf#2230 — 160 голды!
- Taridaks#2987 — 80 голды!
- LSDDope#2563 — 160 голды!
- forZe#21892 — 80 голды!
- Carti#2704 — 160 голды!
- zapadlo#2546 — 160 голды!
- Boommi#2851 — 320 голды!
- Игорёк#2151 — 160 голды!
- Vanosss#2441 — 160 голды!
- StrangerHT#2666 — 80 голды!
- erfapix#2776 — 80 голды!
- Boommi#2851 — 80 голды!
- Benedikt#2580 — 80 голды!
- IvanWolf#2230 — 80 голды!
- Amaringo#2209 — 80 голды!
- andremede#. — 80 голды!
Спасибо ВАМ за поддержку! :thank_you:
Hearthstone_11.0.23966_Low-End Mod.apk ( 31.37 МБ )
Hearthstone_11.0_cache_LEM_v2.7z ( 117.32 МБ )
Hearthstone_11.0_cache_LEM_patch_24118.7z ( 2.93 МБ )
Hearthstone PC 11.0 MixMod.7z ( 1.81 МБ )
Hearthstone_11.0.23966_mod.apk ( 38.14 МБ )
Hearthstone PC 11.1 MixMod.7z ( 1.81 МБ )
Hearthstone_11.1_mod.apk ( 38.13 МБ )
Hearthstone_11.1.24377_LEM.apk ( 36.39 МБ )
Hearthstone_11.1.1_LEM_v2.apk ( 31.35 МБ )
Hearthstone PC 11.1 MixMod fix.7z ( 1.81 МБ )
Hearthstone PC v11.1.1 MixMod.7z ( 1.8 МБ )
Hearthstone_11.1.1_LEM_v2_fixed.apk ( 31.35 МБ )
Hearthstone_v11.1_cache_LEM.7z ( 101.59 МБ )
Hearthstone_v11.1.1_cache_LEM_patch.7z ( 2.92 МБ )
Hearthstone PC v11.1.1 MixMod v2.7z ( 1.81 МБ )
Hearthstone_11.1.1_mod.apk ( 38.13 МБ )
Hearthstone v11.2 LEM.apk ( 38.73 МБ )
Hearthstone v11.2 cache LEM rev2.7z ( 104 МБ )
Hearthstone v11.2 ASTC (GLES 3.2).apk ( 38.73 МБ )
Hearthstone PC v11.2 MixMod.7z ( 1.85 МБ )
Hearthstone v11.2 mod.apk ( 42.71 МБ )
Сообщение отредактировал DeNcHiK6281505 — 30.11.21, 22:31
Источник