如何使用ARCore的即时预览和运动跟踪功能

描述

在《使用ARCore创建新型用户交互体验》系列文章的第一篇中,我们分享了一些充满创意的想法,教你如何使用光照估计这样的功能来实现新型用户交互和游戏体验。第二篇文章中,我们将分享更多使用案例,让你了解如何使用ARCore的即时预览和运动跟踪功能。

你能想象在AR中玩“抽积木”游戏吗?如果你不了解这个游戏,这里简单介绍一下,它的玩法是通过从积木塔中移走积木然后放到塔顶,从而逐渐把积木塔搭得更高。在本文中,我们将分享一些更为实用的方法,包括使用ARCore的运动跟踪功能来构建手持式AR游戏“抽积木”,或是使用AR会话暂停功能,帮助ARCore应用在失去焦点时,保持用户的参与度。

运动跟踪和距离判断

使用运动跟踪功能,你可以实现非常多的效果,包括:基于设备位置和朝向触发动画,以及基于设备与数字对象之间的距离把设备用作物理保险杠。“

抽积木”便是一个应用AR距离检测的有趣案例。通过使用设备和数字积木塔之间的距离信息,你可以在积木塔周围移动,寻找要移动的积木,然后使用简单而熟悉的手势操作移动积木,将它放到塔顶。

这是一个非常有趣的ARCore体验,在案例中,你将通过使用熟悉而简单的操作直接控制数字对象,例如:在屏幕上按住积木来握住它,然后移动设备寻找到合适位置后,松开手指来放下积木。基于距离和运动跟踪的用户交互功能将继续在手持式AR的同类功能中扮演重要角色。

暂停AR会话

Ar

usingSystem.Collections;

usingSystem.Collections.Generic;

usingUnityEngine;

usingGoogleARCore;

publicclassPauseAR:MonoBehaviour

{

publicARCoreSession SessionController;

privateboolm_sessionPaused=false;

publicvoidTooglePauseMode()

{

if(SessionController==null)

{

return;

}

SessionController.enabled=m_sessionPaused;

m_sessionPaused=!m_sessionPaused;

}

}

AR应用的暂停功能不仅能让用户稍作休息。这个功能还有其它值得一提的用处,例如在单个设备的多人游戏中,它能在回合之间暂停会话,或是让用户在使用AR应用时接听电话,而不丢失接电话前应用中的信息。

AR活动已经暂停,在屏幕上出现了UI,在结束暂停后平面和花朵又回来了

需要注意暂停是临时的,如果用户移动得太远,使应用无法重新找到原有平面或特征点的话,AR中的物品或许会在暂停后丢失。

即时预览

ARCore v1.1.0 for Unity中新增了即时预览(Instant preview)功能。它仅可以在Unity中使用,当你在Unity中构建项目时,这个工具能允许你跳过构建过程,直接在ARCore支持设备上测试对AR应用的改动。这将把流程时间从数分钟缩短为几毫秒,从而让你近乎实时地在Unity编辑器中进行迭代、检查对象状态,调试错误,并查看对象的位置和大小比例。

Ar

开发人员直接在Unity中对比现实世界中的画面,从而更好测试和迭代对象材质

即时预览功能先已上线,在ARCore v1.1.0 for Unity中默认使用,欢迎开发者们使用体验!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分