Обучающий проект HelloAR.
Для работы с этим проектом необходимо:
Hardware
- Устройство, поддерживающее ARCore
- Дата-кабель USB для подключения устройства к компьютеру
Software
- Unity 2017.4.34f1 или более поздней версии (Во время установки не забудьте включить опцию Android Build Support )
- ARCore SDK for Unity 1.16.0 или более поздней версии
- Android SDK 7.0 (API Level 24) или выше, которую можно установить из SDK Manager в Android Studio
Android SDK по умолчанию ставится в папку пользователя:
C:\Users\<USER>\AppData\Local\Android\Sdk
1. Скачиваем проект со страницы проекта ARCore SDK for Unity.
2. Создаём пустой проект
3. Запускаем файл arcore-unity-sdk-1.16.0.unitypackage — он должен автоматически открыться в Unity и нам предложат импортировать его в текущий проект:
4. Нажимаем на кнопку Import.
5. Устанавливаем дополнительные пакеты:
▶ ▶ ▶
▶ ▶ ▶
6. Загружаем сцену с примером:
▶ ▶ ▶ ▶ ▶
7. Изменим конфигурацию:
▶ ▶ ▶
8. Зайдём в настройки плеера:
▶ ▶
▶ ▶ ▶
▶ ▶ ▶ ▶
▶ ▶ [ ] ▶ (любое уникальное название в формате Java package)
▶ ▶ [ ] ▶ (или выше)
▶ ▶
9. На устройстве включить USB debugging и подключить его USB-кабелем к компьютеру
В какой-то момент у меня вывалилось в лог куча ошибок:
Assets\GoogleARCore\SDK\InstantPreview\Scripts\InstantPreviewManager.cs(33,23): error CS0234: The type or namespace name ‘SpatialTracking’ does not exist in the namespace ‘UnityEngine’ (are you missing an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(32,37): error CS0246: The type or namespace name ‘NetworkBehaviour’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(99,30): error CS0115: ‘AnchorController.OnStartClient()’: no suitable method found to override
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(46,10): error CS0246: The type or namespace name ‘SyncVarAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(46,10): error CS0246: The type or namespace name ‘SyncVar’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(46,18): error CS0246: The type or namespace name ‘hook’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(141,10): error CS0246: The type or namespace name ‘CommandAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\AnchorController.cs(141,10): error CS0246: The type or namespace name ‘Command’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\CloudAnchorsNetworkManager.cs(31,47): error CS0246: The type or namespace name ‘NetworkManager’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\CloudAnchorsNetworkManager.cs(49,46): error CS0246: The type or namespace name ‘NetworkConnection’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\CloudAnchorsNetworkManager.cs(73,49): error CS0246: The type or namespace name ‘NetworkConnection’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\CloudAnchorsNetworkManager.cs(49,30): error CS0115: ‘CloudAnchorsNetworkManager.OnClientConnect(NetworkConnection)’: no suitable method found to override
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\CloudAnchorsNetworkManager.cs(73,30): error CS0115: ‘CloudAnchorsNetworkManager.OnClientDisconnect(NetworkConnection)’: no suitable method found to override
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\LocalPlayerController.cs(30,42): error CS0246: The type or namespace name ‘NetworkBehaviour’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\LocalPlayerController.cs(46,30): error CS0115: ‘LocalPlayerController.OnStartLocalPlayer()’: no suitable method found to override
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\LocalPlayerController.cs(82,10): error CS0246: The type or namespace name ‘CommandAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Assets\GoogleARCore\Examples\CloudAnchors\Scripts\LocalPlayerController.cs(82,10): error CS0246: The type or namespace name ‘Command’ could not be found (are you missing a using directive or an assembly reference?)
Оказалось, что в п.5 помимо перечисленных там пакетов, нужно было доустановить пакет «AR Foundation».
Поскольку мой смартфон Xiaomi Mi5 не входит в список официально поддерживаемых устройств и я с помощью модуля Magisk активировал на нём поддержку ARCore, то при запуске проекта на экране просто высвечивалась подсказка на белом фоне, и изображение с камеры не транслировалось :(
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024