Unity配置Android开发环境与第一个Demo

Unity配置Android开发环境与第一个Demo

参照学习的资料

ARFoundation之路-环境配置(Android)

查看开发配置

Edit->Preferences->External Tools

如果像下图出现黄色警告,说明开发配置没有弄好

Unity配置Android开发环境与第一个Demo

导入Android开发插件

Windows->Package Manager->点击下拉框选择Packages:Unity Registry

找到ARCore XR Plugin和AR Foundation,点击右侧Install安装

Unity配置Android开发环境与第一个Demo

切换开发平台

File->Build Settings…打开设置窗口

选中”Android“,然后点击“Switch Platform”切换平台(因为我们最终程序要跑在Android手机上)

Unity配置Android开发环境与第一个Demo

设置开发环境

点击Player Settings…

  1. 在Company Name和Product Name文本框中分别填写公司名和产品名
  2. 删除Other Settings选项卡下的Vulkan,
  3. 设置ARCore兼容的Android最低版本,找到“Minimun API Level”选项,,点击其下拉菜单,选择“Android7.0‘nougat’(API level 24)”或以 上
  4. “Target API Level”的设置可以是Automatic(highest installed)
  5. XR plug-in Management中勾选ARCore

Unity配置Android开发环境与第一个Demo

Unity配置Android开发环境与第一个Demo

搭建基础框架

  1. 项目重命名:在Scenes工程文件夹下,重命名场景文件为“Test3”,与此项目同名

    Unity配置Android开发环境与第一个Demo

  2. 在 Projects 窗口 Assets 目录下新建 Prefabs、Scripts 两个文件夹,同时在 Hierarchy 窗口中删除 Main Camera(因为 ARFoundation AR Session Origin 只带有一个 AR 摄像机,Directional Light 可根据需要决定是否删除)

  3. 在 Hierarchy 窗口选中 AR Session Origin 对象,然后在 Inspector 窗口中点击 Add Component 按 钮,并在弹出的搜索中搜索“AR Plane Manager”(用于检测平面和管理平面的可跟踪对象管理器),并添加该组件

  4. 将 Project 窗口中 Prefabs 文件夹下的 AR Default Plane 拖到 AR Plane Manager 组件下的 Plane Prefab 属性框

    Unity配置Android开发环境与第一个Demo

  5. 在 Project 窗口 Scripts 文件夹下,空白处点击鼠标右键,在弹出的级联菜单中依次选择 Create – >C# Script,新建一个脚本文件,并命名为 AppController

    在这一步遇到的报错:这会影响到第六步cube中预制体的放置

    Can’t add script component ‘AppController’ because the
    script class cannot be found. Make sure that there are
    no compile errors and that the file name and class
    name match.

    Unity配置Android开发环境与第一个Demo

    解决方案:

    Unity3d 拖拽脚本报错Can’t add the script component “” because the script class cannot be found

  6. 经过以上步骤,整体 AR 应用框架已完全搭建起来了,最后,我们在 Hierarchy 窗口中制作一个 cube, 为其赋上红色材质,将其 Scale 缩放成(0.1,0.1,0.1),最后将其制作成 Prefab 并删除 Hierarchy 场景中 的 cube

    在这一步我遇到一个问题

    因为第五步的这个报错,在选中cube后的Inspector窗口下添加组件也找不到这个脚本

    Unity配置Android开发环境与第一个Demo

    最后一步,在 Hierarchy 窗口中选中 AR Session Origin,为其添加前面编写的 AppController 脚本 (可以使用 Add Component 在搜索框中搜索 AppController 添加,也可以直接把 AppController 脚 本拖到 AR Session Origin 对象上),并将上一步制作的 cube 拖到 AppController 脚本的 Spawn Prefab 属性框中。

    进入到脚本中把脚本类名更改与脚本文件名相同即可

    Unity配置Android开发环境与第一个Demo

    遇到的问题:如何改变物体的颜色

    解决方案:

    Unity改变物体颜色(添加材质Materials)

    1. 在Project目录下建一个Material文件
    2. 更改材质的颜色
    3. 将新材质拖到Cube上的Mesh Renderer下的Materials中的Element 0中

    Unity配置Android开发环境与第一个Demo

