Как открыть файл level в юнити
Используйте Android API level 16 (Android OS 4.1) и выше.
Используйте iOS 10.0 и выше. Вы можете интегрировать Appodeal SDK в приложения с меньшим значением минимальной версии iOS. На устройствах, не поддерживающих iOS 10.0+, Appodeal SDK будет отключен.
Используйте XCode 12.5 или выше.
HIGH-LEVEL Integration steps:
Step 1: Import SDK
Step 2: Project configuration
Step 3: Initialize SDK
Step 4: Configure ad types
Используйте эти инструкции для интеграции Appodeal SDK c вашим приложением.
Используйте наше демо приложение в качестве примера.
1.1 Загрузите Appodeal Unity Plugin 2.14.5 который включает в себя новейший Android и IOS Appodeal SDK.
Appodeal Unity Plugin 2.14.5
1.2 Чтобы импортировать в проект Appodeal Unity Plugin, дважды щелкните по Appodeal-Unity-Plugin-2.14.5-11.11.2021.unitypackage , или перейдите в Assets → Import Package → Custom Package . Не снимая выделения со всех файлов в открывшемся окне, нажмите Import.
Используйте Appodeal SDK Manager для обновления до последней версии из Unity menu bar (Appodeal → Manage Appodeal SDK), поддерживается с Unity 2018.3 или выше. Больше информации найдете в нашем блоге.
2.1 Android конфигурация
1. Gradle настройки
Подготовьте Gradle сборки для Android 11
В Android 11 изменился способ запроса приложений и взаимодействия с другими приложениями, установленными пользователем на устройстве. По этой причине убедитесь, что вы используете версию Gradle, которая соответствует одной из перечисленных здесь .
- Перейдите в Player Settings → Publishing Settings и включите Custom Gradle Template флаг.
- Перейдите в Assets → Plugins → Android → mainTemplate.gradle, откройте файл и измените classpath 'com.android.tools.build:gradle:3.4.0' на 'com.android.tools.build:gradle:3.4.3'.
- Перейдите в Player Settings → Publishing Settings и включите Custom Base Gradle Template флаг.
- Перейдите в Assets → Plugins → Android → baseProjectTemplate .gradle, откройте файл и измените classpath 'com.android.tools.build:gradle:3.4.0' на 'com.android.tools.build:gradle:3.4.3'.
- Перейдите в Player Settings → Publishing Settings и включите Custom Base Gradle Template флаг.
- Перейдите в Assets → Plugins → Android → baseProjectTemplate.gradle, откройте файл и измените classpath 'com.android.tools.build:gradle:3.6.0' на 'com.android.tools.build:gradle:3.6.4 '.
2. External Dependency Manager (Play Services Resolver)
External Dependency Manager включен в плагин Appodeal. Для разрешения зависимостей в вашем проекте выполните следующие шаги:
- После импорта плагина в редакторе Unity выберите File → Build Settings → Android.
- Добавьте флаг Custom Gradle Template для Unity 2017.4 - Unity 2019.2 версий или Custom Main Gradle Template для Unity 2019.3 или выше (Build Settings → Player Settings → Publishing settings).
- Включите настройку - "Patch mainTemplate.gradle" (Assets → External Dependency Manager → Android Resolver → Settings).
- Включите настройку - "Use Jetifier" (Assets → External Dependency Manager → Android Resolver → Settings).
- Затем выберите Assets → External Dependency Manager → Android Resolver и нажмите Resolve или Force Resolve.
- В результате модули, которые необходимы для поддержки Appodeal SDK будут импортированы в mainTemplate.gradle вашего проекта.
3. Сконфигурируйте AndroidManifest.xml
Для корректной работы Appodeal SDK, вам нужно добавить разрешения в AndroidManifest.
Мы различаем 2 набора разрешений: необходимые разрешения, без которых Appodeal SDK не может работать, и дополнительные разрешения, необходимые для улучшения таргетинга. Для получения дополнительной информации о назначении каждого из разрешений см. Раздел часто задаваемых вопросов.
- Добавьте необходимые разрешения в файл AndroidManifest.xml под тэгом manifest :
Все необходимые теги для файла AndroidManifest.xml уже содержатся в плагине Appodeal для Unity.
Если вы не хотите использовать дополнительные разрешения, выберите Plugins → Android → appodeal.androidlib , откройте AndroidManifest.xml и удалите их.
Согласно политике Google , разрешения на определение местоположения могут запрашиваться только для предоставления функций, полезных для пользователя и имеющих отношение к основным функциям приложения. Вы не можете запрашивать доступ к данным о местоположении исключительно с целью рекламы или аналитики.
Если вы не используете местоположение для основных функций вашего приложения
- Удалите разрешение на местоположение в своем приложении, добавив следующий код в AndroidManifest.xml.
- Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о местоположении.
Если вы используете местоположение для основных функций своего приложения
- Заполните форму декларации разрешений на доступ к местоположению в Google Play Console. Вы можете узнать больше о форме декларации здесь.
- Обновите приложение в Google Play. В процессе публикации убедитесь, что в Google Play Console нет предупреждений о местоположении.
Некоторые сети и сторонние зависимости (связанные с сетевыми зависимостями) могут включать собственные разрешения для манифеста. Если вы хотите принудительно удалить такие разрешения, вы можете обратиться к этому руководству
4. Запрос разрешений в Android Marshmallow (API 6.0+)
Расширьте ваш класс , добавив IPermissionGrantedListener :
Вызовите следующий метод внутри метода Awake() того класса, который загружается первым: Теперь вы можете использовать следующие методы обратного вызова для управления запросами WRITE_EXTERNAL_STORAGE и ACCESS_COARSE_LOCATION в Android Marshmallow и более поздних версиях:5. Отключение проверки разрешений
Вы можете отключить проверку дополнительных разрешений, чтобы в журналах не отображалось, что разрешения не были предоставлены.
Обязательно добавьте Политику конфиденциальности к вашему приложению в Google Play, которая ссылается на Политику конфиденциальности Appodeal, чтобы избежать нарушения Google Play Developer Distribution Agreement.
6. Multidex поддержка
- Если вы используете Unity 2019.2 и версии ниже, вам нужно добавить поддержку multidex в ваш проект. Следуйте этому руководству, чтобы добавить Multidex.
- Если вы используете Unity 2019.3 версии или выше, в Player Settings → Publishing Settings → Other Settings установите Minimum API Level 21 или выше .
2.2 iOS конфигурация
1. Play Services Resolver
External Dependency Manager включен в плагин Appodeal. Для разрешения зависимостей в вашем проекте выполните следующие шаги:
1. После импорта плагина в редакторе Unity выберите File → Build Settings → iOS.
2. Во время сборки проекта модули, которые необходимы для поддержки Appodeal SDK, будут импортированы в ваш проект. Вы можете отредактировать их или добавить другие модули в файле Assets → Appodeal → Editor → AppodealAdapterDependencies.xml .
2. Добавление SKAdNetworkIds
Рекламные сети, используемые в медиации Appodeal поддерживают отслеживание конверсий с помощью Apple SKAdNetwork , что означает возможность отслеживания инсталлов в том случае, если IDFA недоступен. Для включения данного функционала вам необходимо обновить ключи SKAdNetworkItems добавив словарь(dictionary) в ваш Info.plist .
- Выберите фаил Info.plist в Project navigator вашего Xcode проекта
- Нажмите Add button (+) в поле key вашего списка свойств и нажмите Return
- Введите имя поля SKAdNetworkItems
- Выберите тип Array
- Введите пару ключ-значение где ключ - это SKAdNetworkIdentifier, и значение - это идентификатор рекламной сети
Ниже представлена таблица рекламных сетей, которые поддерживают SKAdNetwork атрибуцию и SKAdNetworks идентификаторы в формате Info.plist:
3. Сконфигурируйте настройки App Transport Security
Для предоставления рекламы, Appodeal SDK необходимо разрешение на произвольные загрузки. Добавьте следующие ключи в info.plist вашего приложения:
- В файле info.plist нажмите Add+ в любом поле первой колонки.
- Добавьте App Transport Security Settings key. В качестве его типа во второй колонке выберите Dictionary .
- Нажмите Add+ в конце строки App Transport Security Settings key и выберите Allow Arbitrary loads . Установите тип Boolean и значение Yes .
Вы можете добавить ключ непосредственно в файл info.plist с помощью следующего кода:
4. Дополнительные параметры
Следующие ключи помогут улучшить производительность рекламных СДК:
- GADApplicationIdentifier - Если в вашем проекте присутствует AdMob адаптер, вам необходимо добавить AdMob app ID в ваш info.plist . Используйте ключ GADApplicationIdentifier и в качестве значения используйте AdMob app ID вашего приложения.
- NSUserTrackingUsageDescription - Начиная с iOS 14 использование IDFA требует разрешения от конечного пользователя. Добавление описания поможет объяснить пользователю необходимость данного разрешения.
- NSLocationWhenInUseUsageDescription - Необходимо добавлять если ваше приложение позволяет Appodeal SDK использовать данные геолокации.
- NSCalendarsUsageDescription - Добавление данного ключа рекомендовано рекламными сетями.
Возможные неполадки
1. Ошибка в работе AdColony
AdColony [*** ERROR ***] : AdColony has ads, but could not display them. AdColony was unable to find the currently visible UIViewController for your app. Please ensure that your key UIWindow has a rootViewController .Это означает, что rootViewController , использованный в showAd не принадлежит к первому окну в списке.
2.3 Admob конфигурация
Только если используете Admob или A4G адаптер.
Добавьте Admob App Id в Unity Menu bar Appodeal → AdMob Settings для каждой платформы.
AdMob App ID - это уникальный идентификатор, присвоенный вашему приложению.
Чтобы найти AdMob App ID в своем аккаунте AdMob, перейдите в Apps → ваше приложение → App settings и скопируйте AdMob App ID.
Подробнее о синхронизации с Admob в FAQ.
Перед тем, как начать загрузку рекламы, вам необходимо инициализировать Appodeal SDK следующим образом:
1. Добавьте следующие пространства имен :
2. Д обавьте следующий код в метод Start() главной сцены MonoBehavior:
consentValue имеет булевое значени е, где 'false' означает, что пользователь отказался дать согласие на обработку персональных данных. Ознакомьтесь с нашим руководством для получения согласия тут. Замените YOUR_APPODEAL_APP_KEY на ключ вашего приложения.Используйте коды типов ниже, чтобы установить предпочтительный формат рекламы:
- Appodeal.INTERSTITIAL для полноэкранной рекламы;
- Appodeal.REWARDED_VIDEO для видео с вознаграждением;
- Appodeal.NON_SKIPPABLE_VIDEO для видео без возможности отключения;
- Appodeal.BANNER для банеров;
- Appodeal.MREC для банеров рамером 300*250.
Типы рекламы могут быть объединены при помощи оператора "|". Например, Appodeal.INTERSTITIAL | Appodeal.REWARDED_VIDEO.
Видео без возможности пропуска и видео с наградой за просмотр не могут быть использованы одновременно. Чтобы определиться, какой формат рекламного объявления выбрать, обратитесь к нашему разделу FAQ .
Appodeal SDK импортирован в ваш проект и вы готовы реализовать показ рекламы. Appodeal предоставляет множество рекламных форматов, вы можете выбрать те, которые наиболее оптимально подходят вашему приложению.
Полноэкранные объявления, содержащие статическое изображение или видео с возможностью пропуска.
Реализация полноэкранной рекламы
Традиционный рекламные объявления, которые занимают место сверху или снизу разметки приложения.
Объявления размером 300x250, которые отображаются внутри содержимого приложения.
Видео без возможности пропуска, которые пользователи должны посмотреть до конца, чтобы получить вознаграждение.
Такой инструмент, как Unity-профайлер, облегчает оптимизацию игры и предоставляет конкретные данные о её производительности. Вы можете получить покадровые показатели, посредством которых выявить проблемные места гораздо легче. Кроме того, профайлер предоставляет информацию об игровой производительности вне редактора.
Инструмент, безусловно, полезный, однако нужно учитывать, что его применение частично сказывается на производительности игры. И, чтобы повысить точность показателей производительности, следует создать билд для нужной платформы, а потом запустить вашу игру на целевом устройстве.
Если мы хотим активировать профайлер в приложении, следует в окне Build Settings (File→Build Settings) включить параметры Autoconnect Profiler и Development Build. После запуска приложения профайлер станет запускаться автоматически. Вдобавок к этому, вы можете подключить профайлер в Profiler Controls, используя выпадающий список в редакторе.
Итак, профайлер предоставит нам информацию о том, сколько времени нужно приложению на рендер каждого кадра, разбив это на память, рендер, работу процессора, физику, аудио, сеть и UI. Однако тут важно заметить, что не стоит сравнивать показания профайлеров разных Unity-версий. Дело в том, что различные архитектуры профайлеров отображают показания по-разному.
Выполняем профилирование в редакторе
Нельзя забывать о подводных камнях профилирования в редакторе. Например, большое количество открытых окон может привести к тому, что начнут проскакивать лаги. Мало того, даже рендер в самом редакторе порой даёт о себе знать. Именно поэтому очень важно хотя бы время от времени профилировать ваше приложение на целевом устройстве, не полагаясь лишь на данные из редактора.
Deep Profile
Это режим, в котором происходит отдельная запись вызовов каждого метода, в результате чего обеспечивается чёткое представление дерева методов. Тут следует вспомнить, что, начиная с Unity версии 2017.3, режим Deep Profile работает не только в редакторе, но также на Android и Desktop с применением бэкенда Mono.
Чтобы включить режим Deep Profile, задействуйте такой аргумент командной строки, как -deepprofiling . А если хотите включить данный режим на Android, вам подойдёт аргумент adb .
Профилируем память в редакторе
Процесс профилирования памяти в редакторе полезен для понимания общей модели памяти, однако малополезен для фактических показателей конкретных устройств. Здесь нужно отметить следующее: — во время выполнения у каждого меша флаг read/write установлен вне зависимости от значения Read/Write Enabled в настройках импорта ассета. В результате удваивается память мешей, отображаемая в профайлере; — процесс профилирования в редакторе отключает сжатие вершин (Vertex Compression); — при выполнении приложения в редакторе формируется больше временных данных в памяти. Тот же GetComponent при отсутствии компонента выделит под него временную память. В итоге Unity может выбросить исключение в редакторе, не сделав это в билде.
Статистика рендера
В Unity существует функция отображения статистики рендера в режиме реального времени (окно Game). Туда включены батчи draw calls, fps, применение VRAM, число вершин и треугольников. Чтобы включить слой статистики, нажмите на кнопку Stats, которая расположена на панели окна Game. Данная статистика поможет вам анализировать батчинг и GPU-производительность на основе количества вызовов отрисовки.
Статистика в окне Game:
Если нужна более детальная статистика рендера по каждому кадру, откройте вкладку рендера в профайлере:
На картинке выше заметно, что пустая сцена имеет пять вызовов SetPass и пять вызовов отрисовки.
На что тут следует обратить внимание: — число вызовов SetPass имеет важную роль, ведь оно плохо влияет на производительность. И число данных вызовов должно быть как можно меньше; — Draw calls (вызовы отрисовки) — параметр менее важный, если приложение не зависит от производительности процессора. Связано это с тем, что вызовы отрисовки выполняются в рендеринговом потоке, запускаемом на процессоре. Для снижения зависимости от производительности процессора можно использовать многопоточный рендеринг.
Вызовы отрисовки
Если говорить о частых вызовах отрисовки с похожими пайплайнами, то они влияют на производительность лучше, чем редкие вызовы с разными пайплайнами. При этом Unity кеширует одинаковые вызовы, в результате чего процесс отрисовки ускоряется. И Unity создаёт разные буферы для разных вызовов, что загружает графическую память.
Graphics Jobs и многопоточный рендер
Graphics Jobs (Player Settings) и многопоточный рендер в большинстве случаев позитивно влияют на производительность, однако в процессе отладки и профилирования ряд показателей может быть «размытым». Если интересует более точное профилирование, вам будет полезно глянуть на оптимизацию графики в Unity.
Кадровый отладчик
Остановить процесс игры на конкретном кадре и пройтись по основным событиям позволяет кадровый отладчик. Посредством его вы сможете проверить, каким образом Unity выстраивает сцену, что позволит вам прикинуть возможные способы оптимизации. Кроме того, отладчик указывает на те GameObject’ы, рендер которых необязателен. В принципе, вы можете отключить эти GameObject’ы, уменьшив количество вызовов отрисовки на один кадр.
Кадровый отладчик не показывает отдельные вызовы отрисовки, как не показывает он и разницу между ними. Зато он показывает сам процесс построения кадра. Лишь нативные GPU-профайлеры дают подробную информацию о вызовах отрисовки (как правило, привязанную ко времени). Ещё отладчик будет полезен при отладке пайплайна и батчинга (в особенности, если вы работаете с Unity UI). Впрочем, подробную информацию лучше смотреть в документации.
Профайлер памяти
Вот пример проекта, где демонстрируется применение профайлера памяти. Кстати, по нему тоже есть прекрасная документация. Ниже представлен снимок с профайлера памяти:
Этот инструмент отслеживает память, которая выделена подсистемами Unity и пользовательскими скриптами (до версии 2017.3). При этом профайлер не способен отслеживать выделение памяти из сторонних инструментов. Зато, начиная с Unity 2017.3, профайлер поддерживает отслеживание управляемых объектов в среде выполнения Mono scripting.
Подробнее о профайлере смотрите в официальной документации. Кстати, есть и толковое видео.
В этом окне вы можете работать с ассетами, которые находятся в вашем проекте.
Левая панель обозревателя отображает структуру папок проекта в виде иерархического списка. При выборе папки в этом списке с помощью клика мыши в панели справа отобразится её содержимое. Отдельные ассеты представлены в виде иконок, которые указывают их тип (скрипт, материал, подпапка и т.д.). Можно менять размер иконок с помощью слайдера в нижней части панели; можно заменить их на иерархический список полностью передвинув слайдер влево. Левее от слайдера выводится имя выбранного ассета и полный путь до него, если ассет быть найден с помощью поиска.
The individual assets are shown in the right hand panel as icons that indicate their type (script, material, sub-folder, etc). The icons can be resized using the slider at the bottom of the panel; they will be replaced by a hierarchical list view if the slider is moved to the extreme left. The space to the left of the slider shows the currently selected item, including a full path to the item if a search is being performed.
Над списком структуры проекта находится раздел Favorites (избранное), в котором вы можете хранить ссылки на часто используемые ассеты для быстрого доступа к ним. Вы можете перетаскивать элементы из структуры проекта и сохранять поисковые запросы (см. Поиск ниже) в Favorites.
Прямо над панелью находится навигационная цепочка, отображающая путь до просматриваемой папки. Можно кликать по отдельным элементам цепочки для удобной навигации по иерархии папок. Во время поиска вместо цепочки выводится область, в которой происходит поиск (корневая папка Assets, текущая выбранная папка, или Asset Store) вместе с количеством бесплатных и платных ассетов (разделённых косой чертой), найденных в Asset Store. В секции General окна настроек Unity можно отключить отображение количество найденных в Store ассетов, если они не требуются.
The ‘breadcrumb trail’ shows the path to the folder you are currently viewing
В верхней части окна находится панель инструментов обозревателя.
В левой части панели инструментов находится меню Create, позволяющее создавать новые ассеты и подкаталоги в текущей папке. В правой части находится набор инструментов для поиска ассетов в вашем проекте.
The Window menu provides the option of switching to a one-column version of the project view, essentially just the hierarchical structure list without the icon view. The lock icon next to the menu enables you to “freeze” the current contents of the view (ie, stop them being changed by events elsewhere) in a similar manner to the inspector lock.
In the top right corner, select the dropdown menu to change the view layout, and click on the lock icon to freeze the view
Поиск
Обозреватель имеет мощные возможности поиска, которые особенно полезны при поиске ассетов в большом или незнакомом проекте. Обычный поиск будет фильтровать ассеты согласно тексту, введённому в поле для поиска.
Если вы введёте более одного слова для поиска, например, coastal scene, движок найдёт ассеты, в именах которых встречаются оба слова “coastal” и “scene” (т.е. выражения для поиска логически умножаются оператором AND).
Справа от поля для поиска находятся три кнопки. Первая позволяет дополнительно отфильтровать найденные ассеты по типу.
Следующая кнопка позволяет отфильтровать ассеты по их метке (Label, метки ассету можно назначить в инспекторе). Так как количество меток само по себе может быть большим, в меню фильтрации по меткам есть своё небольшое поле для поиска.
Note that the filters work by adding an extra term in the search text. A term beginning with “t:” filters by the specified asset type, while “l:” filters by label. You can type these terms directly into the search box rather than use the menu if you know what you are looking for. You can search for more than one type or label at once. Adding several types will expand the search to include all specified types (ie, types will be ORed together). Adding multiple labels will narrow the search to items that have any of the specified labels (ie, labels will be ORed together).
Самая правая кнопка сохраняет текущие выражения для поиска с помощью добавления нового элемента в раздел Favorites над списком ассетов.
Поиск по Asset Store
Поиск обозревателя проекта также можно использовать для поиска ассетов, доступных в Unity Asset Store. Если вы выберите Asset Store из выпадающего меню навигационной цепочки, отобразятся все платные и бесплатные ассеты из магазина, которые подходят по вашим критериям поиска. Поиск по типу и метке тут работает так же, как и для обычного Unity проекта. Слова из поискового запроса будут искаться в таком порядке: имя ассета, имя пакета, метки пакета, описание пакета (так что элемент с искомыми словами в названии будет выведен выше, чем элемент с теми же словами в описании).
При выборе элемента из списка, в инспекторе отобразятся детали о нём и кнопки для покупки / скачивания. Для некоторых типов ассетов в этом разделе будет показан контент для предварительного просмотра, например, вы можете осмотреть 3D модель или прослушать аудио клип перед покупкой. Также инспектор позволят открыть ассет в обычном окне Asset Store для изучения дополнительных деталей.
Клавиши быстрого доступа
Следующие сочетания клавиш доступны в обозревателе, когда он в фокусе. Учтите, что некоторые из них работают только в режиме обозревателя с двумя колонками (вы можете переключать режимы между режимом с одной и режимом с двумя коронками в оконном меню, которое расположено в правом верхнем углу окна обозревателя).
Статей о взломе Ren'Py и Kiri-Kiri написано уже немало, но когда речь заходит о Unity—приходится не одну бессонную ночь провести в поисках информации по всей Сети. И чтобы Вы не тратили на это свое время, поделюсь результатом своих скитаний. Обычно много сил и времени тратить на взлом не нужно, но бывают всяческие подводные камни, так что считаю нужным охватить как можно больше из них и в этом нам поможет настоящий кладезь всевозможных палок в колеса--"A Light in the Dark". Итак, поехали!
Текст, графика и звук находятся в файлах с разрешением ASSETS, и для их извлечения нам понадобиться программа UnityEX:
- Нажимаем [Открыть архив Unity] и находим файл resources.assets.
- Из показанного списка выделяем файлы под перевод и щелкаем ПКМ->Извлечь выделенное. После таких манипуляций в директории <Название игры>/<Название игры>_Data появится папка Unity_Assets_Files со всеми извлеченными данными. Дело сделано, и теперь можно хорошенько поглумиться заняться редактированием файлов.
С запаковкой данных обратно также нет особых сложностей, главное чтобы папка Unity_Assets_Files лежала там же, где и resources.assets. Открываем в UnityEX архив и нажимаем [Запаковать все файлы]. Обычно этих манипуляций хватает чтобы увидеть в игре плоды своих стараний, но иногда все оказывается далеко не так просто…
А $46 Б $3C В $44 Г $55 Д $4C Е $54 Ж $3A З $50 И $42 Й $51
К $52 Л $4B М $56 Н $59 О $4A П $47 Р $48 С $43 Т $4E У $45
Ф $41 Х(-) $2D Ц $57 Ч $58 Ш $49 Щ $4F Ы $53 Ь $4D
Э(=) $3D Ю $3E Я $5A
а $66 б $2C в $64 г $75 д $6C е $74 ж $3B з $70 и $62 й $71
к $72 л $6B м $76 н $79 о $6A п $67 р $68 с $63 т $6E у $65
ф $61 х $5B ц $77 ч $78 ш $69 щ $6F ъ $5D ы $73 ь $6D э $27
ю $2E я $7A
- Осталось запаковать шрифт обратно в игру.
Здесь тоже придется извернуться. Дело в том, что все изображения хранятся в формате TEX, недоступном для привычных нам редакторов. Что же делать?
Способ №2
Нам понадобиться сразу две программы: Unity Studio и Assets Bundle Extractor. (Вообще можно обойтись и без Unity Studio, но в ней есть архиудобная функция предпросмотра)
Через Unity Studio экспортируем *.tex в *.jpg:
- Открываем resources.assets (File->Open File).
- Выделяем изображение
- После Export->Selected Assets получаем текстуру в формате PNG.
Редактировать такой файл можно без проблем. Если есть прозрачность—не забывайте о ней при сохранении (В Photoshop за это отвечает опция «Сохранить для Web и устройств» )
После внесенных изменений переходим к импорту через Assets Bundle Extractor :
- Открываем resources.assets.
- Выделяем текстуру и нажимаем [Plugins]->Edit.
- В появившемся окошке загружаем отредактированную текстуру нажатием кнопки [Load].
- Сохраняем (File->Save). Если Assets Bundle Extractor выдает ошибку—ничего страшного. Достаточно вместо перезаписи *.assets, сохранить его отдельным файлом и перенести в папку с новеллой.
Дело сделано. Запускаем новеллу, и любуемся проделанной работой.
Читайте также: