Unity HoloLens2 开发笔记(四):Vuforia 图片识别和实物识别

深渊向深渊呼唤

1.打开Unity,新建3D工程,导入新版的Vuforia,不会导入的可以看我之前的 教程

2.导入MRTK 工具

3.Unity中---删除相机---Hierarchy右键新建一个Vuforia Camera(ARCamera)

Camera---Background 改为 Solid Color 黑色 在Vuforia官网上复制App License Key 粘贴到Vuforia Behaviour中 更改 Max Simultaneous Tracked Images (最大同时跟踪图像) 和 Max Simultaneous Tracked Objects (最大同时跟踪物体)

4.Unity顶部状态栏---Mixed Reality Toolkit---Add to Scene and Configure...

5.去 Vuforia官网 导入图片和模型数据---下载---导入Unity(我自己上传了一张图片,两个实物模型的扫描文件,根据需求自定)

6.在Hierarchy右键新建一个Empty,用来被识别的物体,添加对焦脚本(当然放在哪里都行)

using UnityEngine;
using Vuforia;

public class FrameRateSettings : MonoBehaviour
{
    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnPaused);
    }

    private void OnVuforiaStarted()
    {
        // 查询Vuforia推荐的帧速率和团结
        int targetFps = VuforiaRenderer.Instance.GetRecommendedFps(VuforiaRenderer.FpsHint.NONE);

        //默认情况下,我们使用Application.targetFrameRate设置建议的帧频。
        // Google Cardboard不使用vsync,OVR明确禁用了它。 如果开发人员
        //在其质量设置中使用vsync,他们还应该设置其QualitySettings.vSyncCount
        //根据上面返回的值。
        //例如:如果targetFPS> 50-> vSyncCount = 1; 否则vSyncCount = 2;
        if (Application.targetFrameRate != targetFps)
        {
            Debug.Log("Setting frame rate to " + targetFps + "fps");
            Application.targetFrameRate = targetFps;
        }
        
        //开启自动对焦模式
        CameraDevice.Instance.SetFocusMode(
            CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
            
    }

    private void OnPaused(bool paused)
    {
        if (!paused)
        {
            /// /恢复
            /// /设置了自动对焦模式应用时恢复
            CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
        }
    }
    
}

7.右键Vuforia Engine--Image Target 和ObjectTarget,选择我们上传的数据

8.添加不同颜色的Cube作为Image和Object的子物体作为参照

9.Build Setting---切换为UWP模式---Player Setting 

其余的都正常设置,特殊的点我已经截图放再下面,对着设置就好了

10.打包发布测试

经测试,Image识别比较稳定,物体识别不准,受光照影响成像很严重。 
栏目