【AR增强现实】EasyAR图像追踪技术制作Demo并发布于APP

这篇具有很好参考价值的文章主要介绍了【AR增强现实】EasyAR图像追踪技术制作Demo并发布于APP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

话不多说,先看实现效果

easyar,《AR元宇宙》,ar,unity,c#

开发准备

以下为作者开发的环境,当然也可以使用更高的版本,尤其是EasyAR的版本可以选择更高的,因为这玩意儿版本迭代的太快了,而且更高版本所支持的手机型号更新,兼容性更强。

1 Unity Hub2020.3.33

下载地址  Unity所有版本下载 | Unity中国官网

2 EasyAR Sense Unity Plugin4.2

下载地址  下载-EasyAR官网

3 VScode

下载地址  Download Visual Studio Code - Mac, Linux, Windows

4 图片与3D模型(以下下载内容为本项目中使用的资源)

下载地址  Muryotaisu | 角色 | Unity Asset Store

工具下载

Unity Hub与Plugin下载

easyar,《AR元宇宙》,ar,unity,c#

 安装JDK和Android SDK模块,若电脑环境为IOS就使用IOS Build Support

easyar,《AR元宇宙》,ar,unity,c#

EasyAR SDK下载

easyar,《AR元宇宙》,ar,unity,c#

easyar,《AR元宇宙》,ar,unity,c#获取Sense License Key

easyar,《AR元宇宙》,ar,unity,c#

 登录后申请Sense许可证easyar,《AR元宇宙》,ar,unity,c#

稀疏空间矩阵在本项目中用不到,如果后续需要也可以申请。应用名称取啥都可以,但是Package Name必须要与自己创建的3D模板包一致(见开发步骤中第一步)

这里PackageName填错了,正确的应该是 com.DefaultCompany.EasyARdem1

easyar,《AR元宇宙》,ar,unity,c#

开发步骤

1 创建3D模板

注意:此时的Package name应当与所申请Sense许可证中填写的Package Name相一致

easyar,《AR元宇宙》,ar,unity,c#

2 将EasyAR SDK导入到环境中 

easyar,《AR元宇宙》,ar,unity,c#

 easyar,《AR元宇宙》,ar,unity,c#

 easyar,《AR元宇宙》,ar,unity,c#

3 配置EasyAR基本信息

easyar,《AR元宇宙》,ar,unity,c#

easyar,《AR元宇宙》,ar,unity,c#

 回到开发者中心获取Sense Lisense Keyeasyar,《AR元宇宙》,ar,unity,c#

4 导入3D模型与所需识别的图片

因为作者下载过该模型,所以可以直接在Unity中打开,若第一次下载与上述EasyAR SDK的导入方法一致

easyar,《AR元宇宙》,ar,unity,c#

easyar,《AR元宇宙》,ar,unity,c#

将模型放置于环境中easyar,《AR元宇宙》,ar,unity,c#

在Assets目录下创建一个StreamingAssets文件,将所后续所需识别的图片放置在该文件夹中

easyar,《AR元宇宙》,ar,unity,c#

 6  将Image Target与EasyAR_Image_Tracker文件放入工程中

easyar,《AR元宇宙》,ar,unity,c#

easyar,《AR元宇宙》,ar,unity,c#

 7 在ImageTarget对象中,将所需识别的图片放入Image Target Controller脚本中,当照片的名字输入正确后,场景中会自动出现所对应的照片

将Tracker对象设置为ImageTracker

easyar,《AR元宇宙》,ar,unity,c#

 8 在Easy_AR_ImageTracker对象中的AR Session脚本中的Center Target对象设置为ImageTarget

easyar,《AR元宇宙》,ar,unity,c#

 9 调整对象的位置与所需识别图片之间的距离 

easyar,《AR元宇宙》,ar,unity,c#

10  配置Camera的属性

easyar,《AR元宇宙》,ar,unity,c#

11 编写放缩与旋转脚本,实现用户对3D模型对象的交互

创建脚本

在文件夹中右击-->creat-->C#Script

easyar,《AR元宇宙》,ar,unity,c#

