You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Unreal Engine安卓项目中获取蓝牙鼠标输入的问题咨询

Unreal Engine安卓项目蓝牙鼠标输入无响应的解决方法

1. 配置Android权限

安卓系统对蓝牙设备访问有严格权限要求,需在项目中添加对应权限:

  • 打开Project Settings > Platforms > Android > Advanced > Additional Manifest Requirements,添加以下权限代码:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
  • Android 11及以上版本需动态申请运行时权限,可在游戏启动时通过代码调用UAndroidPermissionFunctionLibrary::RequestPermissions请求BLUETOOTH_CONNECT权限。

2. 启用UE安卓鼠标支持

这是最容易忽略的关键设置:

  • 进入Project Settings > Platforms > Android > Application Settings,找到Input板块,勾选Enable Mouse Support选项。

3. 检查UE输入映射配置

确保输入系统已正确绑定鼠标轴:

  • 打开Project Settings > Input,确认已添加Mouse X和Mouse Y的轴映射,并绑定对应的处理函数(蓝图或C++均可)。
  • 进入Project Settings > Input > Mouse Settings,勾选Capture Mouse During Startup和Enable Mouse Input。

4. 代码/蓝图层面验证输入

如果默认输入未生效,可手动绑定事件排查:

  • C++方式:在PlayerController中重写SetupInputComponent,手动绑定鼠标轴事件:
void AMyPlayerController::SetupInputComponent()
{
    Super::SetupInputComponent();
    InputComponent->BindAxis("Mouse X", this, &AMyPlayerController::OnMouseX);
    InputComponent->BindAxis("Mouse Y", this, &AMyPlayerController::OnMouseY);
}

void AMyPlayerController::OnMouseX(float AxisValue)
{
    UE_LOG(LogTemp, Log, TEXT("Mouse X Input: %f"), AxisValue);
    // 自定义X轴处理逻辑
}

void AMyPlayerController::OnMouseY(float AxisValue)
{
    UE_LOG(LogTemp, Log, TEXT("Mouse Y Input: %f"), AxisValue);
    // 自定义Y轴处理逻辑
}
  • 蓝图方式:在PlayerController蓝图中添加Get Mouse X/Get Mouse Y节点,连接日志输出,测试是否能获取到输入值。

5. 系统层面排查

  • 确认蓝牙鼠标已与安卓设备成功配对并连接,可在系统设置中查看鼠标状态。
  • 开启安卓开发者选项中的Show touches和Pointer location,验证系统是否能识别鼠标移动,排除硬件或系统层面的问题。

内容的提问来源于stack exchange,提问作者Hooman BZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:21:03