在虚幻引擎中设置MotionController的典型方法是通过蓝图,但我正在尝试为各种VR设置识别不同类型的运动控制器,并从中应用方向和位置数据。我使用C++获得Oculus Rift和Vive控制器和跟踪器没有问题,但在Oculus Quest上,在ADB上调试时,填充了IMotionControllers的阵列是空的。为什么会这样?
以下代码将仅在Oculus Quest上打印长度为0的内容。
const FName feature = FName(TEXT("MotionController"));
TArray<IMotionController*> controllers = IModularFeatures::Get().GetModularFeatureImplementations<IMotionController>(feature);
UE_LOG(LogGloveController, Warning, TEXT("Number of Controllers: %d"), controllers.Num());
我在TickComponent
更新中检查了数组,并填充了数组。控制器有时会延迟可用(即使使用Rift/Vive(,但在Quest上总是会发生这种情况。