脚本代码如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class suofang : MonoBehaviour
{
    private Touch oldTouch1;  //上次触摸点1(手指1)
    private Touch oldTouch2;  //上次触摸点2(手指2)
    void Update()
    {
        //没有触摸,就是触摸点为0
        if (Input.touchCount <= 0)
        {
            return;
        }
        //单点触摸, 水平上下旋转
        if ( Input.touchCount ==1)
        {
            Touch touch = Input.GetTouch(0);
            Vector2 deltaPos = touch.deltaPosition;
            transform.Rotate(Vector3.down * deltaPos.x, Space.World);//绕Y轴进行旋转
            transform.Rotate(Vector3.right * deltaPos.y, Space.World);//绕X轴进行旋转,下面我们还可以写绕Z轴进行旋转
        }
        //多点触摸, 放大缩小
        Touch newTouch1 = Input.GetTouch(0);
        Touch newTouch2 = Input.GetTouch(1);
        //第2点刚开始接触屏幕, 只记录,不做处理
        if (newTouch2.phase == TouchPhase.Began)
        {
            oldTouch2 = newTouch2;
            oldTouch1 = newTouch1;
            return;
        }
        //计算老的两点距离和新的两点间距离,变大要放大模型,变小要缩放模型
        float oldDistance = Vector2.Distance(oldTouch1.position, oldTouch2.position);
        float newDistance = Vector2.Distance(newTouch1.position, newTouch2.position);
        //两个距离之差,为正表示放大手势, 为负表示缩小手势
        float offset = newDistance - oldDistance;
        //放大因子, 一个像素按 0.01倍来算(100可调整)
        float scaleFactor = offset / 75f;
        Vector3 localScale = transform.localScale;
        Vector3 scale = new Vector3(localScale.x + scaleFactor,
                                    localScale.y + scaleFactor,
                                    localScale.z + scaleFactor);
        //在什么情况下进行缩放
        if (scale.x >= 0.5f && scale.y <= 2f)
        {
            transform.localScale = scale;
        }
        //记住最新的触摸点,下次使用
        oldTouch1 = newTouch1;
        oldTouch2 = newTouch2;
    }
}

将脚本对象拖放于模型上

easyar,《AR元宇宙》,ar,unity,c#

文件导出

文件导出为apk格式,可直接在手机上运行

1 设置导出格式,勾选ARM64和IL2CPP是为了提高该项目与手机环境的兼容性

easyar,《AR元宇宙》,ar,unity,c#

 easyar,《AR元宇宙》,ar,unity,c#

easyar,《AR元宇宙》,ar,unity,c#

2 将电脑调试转换成安卓平台

easyar,《AR元宇宙》,ar,unity,c#

3 电脑和手机通过USB进行连接,随后在Run Device选项中选择自己的手机,点击Buile and Run即可

easyar,《AR元宇宙》,ar,unity,c#

 4 如果每次调试通过这种方式还是比较麻烦的,其实只要第一次在Build setting中设置好格式后,之后在文件中直接点击Build and Run即可快速调试

5 成功运行后在手机桌面上会有该项目的软件

easyar,《AR元宇宙》,ar,unity,c#

运行结果

easyar,《AR元宇宙》,ar,unity,c#

本项目中的手势交互为用户触屏,还有一个更符合AR体验的方式,即隔空手势交互,可参考下述文章

【AR隔空手势交互】Unity中基于Manomotion实现隔空手势交互_北村南的博客-CSDN博客_unity 手势交互

AR增强现实系列

🔥 EasyAR制作APP AR项目

🔥 Manomotion实现隔空手势交互

🔥 Kivicube制作微信小程序AR项目文章来源地址https://www.toymoban.com/news/detail-767095.html

