手柄测试Debug记录

问题和解决方式

Xbox手柄在Windows平台无法使用,我居然放置这个问题始终没有解决。。

然而解决起来却很简单:

「Rewired设置面板」 > Windows平台 > ☑️ Use XInput 勾选!

根据说明文档 ,在Window平台的设置面板中Input Source选择【RawInput】(不可选XInput,否则将使支持xinput的手柄之外的手柄都无法识别!)而下面的Use Xinput要勾选,如此,支持XInput的手柄都会被识别为Xbox 360,不支持XInput的手柄会使用RawInput识别。

解决前后对比

 内容:Win10 蓝牙连接 Xbox手柄

未勾选Use XInput:获取GUID=000000,且按键全部无响应,debug出来Is Recognized: No

勾选Use XInput:获取GUID正常(识别为Xbox360的GUID),使用正常,Is Recognized: Yes

Debug记录

以下为目前(修复后)测试的记录。

Mac  蓝牙连接

GUIDNameHardwareNameIs Recognized
Xbox One19002688-7406-4f4a-8340-8d25335406c8Xbox One ControllerXbox Wireless ControllerYes
Sony ds4cd9718bf-a87a-44bc-8716-60a0def28a9fSony DualShock 4Wireless ControllerYes

Windows10 蓝牙连接

GUIDNameHardwareNameIs Recognized
Xbox Oned74a350e-fe8b-4e9e-bbcd-efff16d34115XInput Gamepad 1XInput GamepadYes
Sony ds4cd9718bf-a87a-44bc-8716-60a0def28a9fSony DualShock 4Wireless ControllerYes

备注

最后的补救方案(未测试)

配置Unknown Joystick Map,即使是无法识别的controller也可以使用。参见:未知控制器

对于无法识别的控制器(此处未列出控制器),Rewired 将使用 Unknown Controller 映射(无论您是否为此定义映射)。……

建议您创建一个未知控制器映射,以便无法识别的控制器至少可以在某种程度上立即工作,而无需手动用户映射。虽然您无法知道哪个轴或按钮对应于用户插入的控制器上的哪个元素,但下表显示了未知游戏手柄的最常见布局:

Controller ElementMaps To
Left Stick XAxis 0
Left Stick YAxis 1 (inverted)
Right Stick XAxis 2
Right Stick YAxis 3 (inverted)
ButtonsButton 0-X
D-Pad (optional)Hat 1
### OpenXR与HTC Unity插件Vive之间不兼容问题的解决方案 在处理OpenXR与HTC Unity插件Vive之间的不兼容问题时,可以考虑以下几个方面来解决问题: #### 1. 更新Unity版本和插件 确保使用的Unity版本支持最新的OpenXR功能,并更新到最新版本。此外,确认HTC Vive插件也已升级至最新版本[^4]。旧版可能缺乏必要的修复或改进,从而导致兼容性问题。 #### 2. 配置OpenXR设置 在Unity项目中启用OpenXR管理器并配置相应的设备支持。具体操作如下: - 打开`Player Settings`中的`XR Plugin Management`选项卡。 - 启用`OpenXR`作为目标设备。 - 添加HTC Vive所需的扩展模块(如手柄输入或其他特定硬件的支持)[^5]。 ```csharp using UnityEngine.XR.OpenXR; public class XRSetup : MonoBehaviour { void Start() { if (!OpenXRSettings.Instance.isLoaded) Debug.LogError("OpenXR settings are not loaded."); var extensions = OpenXRSettings.Instance.enabledExtensions; foreach (var extension in extensions) { Debug.Log($"Enabled Extension: {extension.name}"); } } } ``` #### 3. 调整渲染管线 如果存在渲染相关的问题,可尝试切换渲染模式为Universal Render Pipeline (URP) 或 High Definition Render Pipeline (HDRP),以匹配HTC Vive的要求。部分Android设备上的渲染问题已被修复,这可能会间接影响VR体验的质量[^1]。 #### 4. 测试环境搭建 创建一个简单的测试场景,在其中仅加载基础组件(例如Camera Rig、Input System等),排除其他可能导致冲突的因素。通过这种方式逐步排查潜在原因。 #### 5. 使用日志调试工具 利用Unity内置的日志记录功能或者第三方分析平台捕获运行期间产生的错误消息。这些信息有助于定位具体的不兼容点所在位置。 ```bash adb logcat | grep "unity" ``` 上述命令可以帮助开发者查看安卓端由Unity引擎输出的相关日志数据。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值