使用手册

本文将向您介绍如何在Unity中运行MorphoMR® plugin for Unity中提供的例程。

SLAM空间感知

在Unity下方的Project窗口中点击ExampleScenes文件夹,双击右侧的SLAM场景。

点击左侧Hierarchy窗口中RealityPlane,在右侧Inspector中找到MR Slam(Script)组件,在如下图红框中,输入所需要的屏幕分辨率。Width为屏幕宽度像素值,Height为屏幕高度像素值。推荐按原有默认值设置。

(以下为非必要步骤*)

*如需要更改SLAM实现的混合现实应用的三维内容,可替换Hierarchy窗口中Cube。建议如下图新增“RealityBackground”和“MR”两个层,然后将Hierarchy窗口中的RealityPlane设置成RealityBackground层,RealityCamera的Camera组件中Culling Mask为RealityBackground。Cube或者新的三维内容GameObject设置成MR层,MRCamera的Camera组件中Culling Mask为MR。新的三维内容需要在MRCamera的视野内。由于MRCamera的位置和旋转都必须保持为0,所以只能更改新的三维内容GameObject的位置和旋转值。

(以上为非必要步骤*)

按本文档“Unity导出Android APK”一文的步骤生成安卓手机应用,然后安装至手机。启动该应用后,初始状态如下图。

点击右下角Start SLAM按钮后,缓慢横向移动手机,待如下图左上角显示“Initialization succeed.”则表明应用初始化成功,现已进入SLAM跟踪状态。下图左上角显示“Tracking state is good.”说明当前SLAM跟踪状态良好。

如出现如下图左上角显示“Tracking state is bad.”时,说明当前SLAM跟踪状态不良,原因可能为当前视野中的特征点太少,或者当前环境颜色趋于一致,或者手机移动过快。

在跟踪状态下点击右下角Stop SLAM按钮可退出SLAM空间感知计算。此后你可以更换视野再次点击右下角按钮,重新开启SLAM空间感知计算。点击手机退出键退出当前应用。

人脸识别

在Unity下方的Project窗口中点击ExampleScenes文件夹,双击右侧的FaceDetection场景。

点击左侧Hierarchy窗口中RealityPlane,在右侧Inspector中找到MR Face Detection(Script)组件,在如下图红框中,输入所需要的屏幕分辨率。Width为屏幕宽度像素值,Height为屏幕高度像素值。推荐按原有默认值设置。

按本文档“Unity导出Android APK”一文的步骤生成安卓手机应用,然后安装至手机。启动该应用后,初始状态如下图。

左上角显示“Initialization succeed.”说明人脸检测计算准备就绪。点击右下角Start Face Detect按钮后开始进行人脸检测。检测到人脸后会绘制出矩形持续跟踪人脸区域,如下图。

在跟踪状态下点击右下角Stop Face Detect按钮可退出人脸检测计算。此后你可以随时再次点击右下角按钮,重新开启人脸检测计算。点击手机退出键退出当前应用。

字符识别

在Unity下方的Project窗口中点击ExampleScenes文件夹,双击右侧的TextRecognization场景。

点击左侧Hierarchy窗口中RealityPlane,在右侧Inspector中找到MR Text(Script)组件,在如下图红框中,输入所需要的屏幕分辨率。Width为屏幕宽度像素值,Height为屏幕高度像素值。推荐按原有默认值设置。

(以下为非必要步骤*)

*如需限制识别字符结果的范围,可设置MR Text(Script)组件中的Whitelist,即识别的字符结果只能是Whitelist中指定的字符集。如需要切换至中文识别,可设置MR Text(Script)组件中的Language为chi_sim,同时将Whitelist中的内容清空。如需实现只识别0~9数字字符,可设置Language为eng,Whitelist为0123456789。

(以上为非必要步骤*)

按本文档“Unity导出Android APK”一文的步骤生成安卓手机应用,然后安装至手机。启动该应用后,初始状态如下图。

左上角显示“Initialization succeed.”说明字符识别计算准备就绪。点击右下角Start Text Recognize按钮后开始进行字符识别。屏幕中央会出现十字标,请移动视野将待识别文字行移至十字标处,如检测到文字行后会在左上角“Text recognized”处显示识别结果,“Confidence”处显示字符识别的置信度(0~100范围,数字越大说明该次识别准置信度越高),如下图。

在识别状态下点击右下角Stop Text Recognize按钮可退出字符识别计算。此后你可以随时再次点击右下角按钮,重新开启字符识别计算。点击手机退出键退出当前应用。

Unity导出Android APK

导出例程场景为安卓手机应用需要在Unity中配置导出Android应用的设置。在Unity中点击File -> Build Settings…

首先在弹出窗口,如下图,Platform处选择Android,点击左下角“Switch Platform”按钮。待该按钮变灰后,点击旁边的“Player Settings”按钮。

在下图红色箭头所示,按所需设置好Company Name和Product Name。在下方安卓选择卡中展开Resolution and Presentation栏目,把Default Orientation设置为Landscape Left。

展开Other Settings栏目,如红色箭头处,设置Package Name为刚才上个步骤设置的Company Name和Product Name的组合。例如刚才设置的Company Name为xxx,Product Name为yyy,则此处Package Name为com.xxx.yyy。设置Minimum API Level为Android 5.1。设置Write Permission为External(SDCard)。

以上设置完成后,回到如下图的弹窗中。点击“Add Open Scenes”,在Scenes In Build窗口中勾选当前需要导出的场景。点击右下角“Build”按钮。

在弹窗中填写即将导出的APK的文件名和路径,点击保存即完成例程场景的Android APK生成。