当前位置:   article > 正文

Unity and MRTK: 常见问题_you are trying to read input using the unityengine

you are trying to read input using the unityengine.input class, but you have

Failed to create GenericJoystickController controller

问题原因

在配置Hololens项目时遇到的一个问题:
Failed to create GenericJoystickController controller(创建GenericJoystickController控制器失败)
在这里插入图片描述

这个问题主要来源应该是unity和MRTK配置错误,这类问题在Hololens环境配置、调试中非常常见,建议开发过程中直接使用公司或项目常用的配置项。

解决方案

在配置的过程中主动降低Mieed Reality Toolkit Foundation/Extensions和OpenXR Plugin的版本,我这边分别用了2.70和1.20(我的unity版本是 2020 3.39)
在这里插入图片描述
在这里插入图片描述
如果对Mieed Reality Toolkit Foundation/Extensions和OpenXR Plugin有高版本需求可以调高unity版本。

关于项目中其他OpenXR配置如下,仅供参考。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.

问题原因

InvalidOperationException:您正在尝试使用UnityEngine读取输入。输入类,但您已经在播放器设置中将活动输入处理切换到输入系统包。

InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.
UnityEngine.Input.get_mousePosition () (at :0)
UnityEngine.EventSystems.BaseInput.get_mousePosition () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/BaseInput.cs:75)
UnityEngine.EventSystems.StandaloneInputModule.UpdateModule () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/InputModules/StandaloneInputModule.cs:175)
UnityEngine.EventSystems.EventSystem.TickModules () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:336)
UnityEngine.EventSystems.EventSystem.Update () (at Library/PackageCache/com.unity.ugui@1.0.0/Runtime/EventSystem/EventSystem.cs:351)

在这里插入图片描述

解决方案

Edit --> project setting --> player -->other settings --> Active Input Handling
将Active Input Handling设置为Both即可。
在这里插入图片描述

BootstrapForDebugging返回的是null,而不是远程msvsmon进程的IP地址和端口号

错误:

在这里插入图片描述

在这里插入图片描述

可供参考的解决方法

这里我在构建时Architecture选择了arm64,当构建时UWP平台选用arm,该错误就会消失。(注意这只是一种可能的解决方法)。
在这里插入图片描述

An error occurred while resolving packages: Project has invalid dependencies: com.unity.modules.autostreaming: Package [com.unity.modules.autostreaming@1.0.0] cannot be found

解决方法

把工程目录下的Packages目录中的manifest.json删掉, 然后再自动生成

NullReferenceException: Object reference not set to an instance of an object

问题原因

该问题出现原因比较复杂,这篇博客已经讲的很清楚,可能更多的是Component/GameObject 声明属性在调用前未激活,或Component/GameObject打错了。

我这边是想要获取TextMeshPro对象,在脚本中使用了gameObject.GetComponent<TextMeshPro>().text = Name;后来改成gameObject.GetComponent<TextMeshProUGUI>().text = Name 问题解决

DEP6957: 未能使用“通用身份验证”连接到设备“192.168.0.***”。请验证项目调试设置中指定了正确的远程身份验证模式。COMException - 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 (异常来自 HRESULT:0x8007274C) [0x8007274C]

问题排查与解决办法

就是在调试的过程中存在连接问题,如果主机和Hololens使用的是无线连接,注意保证主机和Hololens在同一局域网下,即在同一个WIFI下,同时保证连接过程中主机输入的Hololens的IPV4地址正确。
如果上述检查正确,项目允许的情况下可以关闭Hololens的蓝牙(据说老的版本中蓝牙和无线连接有一些冲突,但是目前我没碰到过这种情况)

Can’t add script component ClosePerformanceAnalysis because the script dass cannot be found, Make surethat there are no compile errors and that the file nameand dass name match.

在这里插入图片描述

无法添加脚本组件ClosePerformanceAnalysis,因为找不到脚本数据库。请确保没有编译错误,并且文件名和数据库名匹配。

问题排查

  1. 类名和文件名称不一致,这个是unity要求的,c#本身不做这个要求
  2. 脚本上有语法错误
  3. 脚本的类没有继承MonoBehaviour

我这边的问题是类名与文件名不一致,在脚本后创建后改了一次名导致,脚本名称改成了ClosePerformanceAnalysis但是类名还是原来的Close。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/140789
推荐阅读
相关标签
  

闽ICP备14008679号