Unity3d图像识别位置跟踪Apritag

接上一篇《CMake+VS2019编译ViSP工程

一、编译ViSPUnity.dll

  • 下载工程

    C:\> cd %VISP_WS%
    C:\> git clone https://github.com/lagadic/visp_unity
    
  • 构建链接到ViSP的包装器

    C:\> cd visp_unity
    C:\> mkdir vispWrapper-build-vc16
    C:\> cd vispWrapper-build-vc16
    C:\> cmake -G "Visual Studio 16 2019" -A "x64" ..\vispWrapper -DVISP_DIR=%VISP_WS%\visp-build-vc16\install
    C:\> cmake --build . --config Release
    

    第4步会报错

  • 用VS2019将C:\visp-ws\visp_unity\vispWrapper-build-vc16\ViSPUnity.sln,

  • 在这里您可以找到插件 %VISP_WS%/visp_unity/vispWrapper-build-build-vc16/Release/ViSPUnity.dll,将Visp_MbGenericTracker_SetKeypointSettings函数代码注释掉,保存后重新编译。这时会生成ViSPUnity.dll(位置:C:\visp-ws\visp_unity\vispWrapper-build-vc16\Release)。

  • 复制ViSPUnity.dll%VISP_WS%/visp_unity/unityProject/Assets/文件夹下。

二、在unity识别Apriltage

用Unity2018.4.14打开C:\visp-ws\visp_unity\unityProject工程(请确保ViSPUnity.dll已复制到Assets下),运行scene_ar场景。会提示DllNotFoundException: ViSPUnity。

原因:ViSPUnity依赖其他dll,可以使用depends.exe工具查看

解决办法:将C:\visp-ws\visp-build-vc16\install\x64\vc16\bin中的dll全部复制到ViSPUnity.dll同一目录。

再将运行即可正常运行了。

注意!一定要确保你所使用的Unity3d的\Editor\Data\Tools\Rosly路径下有api-ms-win-core*.dll文件,否则无法运行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章