TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Flutter Pulse

29 Sep, 18:02

Открыть в Telegram Поделиться Пожаловаться

👣 Как встроить Unity игру во Flutter приложение

Flutter — это король интерфейсов, навигации и бизнес-логики. Но когда дело доходит до 3D, сложной физики или AR, он пасует. Зато здесь на сцену выходит Unity.

Многие команды мечтают объединить эти два мира: красивую Flutter-оболочку и мощную Unity-сцену внутри. Раньше это было болью: ручной экспорт библиотек, бесконечная правка
settings.gradle
, написание
method channels
и отдельная
UnityPlayerActivity
. Хрупко, долго и страшно обновлять.

Но времена меняются! Появился Game Framework — современный инструмент (преемник
flutter_unity_widget
), который автоматизирует весь этот процесс. Это CLI и SDK, которые превращают Unity-сцену в обычный Flutter-виджет с типобезопасным обменом сообщениями.

Как это работает?

1️⃣ Устанавливаем CLI через Homebrew:
brew tap xraph/tap
brew install game-cli
2️⃣ Добавляем пакеты в
pubspec.yaml
:
  gameframework: ^0.0.3
  gameframework_unity: ^0.0.4
3️⃣ Инициализируем плагин в
main()
:
UnityEnginePlugin.initialize();
4️⃣ Экспортируем Unity-проект одной командой:
game export unity --platform android,ios
5️⃣ Синхронизируем с Flutter-проектом:
game sync unity --platform android,ios
Эта команда сама подключает Gradle-модуль для Android и iOS-framework. Никакого ручного редактирования конфигов!

Unity как виджет

После синхронизации ваша 3D-сцена становится обычным виджетом:
GameWidget(
  engineType: GameEngineType.unity,
  onEngineCreated: (controller) => _controller = controller,
  onMessage: _onMessage,
  config: const GameEngineConfig(
    fullscreen: false,
    runImmediately: true,
    unloadOnDispose: true,
  ),
)
Обмен сообщениями

Flutter может отправлять команды в Unity:
await _controller?.sendMessage(GameManager, SetSpeed, 2.5);
await _controller?.sendJsonMessage(GameManager, UpdateScore, {
  score: 100,
  stars: 3,
});
А Unity может отправлять данные обратно через небольшой мост на C#. В Flutter эти сообщения приходят в обработчик
onMessage
.

Интеграция перестала быть рутиной. Проект бесплатный и с открытым исходным кодом. Если вы хотите добавить 3D или AR в свое приложение — обязательно посмотрите на этот инструмент! 🚀

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #unity #gamedev

242 0 8 1
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot