0基础小白用unity+vuforia实现AR随机抽卡/盲盒功能

这篇具有很好参考价值的文章主要介绍了0基础小白用unity+vuforia实现AR随机抽卡/盲盒功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity+Vuforia实现海洋动物随机AR盲盒

目录

Vuforia

一、在vuforia上注册许可证

二、添加识别目标图像数据

三、搭建AR程序

四、随机盲盒的进阶AR程序


Vuforia

这是一种AR平台,由PTC公司开发,允许开发人员在线完成图像数据处理,支持识别单个或多个图片(image target)、圆柱形图案(Cylinder)、多边形图案(Multi)、模型(Object)。不需要编程知识也能轻松实现基础的AR效果。

一、在vuforia上注册许可证

1、打开https://developer.vuforia.com/vui/auth/login,邮箱注册并登录
unity 制作抽卡模拟器,unity,游戏引擎,ar2.点击 Get Basic
unity 制作抽卡模拟器,unity,游戏引擎,ar 3.自定义填写许可证名字(license Name),勾选复选框,点击confirm
unity 制作抽卡模拟器,unity,游戏引擎,ar4.此时出现了刚刚申请的许可证,并点击此行
unity 制作抽卡模拟器,unity,游戏引擎,ar5.恭喜获得AR敲门砖——许可证密码(复制保存备用)
unity 制作抽卡模拟器,unity,游戏引擎,ar

二、添加识别目标图像数据

1、点击Target Manager,点击Add Databaset
unity 制作抽卡模拟器,unity,游戏引擎,arunity 制作抽卡模拟器,unity,游戏引擎,ar

2.点击新添加的数据库
unity 制作抽卡模拟器,unity,游戏引擎,ar3.点击Add target
unity 制作抽卡模拟器,unity,游戏引擎,ar4.选择的需要扫描识别的目标类型,上传相关内容,点击添加
 (图片要求:Only 8 bit gray scale or 24 bit RGB of file type JPG or PNG are allowed.最大不超过2Mb。尽可能选择特征明显的图片)

unity 制作抽卡模拟器,unity,游戏引擎,ar

5.点击先添加的数据库,可以查看它识别的特征点。(Rating评分越高,代表越容易识别成功)
如果你需要同时识别多个图像,那么你需要在这个数据库添加多个图像数据库,如图添加了图片1和图片2
unity 制作抽卡模拟器,unity,游戏引擎,ar6.下载数据库:点击Download Database---选择unity editor----Download
你可以勾选特定的图片,再点击下载。如果你需要识别多张图片,务必全部勾选上,或直接download all。
unity 制作抽卡模拟器,unity,游戏引擎,ar

至此,vuforia网站上的所有准备工作已就绪,接下来打开unity,新建3d project

三、搭建AR程序

1.点击顶部菜单栏window---package Manager---在右上方搜索栏搜索Vuforia Engine AR(注意:我用的是unity2019.4.31f1c1版本,其他版本可能会搜索不到)----点击右下角install
unity 制作抽卡模拟器,unity,游戏引擎,ar

2.安装好后,点击左边Hierarchy侧栏下的“+”号,会出现Vuforia Engine---点击AR Camera
 

unity 制作抽卡模拟器,unity,游戏引擎,ar

3.同样的位置Vuforia Engine---点击Image,我们添加一个需要识别的图像(你需要识别多少个就添加多少个,或者复制也可以),添加好后Hierarchy和scene都会出现对应的物品。在Hierarchy双击,画面会放大对应物品。
unity 制作抽卡模拟器,unity,游戏引擎,ar

4.点击AR Camera,在右侧属性栏中点 Open Vuforia Configuration,把之前在Vuforia网站上获取的一串许可证密码(见一、5)粘贴在对应位置。如果你需要同时识别多个图形,还需在同一面板下方修改识别的最大数量(如图)

unity 制作抽卡模拟器,unity,游戏引擎,arunity 制作抽卡模拟器,unity,游戏引擎,ar

 5.将之前在Vuforia网站上下载的图像数据库包导入unity,点击import
unity 制作抽卡模拟器,unity,游戏引擎,arunity 制作抽卡模拟器,unity,游戏引擎,ar

6.此时再点击左方的image target,右侧属性栏中的Database就可以选择你导入的图片数据库,在Image Target中选择你需要的图片
 

unity 制作抽卡模拟器,unity,游戏引擎,ar

