Интеграция двух проектов Unity в приложение Android - PullRequest
0 голосов
/ 27 сентября 2019

Я разрабатываю приложение для Android, и мне нужно интегрировать в него игры / экраны Unity.Я уже экспортировал и добавил одну сцену / проект Unity в свое приложение для Android, но не могу понять, как добавить две.

Я нашел два основных подхода к этому:

  1. Создатьдва отдельных проекта: если я сделаю это, они столкнутся либо в манифесте, либо в папке библиотеки / ресурсы, и в конечном итоге Unity вызовет только одну сцену.Для справки:

Как правильно импортировать несколько модулей единства в одном приложении для Android, чтобы избежать конфликта имен между различными модулями единства в Android Studio?

Я также попытался создать один проект Unity с несколькими сценами и использовать сообщения для вызова нужной сцены из Android.Для меня Android по-прежнему вызывает одну и ту же сцену независимо от того, какая кнопка нажата.Справка: https://stackoverflow.com/a/43224821/2617578

У кого-нибудь есть решение для этого?Любое из решений, упомянутых выше, будет хорошо для меня.

У меня есть опыт работы с Android, но я новичок в Unity, поэтому думаю, что я могу что-то не так делать в коде Unity.

У меня есть проекты Unity и приложения для Android, которые я создал для второго подхода в следующем репозитории git.

https://github.com/hadi-mehmood/AndroidUnityIntegrationSample

1 Ответ

0 голосов
/ 29 сентября 2019

Вот одно решение вашей проблемы:

Во-первых, все, что происходит внутри единства, - это одно действие .

  • Объедините два проекта единства и сделайтеразличные сцены для каждой из них
  • создают пустую loading сцену, которая начинается первой (с использованием unity BuildSettings) и ничего не делает
  • на сцене loading, напишите SceneLoader скрипт для ожидания команды для загрузки сцены мини-игры.
  • вы можете передать имя сцены, используя этот метод UnityPlayer. UnitySendMessage("Gameobject Name","Method","Message")
  • сразу после запуска Unity Activity, вызовите метод выше иэто должно сделать работу.

Пример SceneLoader:

public class MySceneLoader : MonoBehaviour
{

    private void LoadScene(string sceneName)
    {
        SceneManager.LoadScene(sceneName);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...