Интеграция Unity с Eclipse - как следовать инструкциям" официального " учебника?
Я прочитал всю документацию, которую я нашел о том, как интегрировать проекты Unity3D, предназначенные для Android, в eclipse. Причина, по которой я хочу это сделать, заключается в том, чтобы иметь возможность вызывать активность Unity3D в моем собственном "нормальном" приложении для Android.
Ну, я попытался следовать шагам перечислены в этом руководстве. Используя все комбинации, которые я могу себе представить, я сделал следующее:
я использовал проект Unity Android и построил его (в Единство IDE), затем скопировал
/Temp/StagingArea/
папку в другое место.Я создал новый проект Android, используя create из существующих источников, установка местоположения
StagingArea
копировать папку. Это было бы проект библиотеки Android. Проверьте "is Library" на свойствах - > Андроид.опять же, я создаю проект Android, импортирую ранее созданный Проект библиотеки Android и
classes.jar
.I движение на
asset
содержимое папки из проекта Библиотеки Проект "активность". Он имеет две подпапки,bin
иlibs
.изменить активность направить
UnityPlayerActivity
и удалите строку setContent метода onCreate. Изменить пакет для соответствия идентификатору пакета Unity Player.добавьте соответствующие строки для манифеста, в основном те, которые находятся на библиотека проект.
таким образом, все компилируется без ошибок, и я могу запустить проект, показывает заставку, а затем черный экран, воспроизводя звуки моей сцены единства правильно. На чтение logcat показывает следующие ошибки:
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.415: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.415: I/Unity(2299): StopQCAR
01-26 16:51:46.415: I/Unity(2299): UnityEngine.Debug:Internal_Log(Int32, String, Object)
01-26 16:51:46.415: I/Unity(2299): UnityEngine.Debug:Log(Object)
01-26 16:51:46.415: I/Unity(2299): UnityEngine.MonoBehaviour:print(Object)
01-26 16:51:46.415: I/Unity(2299): TrackerBehaviour:StopQCAR()
01-26 16:51:46.415: I/Unity(2299): TrackerBehaviour:OnApplicationPause(Boolean)
01-26 16:51:46.415: I/Unity(2299):
01-26 16:51:46.415: I/Unity(2299): (Filename: /Applications/buildAgent/work/842f9557127e852/Runtime/Export/Generated/UnityEngineDebug.cpp Line: 34)
01-26 16:51:46.425: D/dalvikvm(2299): Trying to load lib /data/data/es.fundacionvf.unity.gps/lib/libQCARWrapper.so 0x40515a38
01-26 16:51:46.425: E/Unity(2299): Unable to find QCARWrapper
01-26 16:51:46.425: I/Unity(2299): DllNotFoundException: QCARWrapper
01-26 16:51:46.425: I/Unity(2299): at (wrapper managed-to-native) TrackerBehaviour:stopTracker ()
01-26 16:51:46.425: I/Unity(2299): at TrackerBehaviour.StopQCAR () [0x00000] in <filename unknown>:0
01-26 16:51:46.425: I/Unity(2299): at TrackerBehaviour.OnApplicationPause (Boolean pause) [0x00000] in <filename unknown>:0
просто упомянуть... прочитайте эти два вопроса SO:1 и 2. Они, похоже, преуспели, поэтому можно достичь следующих шагов (или аналогичных).
Я также нашел полезным эта тема на форуме Unity3D, который в основном описывает тот же процесс более четко.
кто-нибудь испытал эту проблему? Любое предложение или альтернатива?
С уважением.
3 ответов
для тех, кто наткнулся на это, интеграция Unity3d в проект Android eclipse была нарушена в предыдущей версии (3.5)!
использование более новой версии Unity (успешно протестировано с 3.5.2) все работает отлично снова после эти шаги.
Если вы хотите определить свою собственную активность или использовать Unity внутри фрагмента, вы можете использовать класс UnityPlayer напрямую. Для этого вы можете взглянуть на [UNITY_INSTALLATION]\Editor\Data\PlaybackEngines\androidplayer\src\com\unity3d\player как говорится в Форум Единства.
или просто попробуйте этот код, который работал для нас:
UnityPlayer mPlayer = new UnityPlayer(getActivity()); // Put your activity object here
int glesMode = mPlayer.getSettings().getInt("gles_mode", 1);
boolean trueColor8888 = false;
mPlayer.init(glesMode, trueColor8888);
// Get the view - e.g. to return from the fragment method onCreateView:
View view = mPlayer.getView();
Update: первая ссылка больше не доступна на странице поддержки unity3d, но запись форума также содержит все необходимые шаги!
Я сталкиваюсь с тем же самым. найдено, что еще некоторые связанные с qcar вещи необходимы поверх интеграции проекта unity. в основном это связывание библиотек Qcar и изменение действий манифеста. посмотрите здесь https://ar.qualcomm.at/arforums/showthread.php?t=1243
однако не помогает мне много. все еще получаю ту же ошибку. немного застрял.
есть еще одна страница, на которой задается этот вопрос. Они утверждают, что получили ответ на форумах qualcomm, отличный от приведенного выше:не удалось найти QCARWrapper