连接设备调试应用

  1. 连接设备必须保证是支持运行ARCore的,可通过官网信息查看更多信息,这里只列出支持AR的安卓(中国)设备

    https://developers.google.cn/ar/devices#android_china

    安卓(中国)

    在中国,设备不随 Google Play 商店提供。此处列出的 Android 设备通过适用于 AR 的 Google Play 服务支持 ARCore,该服务可作为单独的可从以下应用商店下载的服务获得:

  • 小米应用商店(小米应用商店)

  • 华为应用商店(华为应用商店)

  • OPPO APP Market(OPPO软件商店)

  • Samsung Galaxy Apps (三星应用市场)

  • V-Appstore(vivo应用商店)

    ARCore 支持在中国地区销售的这些设备:

制造商 设备型号 评论
Huawei Honor 10 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Huawei Honor Magic 2
Huawei Honor V20 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Huawei Maimang 7
Huawei Mate 20 支持深度API
Huawei Mate 20 Pro
Huawei Mate 20 X 支持深度API
Huawei Nova 3 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Huawei Nova 3i
Huawei Nova 4 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Huawei P20 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Huawei P20 Pro 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Huawei P30 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Huawei P30 Pro 支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p 支持深度API
Huawei Porsche Design Mate RS
Huawei Porsche Design Mate 20 RS
Oppo A53 5G
Oppo A93 5G
Oppo Find X3 支持深度API
Oppo Find X3 Pro 支持深度API
Oppo F19 Pro+ 支持深度API
Oppo K5 支持多种 GPU 纹理分辨率 - 1080p、720p、480p
Oppo K7x 支持深度API
Oppo K9 5G
Oppo Reno
Oppo Reno 10x Zoom 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Oppo Reno Ace 支持深度API
Oppo Reno Ace 2
Oppo Reno Z
Oppo Reno2 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
Oppo Reno2 Z 支持多种 GPU 纹理分辨率 - 1080p、720p、480p
Oppo Reno4 SE 5G 支持深度API
Oppo Reno5 5G
Oppo Reno5 K 5G
Oppo Reno5 Pro 4G
Oppo Reno5 Pro 5G 支持深度API
Oppo Reno5 Pro+ 5G 支持深度API
Oppo Reno6 Pro+ 5G
realme Q
realme Q2 Pro 5G
realme Q3 5G
realme X
realme X Lite
realme X2
realme X2 Pro
realme X3
realme X50 Pro Player
realme X7 5G
realme X7 Pro 5G
realme V5 5G
realme 真我V13 5G
realme 真我GT
realme realme GT Neo 支持深度API
Samsung Galaxy Note9
Samsung Galaxy S9 Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
Samsung Galaxy S9 Qualcomm 支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p 支持深度API
Samsung Galaxy S9+ Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
Samsung Galaxy S9+ Qualcomm 支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p 支持深度API
Samsung Galaxy S10e Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
Samsung Galaxy S10e Qualcomm 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Samsung Galaxy S10 Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
Samsung Galaxy S10 Qualcomm 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Samsung Galaxy S10+ Exynos 支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
Samsung Galaxy S10+ Qualcomm 支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
Samsung Galaxy S10 5G 支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API 支持飞行时间 (ToF) 硬件深度传感器
Vivo iQOO
Vivo iQOO 5 5G
Vivo iQOO 5 Pro 5G
Vivo iQOO Neo3 5G
Vivo iQOO U1
Vivo iQOO Z1x
Vivo NEX S
Vivo NEX 3 4G/5G
Vivo S7 5G
Vivo X23
Vivo X50 5G
Vivo X50 Pro
Vivo X50 Pro+
Vivo V2046A
Vivo V2047A
Vivo V2056A
Vivo Y51s
Vivo Y70s
Xiaomi Mi Mix 2S 支持多种 GPU 纹理分辨率 - 1920x1440、1280x960、480p
Xiaomi Mi Mix 3
Xiaomi Mi 8 SE
Xiaomi Mi 8 SE
Xiaomi Mi 9
Xiaomi Mi 10 Ultra
  1. 具体连接设备的方法详见汪祥春老师的博客ARCore之路-连接设备调试应用,照着做我并没有什么障碍,故不在记录

运行效果

  1. 连接好设备后,进入Build Settings中点击Build and Run

    Unity配置Android开发环境与第一个Demo

  2. 查看效果

    第一个Demo

    视频可见,默认的平面检测出的效果,平面是浅黄的,边界是黑色,而且有平面重叠,效果不是很好

上一篇:Unity中销毁游戏对象的方式


下一篇:Microsoft .NET Framework 修复工具