experiment with a hacky approach to make metaxr work
This commit is contained in:
@@ -2154,7 +2154,23 @@ FName FSGXRTracker::FImpl::GetTargetOpenXRPositionalTrackingProviderName() const
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionalTrackingProvider = ESGOpenXRPositionalTrackingProvider::OpenXR;
|
||||
const bool bIsAMetaQuestDevice = FSGHMDTracker::IsAMetaQuestDevice();
|
||||
if (bIsAMetaQuestDevice)
|
||||
{
|
||||
const bool bIsMetaXRPluginLoaded = FSGPluginUtils::IsMetaXRPluginAvailable();
|
||||
if (bIsMetaXRPluginLoaded)
|
||||
{
|
||||
PositionalTrackingProvider = ESGOpenXRPositionalTrackingProvider::OpenXRHandTracking;
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionalTrackingProvider = ESGOpenXRPositionalTrackingProvider::OpenXR;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PositionalTrackingProvider = ESGOpenXRPositionalTrackingProvider::OpenXR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2211,6 +2227,12 @@ bool FSGXRTracker::FImpl::GetControllerTransform(
|
||||
continue;
|
||||
}
|
||||
|
||||
const FSGXRTracker* Self{StaticCast<const FSGXRTracker*>(MotionController)};
|
||||
if (Self)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
const ETrackingStatus TrackingStatus = MotionController->GetControllerTrackingStatus(
|
||||
DeviceIndex, PositionalTrackingHardwareMotionSource);
|
||||
if (TrackingStatus == ETrackingStatus::NotTracked)
|
||||
|
||||
@@ -84,6 +84,10 @@ enum class ESGOpenXRPositionalTrackingProvider : uint8
|
||||
*/
|
||||
OpenXR UMETA(DisplayName = "OpenXR"),
|
||||
|
||||
/**
|
||||
*/
|
||||
OpenXRHandTracking UMETA(DisplayName = "OpenXRHandTracking"),
|
||||
|
||||
/**
|
||||
* OpenXRViveTracker:
|
||||
* - PCVR:
|
||||
|
||||
Reference in New Issue
Block a user