AR卡片的双卡互动(制作步骤) 您所在的位置:网站首页 ar卡片软件下载 AR卡片的双卡互动(制作步骤)

AR卡片的双卡互动(制作步骤)

2023-06-10 08:56| 来源: 网络整理| 查看: 265

Vuforia的使用:5.5版本

 Develop  --->  Add License Key(创建秘钥)

 Project Type(选择Development)  --->  App Name(项目名称)    

     --->Device(选择移动端Mobile)  --->  License Key(选择免费版

     Starter-No Change)  --->  Next(下一步)

 同意协定  --->  Confirm(确定)

 选择创建的密钥

 Target Manager  --->  Add Database(创建识别图项目)

 Name(项目名称)   Type(类型):Device(设备)

 选择识别图项目  --->  Add Target(上传识别图:识别图不能用

     中文命名)

  Type:使用Single Image

      File:Broese(上传的是单张图片)

      Width:设置宽度(也就是缩放的倍数)

  选择识别图  --->  Download Database(选择Unity Enditor)

 Downloads  --->  SDK(下载最新的SDK)

 Unity中导入下载的SDK(导入之前先变更环境)

      

 把相机删掉  --->  拉入Vuforia --> Prefabs -->  ARCamera(这

      时会出现一个报错,把Web Cam Behaviour勾选(意思是不使用

      Unity中的相机))

 导入下载的识别图信息

 ARCamera  --->  App License Key(输入生成的密钥)  --->  勾

      选Database Load Behaviour下的选项(启用识别图工程)

 ARCamera  --->  修改Max Simultaneous Tracked Image和Max

      Simultaneous Tracked Image的值

 拖入一张识别图信息ImageTarget  --->  Image Target

      Behaviour(Database:下载的识别图Image Target:识别图名称)

 可以再模型中换材质和法线贴图

 模型放在ImageTarget的子集里

 导出时,在Build Settings里加入场景(注意有没有配置安卓平

       台)

 打开Payer Settings(发布设置)  --->  Other Settings --> Bundle

      Identifer(com.公司名.项目名)  --->  Bundle Identifer与

      ComPany Name名称一致  --->  Resolution and Presentation

      --> Defult orientation(选择旋转位置)  --->  Build(导出发布)

 双卡互动设计:制作思路

      1.通过碰撞器实现。碰撞器接触到另一模型时,产生互动

      2.通过射线定位。发射的射线碰到另一物体时产生交互

 碰撞器实现:

      流程:给两个模型都加入碰撞器,并分别给予标签,通过代码

      控制,当不同的碰撞状态时,用动画的切换产生交互。

      注意事项:碰撞状态有三种:1.初次进入碰撞器

      2.停留在碰撞器中   3.离开碰撞器

 给模型添加盒形碰撞器,并调整碰撞器的大小(尽量大些),勾

      选is trigger

 给物体新建一个标签(Tag)和添加一个刚体(旋转角度要固定)

      

 对焦脚本,放在ARCamera上

void Start () {     GameObject ARCamera=GameObject.Find("ARCamera");     Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO); } void Update () {     Vuforia.CameraDevice.Instance.SetFocusMode(Vuforia.CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO); } 

 给物体添加脚本

//进入碰撞器的函数 void OnTRiggerEnter(Collider col) //Collider col为函数的参数,代表进入碰撞器的物体的信息 {     //判断进入碰撞器的物体是否为另一个模型,如果是     if(col.gameObject.tag.CompareTo("另一个物体添加的标签") == 0)     {         //则播放自身动画组件中的“获取的动画”         gameObject.GetComponent ().Play ("获取自身的动画");

        //给一个物体添加Audio Source组件:去掉Play On Awake,勾选Loop         //两个碰撞器接触时开始播放音效         gameObject.GetComponent().Play();      } } 

//停留在碰撞器中的函数 void OnTriggerStay(Collider col) {     //判断进入碰撞器的物体是否为另一个模型,如果是     if(col.gameObject.tag.CompareTo("另一个物体添加的标签") == 0)     {         //则播放自身动画组件中的“获取的动画”         gameObject.GetComponent ().Play ("获取自身的动画");

        //让物体朝向碰撞到的模型位置         gameObject.transform.LookAt(col.transform.position);      } } //离开碰撞器中的函数 void OnTriggerExit(Collider col) {     //判断离开碰撞器的物体是否为另一个模型,如果是     if(col.gameObject.tag.CompareTo("另一个物体添加的标签") == 0)     {         //则播放自身动画组件中的“获取的动画”(也就是初始动画)         gameObject.GetComponent ().Play ("获取自身的动画");

        //两个碰撞器接离开时停止播放音效         gameObject.GetComponent().Stop();      } } 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有