7.添加识别需要生成的模型
举一个简单的例子:如果需要生成系统自带的几何体模型,则在Hierarcht下的“+”号点击3D object---选择你想要添加的几何体。点击生成的几何体,可以在右侧Transform那里调整位置,大小,角度。(在场景中显示模型和图像的相对大小和位置就是实际扫描后的情况)
unity 制作抽卡模拟器,unity,游戏引擎,arunity 制作抽卡模拟器,unity,游戏引擎,ar
假如你需要显示其他的模型,首先将模型导入unity(方法和导入图像数据库一样,拖入unity下方project库就可以,但是注意是否有关闭演示),然后找到prefab文件(是模型或者绑定了动画的模型),拖进场景中即可,后续步骤与上述相同。

8.最关键的一步:将cube拖入Image Target中,使Image Target成为它的子物体,就大功告成啦,点击上方的播放按键,就会打开电脑摄像头,放置你设置的目标图案,就可以看见对应的模型啦。如果预设模型有绑定动画的话,扫描后也会动噢。(注意:任何操作只有关闭演示的状态下改变才会有效,就是再点击一下播放按钮)

unity 制作抽卡模拟器,unity,游戏引擎,ar

unity 制作抽卡模拟器,unity,游戏引擎,ar

恭喜你完成了入门操作,现在我们来做一个随机盲盒的进阶AR程序:

四、随机盲盒的进阶AR程序

首先我们先来了解一下基础的知识点:每一个物体的主要功能都是由一个个组件进行控制,比如transform组件控制它的大小,角度,位置。animator组件控制它的动画,而sripts(脚本)是用来控制物体更复杂的功能

基础准备:按照上述教程把许可证密码和图像数据库准备好并导入unity

1、点击你需要识别的目标图像,右键右边属性栏中的Default Trackable Event Handler,点击Remove Component。(删除这个脚本)
unity 制作抽卡模拟器,unity,游戏引擎,ar

2、在右侧属性栏中点击Add Component---输入script---点击New script---输入tryaha(脚本名字,可以自己换一个)---点击Creat and Add

unity 制作抽卡模拟器,unity,游戏引擎,ar

unity 制作抽卡模拟器,unity,游戏引擎,ar

 3、在project处双击打开刚刚新建的脚本,输入代码(我这里是用visual studio打开的,前提是你安装unity的时候有安装visual studio,没装的可以去unityhub中补充下载,这个写代码会更方便一些。)
unity 制作抽卡模拟器,unity,游戏引擎,ar

using UnityEngine;
using Vuforia;

public class tryaha : MonoBehaviour, ITrackableEventHandler
{
    public GameObject[] objects;  // 要在跟踪目标上显示的模型数组
    private GameObject activeObject;                 // 当前活动的模型
    private TrackableBehaviour trackableBehaviour;   // Vuforia跟踪器

    private void Start()
    {
        // 获取Vuforia的TrackableBehaviour并注册事件处理程序
        trackableBehaviour = GetComponent<TrackableBehaviour>();
        if (trackableBehaviour != null)
            trackableBehaviour.RegisterTrackableEventHandler(this);
    }

    private void OnDestroy()
    {
        // 解除事件处理程序的注册
        if (trackableBehaviour != null)
            trackableBehaviour.UnregisterTrackableEventHandler(this);
    }

    public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus)
    {
        if (newStatus == TrackableBehaviour.Status.DETECTED ||
            newStatus == TrackableBehaviour.Status.TRACKED ||
            newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
        {
            // 找到了跟踪目标
            Debug.Log("Trackable " + trackableBehaviour.TrackableName + " found");
            OnTrackingFound();
        }
        else
        {
            // 丢失了跟踪目标
            Debug.Log("Trackable " + trackableBehaviour.TrackableName + " lost");
            OnTrackingLost();
        }
    }

    private void OnTrackingFound()
    {
        // 首先清除前一个模型
        OnTrackingLost();

        // 随机选择一个模型并将其放置在跟踪目标下方
        int index = Random.Range(0, objects.Length);
        activeObject = Instantiate(objects[index], trackableBehaviour.transform);
        activeObject.transform.localPosition = Vector3.zero;
        activeObject.transform.localRotation = Quaternion.identity;
        activeObject.SetActive(true);
    }

    private void OnTrackingLost()
    {
        // 如果有一个模型正在显示,则销毁它
        if (activeObject != null)
        {
            Destroy(activeObject);
            activeObject = null;
        }
    }
}

 4、在unity中,点击要识别的图像,在右侧面板中的tryaha中,size代表要随机的模型数量,将需要随机出现的模型预设一个个从project拖入场景中,同时,也把这些模型一个个拖入Element中。
unity 制作抽卡模拟器,unity,游戏引擎,ar

5、选中这些模型,在面板中取消勾选,这样运行的时候才会识别到目标图像之后才出现。大功告成啦,试试运行看看!
unity 制作抽卡模拟器,unity,游戏引擎,ar

 PS:此方法不一定是最优解,欢迎各位大佬评论讨论、纠错

