在《使用ARCore创建新型用户交互体验》系列文章的第一篇中,我们分享了一些充满创意的想法,教你如何使用光照估计这样的功能来实现新型用户交互和游戏体验。第二篇文章中,我们将分享更多使用案例,让你了解如何使用ARCore的即时预览和运动跟踪功能。
你能想象在AR中玩“抽积木”游戏吗?如果你不了解这个游戏,这里简单介绍一下,它的玩法是通过从积木塔中移走积木然后放到塔顶,从而逐渐把积木塔搭得更高。在本文中,我们将分享一些更为实用的方法,包括使用ARCore的运动跟踪功能来构建手持式AR游戏“抽积木”,或是使用AR会话暂停功能,帮助ARCore应用在失去焦点时,保持用户的参与度。
运动跟踪和距离判断
使用运动跟踪功能,你可以实现非常多的效果,包括:基于设备位置和朝向触发动画,以及基于设备与数字对象之间的距离把设备用作物理保险杠。“
抽积木”便是一个应用AR距离检测的有趣案例。通过使用设备和数字积木塔之间的距离信息,你可以在积木塔周围移动,寻找要移动的积木,然后使用简单而熟悉的手势操作移动积木,将它放到塔顶。
这是一个非常有趣的ARCore体验,在案例中,你将通过使用熟悉而简单的操作直接控制数字对象,例如:在屏幕上按住积木来握住它,然后移动设备寻找到合适位置后,松开手指来放下积木。基于距离和运动跟踪的用户交互功能将继续在手持式AR的同类功能中扮演重要角色。
暂停AR会话
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
usingGoogleARCore;
publicclassPauseAR:MonoBehaviour
{
publicARCoreSessionSessionController;
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编辑器中进行迭代、检查对象状态,调试错误,并查看对象的位置和大小比例。
开发人员直接在Unity中对比现实世界中的画面,从而更好测试和迭代对象材质
即时预览功能先已上线,在ARCore v1.1.0 for Unity中默认使用,欢迎开发者们使用体验!
-
Ar
+关注
关注
24文章
5083浏览量
169239 -
运动跟踪
+关注
关注
0文章
7浏览量
6439
原文标题:使用ARCore创建新型用户交互体验
文章出处:【微信号:WW_CGQJS,微信公众号:传感器技术】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论