洪流学堂,让你快人几步。

小新:“想想我给女神一个相册,每个照片背后都有一段我们美好的记忆,那女神不得老感动了,哈哈哈。”

大智:“不给你拉黑就是万幸了。我已经将撩妹绝学传授给你,你可不能吃独食。”

小新:“那必须的,我得立马分享出去,造福广大同胞。”

大智:“这才像话。”

洪流学堂公众号回复会动的照片可获取视频教程。
如果你来不及动手亲自做出来,可以在洪流学堂公众号回复私人定制


最终效果如下:

开发需要用到的工具如下:

  • Unity
  • EasyAR SDK(https://www.easyar.cn/view/download.html#download-nav2)
  • 发布需要使用的:安卓(Android SDK+JDK) / iOS(XCode)

开发的简要流程如下:

  1. 创建Unity工程,导入EasyAR SDK
  2. 申请EasyAR的liscense key,并配置到Unity中
  3. HelloAR_ImageTarget_Video的场景基础上进行改造,实现多图片的跟踪
  4. 测试、发布

1. 创建Unity工程,导入EasyAR SDK

建议使用Unity2017以上的版本,我使用的是2019.1版本,开发过程中不会有太大差别。

下载EasyAR的Unity SDK:https://www.easyar.cn/view/download.html#download-nav2

下载完成后解压出来是一个.unitypackage文件,可以直接导入到Unity工程中。

2. 申请EasyAR的liscense key,并配置到Unity中

注册EasyAR账号,https://www.easyar.cn/

登陆后创建一个key:https://www.easyar.cn/view/developCenter.html#license

类型选择免费的EasyAR SDK Basic即可,免费版包含的功能可以满足我们的需要。

配置好之后,就可以看到一个license key:

这个key需要配置到什么地方呢?看下图中的位置:

到这配置就完成了。

3. 在HelloAR_ImageTarget_Video的场景基础上进行改造,实现多图片的跟踪

现在你可以看一下HelloAR_ImageTarget_Video场景,这个场景实现的功能是跟踪图片,识别出图片后在图片上显示并播放视频,是不是和我们的需求很相近了呢?

我们要实现的功能可以在这个场景的基础上来加以改造以下几点:

  • 实现多图片、多视频的自动配置管理
  • 自动根据图片的比例设置识别图和视频的显示比例

就可以基本实现我们的需求啦。

1、先把场景中的ImageTarget_argame_video拖成一个prefab

2、编辑这个Prefab,在Quad物体上添加如下脚本:

using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.Networking;[RequireComponent(typeof(VideoPlayer))]
public class StreamingAssetsPathVideo : MonoBehaviour
{public string Image;public string Path;// Start is called before the first frame updateIEnumerator Start(){if (string.IsNullOrEmpty(Path))yield break;var path = System.IO.Path.Combine(Application.streamingAssetsPath, Path);var uri = new Uri(path);// 设置视频的路径GetComponent<VideoPlayer>().url = uri.AbsoluteUri;// 获取跟踪图var www = UnityWebRequestTexture.GetTexture(new Uri(System.IO.Path.Combine(Application.streamingAssetsPath, Image)));yield return www.SendWebRequest();Texture2D tex2D = DownloadHandlerTexture.GetContent(www);var ratio = (float)tex2D.height / tex2D.width;// 设置跟踪图的比例transform.localScale = new Vector3(1, ratio, 1);GetComponent<Renderer>().material.mainTexture = tex2D;}
}

3、在场景中添加一个空物体Manager,添加以下脚本:

using System;
using easyar;
using UnityEngine;[Serializable]
public class Unit{public string ImageFile;public string VideoFile;
}public class Manager : MonoBehaviour
{public Unit[] Units;    public GameObject Prefab;public ImageTrackerBehaviour Tracker;// Start is called before the first frame updatevoid Start(){foreach (var unit in Units) {var target = Instantiate(Prefab);var targetController = target.GetComponent<ImageTargetController>();targetController.ImageTracker = Tracker;targetController.TargetName = unit.ImageFile;targetController.TargetPath = unit.ImageFile;var video = target.GetComponentInChildren<StreamingAssetsPathVideo>();video.Image = unit.ImageFile;video.Path = unit.VideoFile;}}
}

将识别图和视频放到StreamingAssets目录下。

配置Manager物体上的Manager脚本:
Prefab选择我们刚才创建的那个Prefab。

4.发布

发布前记得先设置Unity工程中Player Settings中的Package Name,需要和之前申请license时设置的Package Name一致才行。然后根据需要发布到Android或者iOS平台即可大功告成~

洪流学堂公众号回复会动的照片可获取视频教程。
如果你来不及动手亲自做出来,可以在洪流学堂公众号回复私人定制

用Unity开发AR创意礼物:会动的照片相关推荐

  1. 《Unity 2018 AR与VR开发快速上手》简介

    #好书推荐##好书奇遇季#<Unity 2018 AR与VR开发快速上手>,京东当当天猫都有发售. Unity3D是由Unity Technologies公司开发的一款跨平台的游戏行业软件 ...

  2. 如何在Unity中使用WebXR开发AR/VR应用

    WebXR是一种具有巨大潜力的技术,但是目前,它提供的开发工具比独立VR开发差得多,在独立VR开发中,我们使用Unity和Unreal Engine.Mozilla 为沉浸式Web做了大量工作,为Un ...

  3. 文档看得太迷糊?使用Unity开发增强现实/虚拟现实应用(AR/VR APP) 书籍和文档的阅读心得

    自己上手开发了两三个AR APP之后,用Unity进行AR/VR APP开发算是入了门.反思一下自己使用过的资料. 技术书籍 一开始是找比较新的技术书籍看,因为直接看文档有些难度. 对于有Unity基 ...

  4. 使用Unity开发手机AR项目经验分享

    1.概述 出于公司自研开发了一款AR手机app简单记录下开发经验.如果有同行朋友有更好的经验欢迎交流哈. 2.使用ARFoundation开发 Unity开发手机AR项目主要是集成的ARCore和AR ...

  5. 如何将Unity开发的AR程序编译到IPad/iPhone上真机运行

    如何将Unity项目编译成iOS app,并在ipad或者iphone上真机运行呢?大体步骤分为三步: 使用Unity生成 .xcodeproj 文件 使用XCode将AR APP编译到IPad/iP ...

  6. 用 Unity easyAR 开发 AR 发布 Android ios遇到的问题(包括easyAR recording 录屏 用法和问题)(图文详情)

    用 Unity easyAR 开发 AR 发布 Android ios遇到的问题(包括easyAR recording 录屏 用法和问题)(图文详情) 前言 软件环境 发布Android 配置 发布i ...

  7. unity 2019 点击脚本启动不了VS_如何在Unity中使用WebXR开发AR/VR应用

    WebXR是一种具有巨大潜力的技术,但是目前,它提供的开发工具比独立VR开发差得多,在独立VR开发中,我们使用Unity和Unreal Engine.Mozilla 为沉浸式Web做了大量工作,为Un ...

  8. unity 开发游戏 认识_认识明天鼓舞人心的Unity开发人员

    unity 开发游戏 认识 Whether making short animated films, cinematic experiences or games that tackle social ...

  9. Hololens Unity 开发入门 之 Hello HoloLens

    Hololens Unity 开发入门 之 Hello HoloLens~ 本文主要记录 HoloLens Unity 开发入门 ~ 一.说在前面的话 Unity 对 VR AR 甚至 将来的 MR ...

最新文章

  1. button,submit, image的区别 点onclick后隐藏行
  2. Euro Truck Simulator 2欧洲卡车模拟2用VR玩
  3. JVM运行时数据区分析
  4. PX4地面站QGroundControl在ubuntu下的安装
  5. 关于Ecllipse
  6. git 源代码自动检查_Visual Studio中Git的简单使用
  7. 大家沉迷短视频无法自拔?Python爬虫进阶,带你玩转短视频
  8. java 线程安全问题之静态变量、实例变量、局部变量
  9. 剑指offer||3 前n个数二进制数中1的个数
  10. PMP项目管理全套表格史上最全,建议收藏
  11. N8变砖后的强刷方法
  12. 毕业设计 - 题目: 基于协同过滤的电影推荐系统 - Django 在线电影推荐协同过滤
  13. 手动实现获取微信openid
  14. 动态域名解析ipv6 群辉dnspod_群晖IPV6 DDNS设置终极大全(移动用户进)(二)
  15. 【HDU4622】Reincarnation(SAM)
  16. 修改win10 小娜Cortana 默认搜索浏览器(chrome)和搜索引擎
  17. 三星Q990B全景声回音壁评测
  18. android 短信类型,短信分类软件(短信夹)下载-短信分类(短信夹)安卓版下载 - Iefans...
  19. popupwindow拦截点击物理返回键
  20. idea创建三种应用程序的方法:springboot,控制台程序,windows服务程序

热门文章

  1. 6-5-JSP动作元素
  2. python四舍五入round_四舍五入就用round( )?Python四舍五入的正确打开方式!-Go语言中文社区...
  3. java 自定义事件_在Java中创建自定义事件
  4. mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”
  5. 新媒体配图不愁,超优质图片素材--素材路上!
  6. 梦幻飞屋创意房产海报,温馨画面,梦中的家园
  7. 渐变色彩艺术海报背景素材|感官刺激、个性突出
  8. 干货 · UI设计|APP引导页面可临摹素材
  9. UI帮手|小样机大作用
  10. a推b等价于非a或b_分级基金谢幕倒计时 警惕分级B高溢价风险