创作不易,如果有帮助的话希望得到您的点赞收藏,支持一下噢!文章来源地址https://www.toymoban.com/news/detail-809449.html

到了这里,关于0基础小白用unity+vuforia实现AR随机抽卡/盲盒功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Vuforia+Unity】AR02-长方体物体识别

      选择多维长方体图,这个长方体是生活中的真实物体的拍摄图,提前把6个面拍摄好并裁剪干净。 官网创建模型 https://developer.vuforia.com/targetmanager/project/targets?projectId=0ddbb5c17e7f4bf090834650bbea4995av=false  设置长宽高,这个长宽高需要与真实物体的长宽保持一样的比例 提前处理好

    2024年02月21日
    浏览(33)
  • Unity Vuforia 输出时报错 AR输出报错

    Unity Vuforia 输出时报错 AR输出报错 全英文路径改过了,还有什么会引起输出报错

    2024年02月03日
    浏览(35)
  • 【Vuforia+Unity】AR06-空间环境识别功能(AreaTargets)

    Vuforia原理: 把被识别的物体转成图、立体图、柱形图,3D模型、环境模型,然后模型生成Vuforia数据库-导入Unity-参考模型位置开始摆放数字内容,然后参考模型自动隐藏-发布APP-识别生活中实物-数字内容叠加上去!   不论你是否曾有过相关经验,只要跟随本文的步骤,你就

    2024年04月15日
    浏览(45)
  • 盲盒抽卡机小程序——开启神秘之旅!

    亲爱的朋友们,欢迎来到盲盒抽卡机小程序!这里,是一个充满神秘与惊喜的世界,让你随时随地体验抽卡的乐趣。在这里,你可以轻松尝试各种盲盒,发现隐藏的宝藏,感受心跳加速的刺激。 【丰富多样的盲盒选择】 我们的盲盒抽卡机小程序拥有丰富多样的盲盒选择,涵

    2024年03月10日
    浏览(77)
  • 【01】如何在Unity 中 安装 Vuforia Engine AR 插件?(附加检验安装成功方法)

    【检验安装成功的方法请看文末】 1.先点击Window——Package Manager 如图所示: 2.进入后,耐心等待!!(切记!此时得有网络), 此图表示正在加载 往下滑动寻找【Vuforia Engine AR】 下滑后选择【Vuforia Engine AR】,再点击Install 如图所示: 3.此时Unity会弹出导入框 下图表示正在导

    2024年02月05日
    浏览(85)
  • [Unity/AR]使用vuforia开发项目时无法调用电脑前置摄像头怎么办?

    我当时试了一万种方法,经过无数漫长黑夜的折磨 我发现,就是装unity的时候加了中文路径。。。 有可能还会提示DATABASES _LOAD_ERROR  也是中文路径的问题  谨以此文警醒自己 所有和uniyy相关的东西都不要放在中文路径!!!

    2024年02月07日
    浏览(32)
  • Vuforia AR篇(一)— 开启AR之门

    随着科技的不断发展,增强现实(Augmented Reality,AR)技术正在逐渐渗透到我们的日常生活中,为人们带来了全新的数字体验。在AR技术的推动下,我们可以将虚拟世界与现实世界相结合,创造出丰富多彩的交互体验。而在众多AR开发平台中,Vuforia Engine以其强大的功能和灵活的

    2024年04月17日
    浏览(32)
  • UnityAR——AR插件Vuforia入门

    链接:Unity工具之常用插件分类汇总 Vuforia的SDK支持很多平台,包括iOS、Android、UWP,能够适配市面上大部分的移动终端。Vuforia SDK封装了底层用来图像识别的计算机视觉模块,而且不用你操心摄像头的开启以及图像的读取,这些Vuforia都为你提供好了一系列的参数设置,开发者

    2024年02月03日
    浏览(36)
  • Vuforia AR篇(二)— 扫描指定图片播放视频

    Vuforia官网 登录官网创建一个账号,然后登录 进入ARCamera配置 Vuforia Configuration在Unity中包含了多个参数设置,用于调整和优化AR应用程序。这些设置包括: Vuforia版本 :显示当前Vuforia SDK的版本。 App License Key :在此处添加的Vuforia开发许可密钥。 Delayed Initialization :如果勾选,

    2024年04月28日
    浏览(30)
  • 【杂谈】概率与随机以及手游抽卡机制的科普

    原文:NGA的一篇随机科普 ,其中包含了对手游抽卡机制的探讨。本文摘选了我自己感兴趣的部分。 先说点题外话,请先看这个问题 一杯热水和一杯冷牛奶哪个热量更高? 很显然这个问题从物理学和营养学的层面会得出相反的答案,( 先不考虑物理学层面说“一杯热水的热量

    2024年02月03日
    浏览(25)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包