From dfffd599921f49d33c8db16b71a678125d9fa383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20K=C3=B6gel?= <koegel@vr.rwth-aachen.de> Date: Tue, 14 Nov 2023 10:53:37 +0100 Subject: [PATCH] Fix fallback to head orientation tracking if eyetracking is unavailable, see #102 --- Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp | 2 +- .../StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp b/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp index caf7358..b403a3b 100644 --- a/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp +++ b/Source/StudyFrameworkPlugin/Private/Logging/SFLogObject.cpp @@ -166,7 +166,7 @@ void USFLogObject::WriteGazeTrackingLogToFile() { } USFGazeTracker* GazeTracker = USFGameInstance::Get()->GetGazeTracker(); - if(!GazeTracker || GazeTracker->DataAlreadyLogged()) + if(!GazeTracker || (GazeTracker->IsTrackingEyes() && GazeTracker->DataAlreadyLogged())) { return; } diff --git a/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h b/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h index b6cebcf..d07e3aa 100644 --- a/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h +++ b/Source/StudyFrameworkPlugin/Public/GazeTracking/SFGazeTracker.h @@ -86,7 +86,9 @@ private: UPROPERTY() TArray<AActor*> ActorsToIgnore; - bool bDataLogged = false; + //This is only relevant for when eyetracking is used: Set false once SranipalEyeData is updated, Set true after writing out current eyedata + //For Head Rotation, we always get up-to-date info while logging, then bDataLogged is ignored + bool bDataLogged = true; float EyeDataGatheringDelay; float TimeSinceLastEyeDataGather = 0.0f; #ifdef WITH_SRANIPAL -- GitLab