[英]Unity Development for HoloLens
我嘗試使用 Vuforia 引擎 function 開發一個 Unity 項目以部署到 HoloLens。 簡短的問題摘要:它不起作用。 我開始使用 Vuforia AR 相機和放置在視野中的 3D 立方體創建一個非常簡單的項目,只是為了測試它。 它可以在 Unity 預覽中呈現它。 然而,Unity 控制台出現錯誤,Unity 程序既不能在 HoloLens 上運行,也不能作為 Visual Studio 預覽中的獨立應用程序運行。 總是發生的一個錯誤是:
DllNotFoundException:VuforiaWrapper。
可以在 Visual Studio 中構建一個獨立的應用程序,它會按應有的方式呈現 3D 立方體,但背景是黑色的,相機不工作(Razer Kiyo)。
我已經嘗試了幾個 Unity 版本,包括 2017 和 2018 的 LTS 版本以及 Visual Studio 2017 和 2019。它不適用於上述任何一個版本。
將 Vuforia Hololens 樣本導入 Unity 會破壞項目,並使其無法在我嘗試過的每個 Unity 版本中編譯,因此我不得不放棄它。
有人知道如何解決這個問題嗎? 它甚至不適用於這樣一個簡單的項目,這似乎很奇怪。
從附加的 Visual Studio 構建中查找日志文件:
Mono path[0] = 'C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build /bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Managed'
Mono config path = 'C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/x64/Debug/MonoBleedingEdge/etc'
PlayerConnection initialized from C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data (debug = 0)
PlayerConnection initialized network socket : 0.0.0.0 55402
Multi-casting "[IP] 10.4.2.246 [Port] 55402 [Flags] 2 [Guid] 682190711 [EditorId] 0 [Version] 1048832 [Id] WindowsPlayer(DeepThought) [Debug] 0 [PackageName] WindowsPlayer" to [225.0.0.222:54997]...
Started listening to [0.0.0.0:55402]
PlayerConnection already initialized - listening to [0.0.0.0:55402]
Initialize engine version: 2018.4.11f1 (7098af2f11ea)
GfxDevice: creating device client; threaded=1
XR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_PathRegistryNotFound: "Installation path could not be located (110)"!
(Filename: C:\buildslave\unity\build\Runtime/VR/OpenVR/OpenVR.cpp Line: 1835)
Direct3D:
Version: Direct3D 11.0 [level 11.1]
Renderer: NVIDIA GeForce RTX 2080 Ti (ID=0x1e04)
Vendor:
VRAM: 11049 MB
Driver: 25.21.14.1967
Begin MonoManager ReloadAssembly
- Completed reload, in 0.100 seconds
<RI> Initializing input.
XInput1_3.dll not found. Trying XInput9_1_0.dll instead...
<RI> Input initialized.
<RI> Initialized touch support.
XR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_PathRegistryNotFound: "Installation path could not be located (110)"!
(Filename: C:\buildslave\unity\build\Runtime/VR/OpenVR/OpenVR.cpp Line: 1835)
XR: OpenVR Error! OpenVR failed initialization with error code VRInitError_Init_PathRegistryNotFound: "Installation path could not be located (110)"!
(Filename: C:\buildslave\unity\build\Runtime/VR/OpenVR/OpenVR.cpp Line: 1835)
UnloadTime: 0.641200 ms
Compiled for Play Mode
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Vuforia.PlatformRuntimeInitialization:InitPlatform()
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
DllNotFoundException: VuforiaWrapper
at (wrapper managed-to-native) Vuforia.VuforiaNativeWrapper.initPlatformNative()
at Vuforia.VuforiaNativeWrapper.InitPlatformNative () [0x00000] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.PlayModeUnityPlayer.InitializePlatform () [0x00005] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VuforiaRuntime.InitPlatform (Vuforia.IUnityPlayer player) [0x0000b] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.PlatformRuntimeInitialization.InitPlatform () [0x00097] in <77657aff10f3423b8360b40ff8e9348d>:0
(Filename: <77657aff10f3423b8360b40ff8e9348d> Line: 0)
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Exception in callback: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.DllNotFoundException: VuforiaWrapper
at (wrapper managed-to-native) Vuforia.VuforiaNativeWrapper.deviceIsEyewearDevice()
at Vuforia.VuforiaNativeWrapper.DeviceIsEyewearDevice () [0x00000] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.Device.get_Instance () [0x00024] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VideoBackgroundManager.Initialize () [0x00000] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VuforiaARController.Awake () [0x0008b] in <77657aff10f3423b8360b40ff8e9348d>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke(System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <791f603facc4473dab4bf640d012ebda>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0004b] in <791f603facc4473dab4bf640d012ebda>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <791f603facc4473dab4bf640d012ebda>:0
at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x000e7] in <791f603facc4473dab4bf640d012ebda>:0
at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00008] in <791f603facc4473dab4bf640d012ebda>:0
at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <791f603facc4473dab4bf640d012ebda>:0
at Vuforia.DelegateHelper.InvokeDelegate (System.Delegate action, System.Object[] args) [0x0000f] in <77657aff10f3423b8360b40ff8e9348d>:0
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[])
Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action)
Vuforia.VuforiaBehaviour:Awake()
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)
Initializing Vuforia Engine
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Vuforia.VuforiaRuntime:InitVuforia()
Vuforia.VuforiaRuntime:VuforiaInitialization()
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper.dll
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/libVuforiaWrapper
DllNotFoundException: VuforiaWrapper
at (wrapper managed-to-native) Vuforia.VuforiaNativeWrapper.getVuforiaLibraryVersion(System.Text.StringBuilder,int)
at Vuforia.VuforiaNativeWrapper.GetVuforiaLibraryVersion (System.Text.StringBuilder value, System.Int32 maxLength) [0x00000] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VuforiaUnity.GetVuforiaLibraryVersion () [0x0000d] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VuforiaRuntime.LogVersions () [0x00000] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VuforiaRuntime.InitVuforia () [0x00012] in <77657aff10f3423b8360b40ff8e9348d>:0
at Vuforia.VuforiaRuntime.VuforiaInitialization () [0x0001d] in <77657aff10f3423b8360b40ff8e9348d>:0
(Filename: <77657aff10f3423b8360b40ff8e9348d> Line: 0)
Vuforia Engine cannot be started before it is initialized.
Please disable Delayed Initializationin the Vuforia configuration or initialize Vuforia manually with the VuforiaRuntime-class.
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
Vuforia.VuforiaARController:Start()
System.Reflection.MonoMethod:InternalInvoke(Object, Object[], Exception&)
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
System.Delegate:DynamicInvokeImpl(Object[])
System.MulticastDelegate:DynamicInvokeImpl(Object[])
System.Delegate:DynamicInvoke(Object[])
Vuforia.DelegateHelper:InvokeDelegate(Delegate, Object[])
Vuforia.DelegateHelper:InvokeWithExceptionHandling(Action)
Vuforia.VuforiaBehaviour:Start()
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug.bindings.h Line: 45)
錯誤DllNotFoundException: VuforiaWrapper
表明 Unity 正在嘗試加載 dll,但 DLL 似乎在加載的位置不存在。
閱讀錯誤,有很多形式:
Fallback handler could not load library C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono/VuforiaWrapper.dll
您是否檢查了路徑“C:/Visual Studio Projects/UnityHololens2018_4_11VuforiaUpdate8_5_8_64_86_Test1/build/bin/UnityHololens2018_4_11TestVuforiaUpdate8_5_8_Data/Mono”以驗證文件是否存在? 似乎該錯誤消息來自您的計算機上本地運行,因此您應該能夠檢查目錄。
通常當我看到 dll not found 錯誤時,這是因為我的插件 dll 配置不正確。 檢查插件文檔並仔細檢查 vuforia dll 是否配置為部署在您的機器架構和 HoloLens 架構(即 x86)上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.