Buffer icon Проекты

Emoji в Unity

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

Как добавить поддержку эмоджи в Unity? К сожалению, решения из коробки нет. Но есть самый лучший ассет для работы с текстом Text Mesh Pro. Да, он не дешевый, но он этого стоит. Может когда-нибудь Unity его купит, и это будет стандартным решением, как они сделали с Anima2D.

В версии TMP, которая скоро должна пойти в релиз, разработчик добавил поддержку Emoji. Точнее, можно делать свои атласы, юникод эмоджи будет автоматически заменяться на картинку. Чтобы были доступны все эмоджи, нужен большой атлас. Я использовал EmojiOne. Также понадобится одна отличная программа — TexturePacker и расширение для Unity TexturePacker Importer.

  1. Загружаем все эмоджи в программу и экспортируем в формат Unity — Texture2D sprite sheet.
  2. После этого меняем Data format на JSON (Array) и делаем экспорт еще раз.
  3. Теперь полученные три файла: Emoji.png, Emoji.json и Emoji.tpsheet загружаем в Unity.

Осталось с помощью TMP Sprite Importer сгенерировать атлас для Text Mesh Pro. В результате, на iOS и Android можно использовать эмоджи.

Поделиться
Отправить
Запинить
Отправить
 3121   2017   android   ios   unity   интерфейс
3 комментария
Александр 2017

Добрый день. Отличная статья. Вопрос: для чего нужен файл «Emoji.tpsheet». Два метода генерируют разную текстуру png и tpsheet перестает работать, или я ошибаюсь. А в итоге сам asset создается из json+png

Игорь Лопатин 2017

При импорте в Unity, плагин TexturePacker Importer смотрит этот файл и разбивает спрайты в атласе по нужным координатам.

Валерий Моргун 2017

Здравствуйте! Спасибо за Ваш туториал. Подскажите, а как быть со смайликами, которые состоят из двух частей, к примеру: 1f1fa-1f1e6 — флаг Украины?

Игорь Лопатин 2017

Здравствуйте! Пока это невозможно, автор TextMeshPro не добавил в плагин модификаторы. Когда добавит — всё будет работать как положено.

Neura Link 2017

Спасибо за статью!

Популярное