用Unity开发AR创意礼物:会动的照片
洪流学堂,让你快人几步。
小新:“想想我给女神一个相册,每个照片背后都有一段我们美好的记忆,那女神不得老感动了,哈哈哈。”
大智:“不给你拉黑就是万幸了。我已经将撩妹绝学传授给你,你可不能吃独食。”
小新:“那必须的,我得立马分享出去,造福广大同胞。”
大智:“这才像话。”
洪流学堂公众号回复会动的照片
可获取视频教程。
如果你来不及动手亲自做出来,可以在洪流学堂公众号回复私人定制
。
最终效果如下:
开发需要用到的工具如下:
- Unity
- EasyAR SDK(https://www.easyar.cn/view/download.html#download-nav2)
- 发布需要使用的:安卓(Android SDK+JDK) / iOS(XCode)
开发的简要流程如下:
- 创建Unity工程,导入EasyAR SDK
- 申请EasyAR的liscense key,并配置到Unity中
- 在
HelloAR_ImageTarget_Video
的场景基础上进行改造,实现多图片的跟踪 - 测试、发布
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创意礼物:会动的照片相关推荐
- 《Unity 2018 AR与VR开发快速上手》简介
#好书推荐##好书奇遇季#<Unity 2018 AR与VR开发快速上手>,京东当当天猫都有发售. Unity3D是由Unity Technologies公司开发的一款跨平台的游戏行业软件 ...
- 如何在Unity中使用WebXR开发AR/VR应用
WebXR是一种具有巨大潜力的技术,但是目前,它提供的开发工具比独立VR开发差得多,在独立VR开发中,我们使用Unity和Unreal Engine.Mozilla 为沉浸式Web做了大量工作,为Un ...
- 文档看得太迷糊?使用Unity开发增强现实/虚拟现实应用(AR/VR APP) 书籍和文档的阅读心得
自己上手开发了两三个AR APP之后,用Unity进行AR/VR APP开发算是入了门.反思一下自己使用过的资料. 技术书籍 一开始是找比较新的技术书籍看,因为直接看文档有些难度. 对于有Unity基 ...
- 使用Unity开发手机AR项目经验分享
1.概述 出于公司自研开发了一款AR手机app简单记录下开发经验.如果有同行朋友有更好的经验欢迎交流哈. 2.使用ARFoundation开发 Unity开发手机AR项目主要是集成的ARCore和AR ...
- 如何将Unity开发的AR程序编译到IPad/iPhone上真机运行
如何将Unity项目编译成iOS app,并在ipad或者iphone上真机运行呢?大体步骤分为三步: 使用Unity生成 .xcodeproj 文件 使用XCode将AR APP编译到IPad/iP ...
- 用 Unity easyAR 开发 AR 发布 Android ios遇到的问题(包括easyAR recording 录屏 用法和问题)(图文详情)
用 Unity easyAR 开发 AR 发布 Android ios遇到的问题(包括easyAR recording 录屏 用法和问题)(图文详情) 前言 软件环境 发布Android 配置 发布i ...
- unity 2019 点击脚本启动不了VS_如何在Unity中使用WebXR开发AR/VR应用
WebXR是一种具有巨大潜力的技术,但是目前,它提供的开发工具比独立VR开发差得多,在独立VR开发中,我们使用Unity和Unreal Engine.Mozilla 为沉浸式Web做了大量工作,为Un ...
- unity 开发游戏 认识_认识明天鼓舞人心的Unity开发人员
unity 开发游戏 认识 Whether making short animated films, cinematic experiences or games that tackle social ...
- Hololens Unity 开发入门 之 Hello HoloLens
Hololens Unity 开发入门 之 Hello HoloLens~ 本文主要记录 HoloLens Unity 开发入门 ~ 一.说在前面的话 Unity 对 VR AR 甚至 将来的 MR ...
最新文章
- button,submit, image的区别 点onclick后隐藏行
- Euro Truck Simulator 2欧洲卡车模拟2用VR玩
- JVM运行时数据区分析
- PX4地面站QGroundControl在ubuntu下的安装
- 关于Ecllipse
- git 源代码自动检查_Visual Studio中Git的简单使用
- 大家沉迷短视频无法自拔?Python爬虫进阶,带你玩转短视频
- java 线程安全问题之静态变量、实例变量、局部变量
- 剑指offer||3 前n个数二进制数中1的个数
- PMP项目管理全套表格史上最全,建议收藏
- N8变砖后的强刷方法
- 毕业设计 - 题目: 基于协同过滤的电影推荐系统 - Django 在线电影推荐协同过滤
- 手动实现获取微信openid
- 动态域名解析ipv6 群辉dnspod_群晖IPV6 DDNS设置终极大全(移动用户进)(二)
- 【HDU4622】Reincarnation(SAM)
- 修改win10 小娜Cortana 默认搜索浏览器(chrome)和搜索引擎
- 三星Q990B全景声回音壁评测
- android 短信类型,短信分类软件(短信夹)下载-短信分类(短信夹)安卓版下载 - Iefans...
- popupwindow拦截点击物理返回键
- idea创建三种应用程序的方法:springboot,控制台程序,windows服务程序
热门文章
- 6-5-JSP动作元素
- python四舍五入round_四舍五入就用round( )?Python四舍五入的正确打开方式!-Go语言中文社区...
- java 自定义事件_在Java中创建自定义事件
- mysql架构 三级主从同步_MySQL 主从同步架构中你不知道的“坑”
- 新媒体配图不愁,超优质图片素材--素材路上!
- 梦幻飞屋创意房产海报,温馨画面,梦中的家园
- 渐变色彩艺术海报背景素材|感官刺激、个性突出
- 干货 · UI设计|APP引导页面可临摹素材
- UI帮手|小样机大作用
- a推b等价于非a或b_分级基金谢幕倒计时 警惕分级B高溢价风险