Android开发

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

本文主要是介绍Unity配置Android开发环境与第一个Demo,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

参照学习的资料

ARFoundation之路-环境配置(Android)

查看开发配置

Edit->Preferences->External Tools

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

image-20220108115627685

导入Android开发插件

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

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

image-20220108115708903

切换开发平台

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

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

image-20220108115928902

设置开发环境

点击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

image-20220112192400033

image-20220112192600826

搭建基础框架

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

    image-20220112193543594

  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 属性框

    image-20220108122049975

  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.

    解决方案:

    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窗口下添加组件也找不到这个脚本

    image-20220113100632676

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

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

    image-20220113101235905

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

    解决方案:

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

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

    image-20220113102446546

连接设备调试应用

  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 支持在中国地区销售的这些设备:

制造商设备型号评论
HuaweiHonor 10支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
HuaweiHonor Magic 2
HuaweiHonor V20支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
HuaweiMaimang 7
HuaweiMate 20支持深度API
HuaweiMate 20 Pro
HuaweiMate 20 X支持深度API
HuaweiNova 3支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
HuaweiNova 3i
HuaweiNova 4支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
HuaweiP20支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
HuaweiP20 Pro支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
HuaweiP30支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
HuaweiP30 Pro支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p 支持深度API
HuaweiPorsche Design Mate RS
HuaweiPorsche Design Mate 20 RS
OppoA53 5G
OppoA93 5G
OppoFind X3支持深度API
OppoFind X3 Pro支持深度API
OppoF19 Pro+支持深度API
OppoK5支持多种 GPU 纹理分辨率 - 1080p、720p、480p
OppoK7x支持深度API
OppoK9 5G
OppoReno
OppoReno 10x Zoom支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
OppoReno Ace支持深度API
OppoReno Ace 2
OppoReno Z
OppoReno2支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p
OppoReno2 Z支持多种 GPU 纹理分辨率 - 1080p、720p、480p
OppoReno4 SE 5G支持深度API
OppoReno5 5G
OppoReno5 K 5G
OppoReno5 Pro 4G
OppoReno5 Pro 5G支持深度API
OppoReno5 Pro+ 5G支持深度API
OppoReno6 Pro+ 5G
realmeQ
realmeQ2 Pro 5G
realmeQ3 5G
realmeX
realmeX Lite
realmeX2
realmeX2 Pro
realmeX3
realmeX50 Pro Player
realmeX7 5G
realmeX7 Pro 5G
realmeV5 5G
realme真我V13 5G
realme真我GT
realmerealme GT Neo支持深度API
SamsungGalaxy Note9
SamsungGalaxy S9 Exynos支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
SamsungGalaxy S9 Qualcomm支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p 支持深度API
SamsungGalaxy S9+ Exynos支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
SamsungGalaxy S9+ Qualcomm支持多种 GPU 纹理分辨率 - 2048x1536、1280x960、480p 支持深度API
SamsungGalaxy S10e Exynos支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
SamsungGalaxy S10e Qualcomm支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
SamsungGalaxy S10 Exynos支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
SamsungGalaxy S10 Qualcomm支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
SamsungGalaxy S10+ Exynos支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API
SamsungGalaxy S10+ Qualcomm支持多种 GPU 纹理分辨率 - 1440x1080、1280x960、480p 支持深度API
SamsungGalaxy S10 5G支持多种 GPU 纹理分辨率 - 1080p、720p、480p 支持深度API 支持飞行时间 (ToF) 硬件深度传感器
VivoiQOO
VivoiQOO 5 5G
VivoiQOO 5 Pro 5G
VivoiQOO Neo3 5G
VivoiQOO U1
VivoiQOO Z1x
VivoNEX S
VivoNEX 3 4G/5G
VivoS7 5G
VivoX23
VivoX50 5G
VivoX50 Pro
VivoX50 Pro+
VivoV2046A
VivoV2047A
VivoV2056A
VivoY51s
VivoY70s
XiaomiMi Mix 2S支持多种 GPU 纹理分辨率 - 1920x1440、1280x960、480p
XiaomiMi Mix 3
XiaomiMi 8 SE
XiaomiMi 8 SE
XiaomiMi 9
XiaomiMi 10 Ultra
  1. 具体连接设备的方法详见汪祥春老师的博客ARCore之路-连接设备调试应用,照着做我并没有什么障碍,故不在记录

运行效果

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

    image-20220113104135124

  2. 查看效果

    第一个Demo

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

这篇关于Unity配置Android开发环境与第一个Demo的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!