到了这里,关于【AR增强现实】EasyAR图像追踪技术制作Demo并发布于APP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python中的增强现实(AR)技术和应用

    增强现实(AR)是一种技术,它允许用户在真实环境中与虚拟物体进行交互。在Python中实现AR应用通常涉及使用专门的AR库和框架,这些库和框架提供了创建和渲染虚拟内容的工具。 一个流行的AR框架是ARKit(对于iOS设备)和ARCore(对于Android设备),但这些框架主要是用原生语

    2024年03月21日
    浏览(42)
  • 增强现实:AR技术在智能家居领域的应用

    作者:禅与计算机程序设计艺术 近年来,智能手机、平板电脑、可穿戴设备等新型计算平台带动了全新的互联网技术革命,其中增强现实(AR)技术则是其中的重要分支。AR 是一种通过虚拟现实技术制作出真实世界的三维信息图形的方法,旨在增强人类感官与直观认识能力,并

    2024年02月13日
    浏览(48)
  • 增强现实技术的应用场景:从游戏到教育,探索AR在不同领域的潜力

    增强现实(Augmented Reality,AR)是一种将数字信息与现实世界相结合的技术,使用户能够与现实环境中的物体进行互动。这种技术已经在许多领域得到了广泛应用,包括游戏、教育、医疗、工业等。在本文中,我们将探讨AR在不同领域的潜力,以及它如何为用户带来更好的体验。

    2024年04月15日
    浏览(43)
  • 【EasyAR实战项目】图像追踪+触屏交互

    话不多说,先看实现效果 以下为作者开发的环境,当然也可以使用更高的版本,尤其是EasyAR的版本可以选择更高的,因为这玩意儿版本迭代的太快了,而且 更高版本所支持的手机型号更新 ,兼容性更强。 1 Unity Hub2020.3.33 下载地址  Unity所有版本下载 | Unity中国官网 2 EasyAR

    2024年02月07日
    浏览(72)
  • 虚拟现实(VR)和增强现实(AR)

    虚拟现实(Virtual Reality,VR)和增强现实(Augmented Reality,AR)是两种前沿的计算机技术,它们正在改变人们与数字世界的互动方式。虚拟现实创造了一个计算机生成的全新虚拟环境,而增强现实则将虚拟元素叠加到真实世界中。 虚拟现实通过利用头戴设备(如VR头显)和追踪

    2024年02月10日
    浏览(56)
  • 数字孪生在增强现实(AR)中的应用

    数字孪生在增强现实(Augmented Reality,AR)中的应用可以提供更丰富、交互性更强的现实世界增强体验。以下是数字孪生在AR中的一些应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.实时信息叠加: 数字孪生可以与AR技术

    2024年01月16日
    浏览(40)
  • AR宇航员互动体验软件:虚拟与现实叠加增强体验感

    随着科技的不断发展,人们对太空探索的兴趣和热情也越来越高涨。为了满足人们对太空探索的渴望, 广州华锐互动 研发了 宇航员AR模拟体验软件 ,这种软件可以让用户身临其境地体验太空探索的过程,提供一种全新的、令人兴奋的太空探索新体验。 宇航员AR模拟体验软件

    2024年02月11日
    浏览(73)
  • 关于出版《AR Foundation增强现实开发实战(ARKit版)》(2023-04-05更新)

    感谢各位读者的支持,书籍目前已上市各大电商平台。 ----------- 2022年9月11日创建 ---------   ARKit是苹果公司在前沿科技领域的重大技术布局,也是目前移动领域AR应用开发引擎标杆。得益于良好的软硬件生态整合,ARKit运动跟踪稳定性好、性能消耗低、功能特性丰富,利用它

    2023年04月09日
    浏览(47)
  • 探索未来:直播实时美颜SDK在增强现实(AR)直播中的前景

    在AR直播中,观众可以与虚拟元素实时互动,为用户带来更加丰富、沉浸式的体验。那么,直播美颜SDK在AR中有哪些应用呢?下文小编将于大家一同探讨美颜SDK与AR有哪些关联。 一、AR直播与直播实时美颜SDK的结合 增强现实技术在直播中的应用,让用户不仅可以观看主播的实时

    2024年02月13日
    浏览(44)
  • ARToolKitPlus是一个开源的Python库,用于实现增强现实(AR)应用程序

    ARToolKitPlus是一个开源的Python库,用于实现增强现实(AR)应用程序。它提供了一组工具和API,使开发人员能够轻松地创建AR应用程序,并与各种AR硬件设备集成。 要开始使用ARToolKitPlus,您需要安装它。您可以使用pip来安装ARToolKitPlus: ```shell pip install artoolkitplus ``` 一旦安装完成,

    2024年02月04日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包