Подтвердить что ты не робот

Реагировать на коренных жителей с единством

Есть ли у кого-нибудь опыт объединения React Native и Unity? Я ищу, чтобы начать проект Unity, который очень UI Heavy, и я думаю об использовании React Native, чтобы воспользоваться возможностями своего интерфейса для мобильных устройств и Интернета.

Мне любопытно, каким будет рабочий процесс для такого подхода.

4b9b3361

Ответ 1

Наконец, после многих испытаний удалось это сделать. Это шаги.

  • 1) Используя эту ссылку, экспортируйте проект android для Gradle. Выберите Gradle в окне "Параметры сборки" и установите флажок "Экспорт проекта". Нажмите "Экспорт" и выберите папку назначения.
  • 2) Импортируйте созданную папку в студию Android. При появлении запроса выберите ok. В этом процессе вы столкнетесь с следующими проблемами.
  • 2a) Gradle Синхронизация сбой из-за проблем org.gradle.api.internal.tasks. Разрешите использовать ссылку
  • 3) Создайте приложение React Native, используя ссылку
  • 4) Начните Интегрировать экспортированную папку Android внутри созданного адаптивного родного приложения, используя ссылку . Не обновляйте Gradle, так как студия Android спросит вас снова и снова. Вы столкнетесь с следующими проблемами. Не проходите "Интеграцию теста", пока вы не закончите здесь # 5.
  • 4a) При настройке maven используйте этот url для maven url "$ rootDir/../ node_modules/react-native/android".
  • 4b) При настройке maven, если вы столкнулись с проблемой, связанной с javax.inject: javax.inject ". Используйте эту ссылку .
  • 4c) Вы также можете столкнуться с этой ошибкой "Conflict with dependency" com.google.code.findbugs: jsr305 ". Вы можете решить эту ссылку .
  • 4d) Во время раздела интеграции кода этой ссылки сосредоточьтесь на следующем разделе: Если вы используете стартовый комплект для React Native, замените строку "HelloWorld" на файл в файле index.android.js(его первый аргумент метода AppRegistry.registerComponent()). Здесь вам нужно заменить имя проекта.
  • 5) Прежде чем перейти в раздел "Тестировать интеграцию", вам нужно добавить код для вызова MyReactActivity из UnityActivity. Эта ссылка поможет.
  • 6) Перейдите в раздел "Проверьте свою интеграцию" ссылки, приведенной в № 4. Вы можете столкнуться с следующими проблемами.
  • 6a) не удалось загрузить script из активов index.android.bundle. Используйте ссылку .
  • 6b) не удалось подключиться к серверу разработки на Android. Используйте ссылку .

Ответ 2

Я не уверен, как игра Unity построена для iOS, если она использует Cocoa Touch для рендеринга своих основных классов.

Если это так, и у вас есть доступ или возможность визуализации UIViewController, вы можете отобразить свое приложение React Native. Единственное, что вам нужно облегчить, это установить связь между двумя приложениями.

Вот пример рендеринга собственного компонента пользовательского интерфейса внутри приложения React Native, которое может помочь. http://moduscreate.com/leverage-existing-ios-views-react-native-app/

Ответ 3

Мне также было любопытно, и я создал пример проекта, как это сделать для Android: https://github.com/marijnz/unity-react.

Если это жизнеспособный вариант, по крайней мере, зависит от:

  • Как долго проект будет запущен, как React, так и Unity должны быть обновлены, и с течением времени это становится более сложным.
  • Объем sdk/зависимостей проекта.
  • Если вы тоже хотите сделать iOS.

В общем, я бы, вероятно, избегал этого. Несмотря на то, что этот пример кажется довольно простым сейчас, было больно добраться до него (как уже называет Shaunak ответ;))