OSVR / OSVR-Unreal

OSVR plugin for Unreal Engine
Apache License 2.0
89 stars 45 forks source link

Disable position tracking? #122

Open alienSkull opened 7 years ago

alienSkull commented 7 years ago

Is there an easy way to disable position tracking? I need just the rotation. The location needs to be fixed.

I'm having trouble trying to build the plugin from source(getting an assert error during runtime).

So, is there any way to call EnablePositionalTracking(false); from the prebuilt plugin that comes with unreal 4.13? I see in code that there is a HEADTRACKING DISABLE exec command or something but it doesn't seem to work from the ingame console.. Am I doing something wrong?? How do I use this??

If there isn't an easy way I can post the assert error and try to fix that, but I'd rather just use the prebuilt plugin if it's possible. Any ideas??

Don't get me wrong I love the fact that OSVR has position tracking but I have uses with and without it and would like to know how to enable/disable it. (especially at runtime)

alienSkull commented 7 years ago

Well, I attempted to fix the assertion error I was getting to no avail. I upgraded my video card drivers as well as my osvr runtime and SDKs from v0.6-1337-g9292631 to v0.6-1339-g3139e8c but I'm still getting the same error. This is happening in both extended and direct modes. It is happening with both the supplied OSVRUnreal project files as well as my own project. At one point when I first recieved my HDK2 everything was working, not sure what changed.. When I run the project in VRPreview it pops up a window to display the game but crashes before the window displays anything. Any ideas??

Assertion failed: IsDisplayOpen() [File:c:\users\tokamakzero\desktop\unrealosvrtmp\osvr-unreal-master\osvrunreal\plugins\osvr\source\osvr\private\OSVRCustomPresent.h] [Line: 234]

UE4Editor_Core!FDebug::AssertFailed() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:440] UE4Editor_OSVR!FOSVRCustomPresent::GetHeadPoseFromCachedRenderInfoCollectionImpl() [c:\users\tokamakzero\desktop\unrealosvrtmp\osvr-unreal-master\osvrunreal\plugins\osvr\source\osvr\private\osvrcustompresent.h:235] UE4Editor_OSVR!FOSVRCustomPresent::GetHeadPoseFromCachedRenderInfoCollection() [c:\users\tokamakzero\desktop\unrealosvrtmp\osvr-unreal-master\osvrunreal\plugins\osvr\source\osvr\private\osvrcustompresent.h:142] UE4Editor_OSVR!FOSVRHMD::UpdateHeadPose() [c:\users\tokamakzero\desktop\unrealosvrtmp\osvr-unreal-master\osvrunreal\plugins\osvr\source\osvr\private\osvrhmd.cpp:221] UE4Editor_OSVR!FOSVRHMD::PreRenderViewFamily_RenderThread() [c:\users\tokamakzero\desktop\unrealosvrtmp\osvr-unreal-master\osvrunreal\plugins\osvr\source\osvr\private\osvrrender.cpp:121] UE4Editor_Renderer!RenderViewFamily_RenderThread() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\renderer\private\scenerendering.cpp:1905] UE4Editor_Renderer!TGraphTask<FRendererModule::BeginRenderingViewFamily'::25'::EURCMacro_FDrawSceneCommand>::ExecuteTask() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:999] UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:932] UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:679] UE4Editor_RenderCore!RenderingThreadMain() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:319] UE4Editor_RenderCore!FRenderingThread::Run() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\rendercore\private\renderingthread.cpp:440] UE4Editor_Core!FRunnableThreadWin::Run() [d:\build++ue4+release-4.12+compile\sync\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:74]

relevant unreal log file:

[2016.10.09-17.24.14:029][529]FOSVRCustomPresentLog:Warning: osvrRenderManagerOpenDisplayD3D11 call failed, or the result status was OSVR_OPEN_STATUS_FAILURE. Potential causes could be that the display is already open in direct mode with another app, or the display does not support direct mode [2016.10.09-17.24.14:029][529]FOSVRCustomPresentLog:Warning: FDirect3D11CustomPresent::CalculateRenderTargetSizeImpl: expecting 2 render infos from osvrRenderManagerGetNumRenderInfoInCollection. Got 0. [2016.10.09-17.24.14:036][529]FOSVRCustomPresentLog:Warning: osvrRenderManagerOpenDisplayD3D11 call failed, or the result status was OSVR_OPEN_STATUS_FAILURE. Potential causes could be that the display is already open in direct mode with another app, or the display does not support direct mode [2016.10.09-17.24.14:071][529]LogWorld: Game class is 'GameMode' [2016.10.09-17.24.14:100][529]LogWorld: Bringing World /Game/Maps/UEDPIE_0_basic.basic up for play (max tick rate 0) at 2016.10.09-13.24.14 [2016.10.09-17.24.14:112][529]LogWorld: Bringing up level for play took: 0.014483 [2016.10.09-17.24.14:290][529]PIE: Info Play in editor start time for /Game/Maps/UEDPIE_0_basic 2.433 [2016.10.09-17.24.14:290][529]LogBlueprintUserMessages: Late PlayInEditor Detection: Level '/Game/Maps/basic.basic:PersistentLevel' has LevelScriptBlueprint '/Game/Maps/basic.basic:PersistentLevel.basic' with GeneratedClass '/Game/Maps/basic.basic_C' with ClassGeneratedBy '/Game/Maps/basic.basic:PersistentLevel.basic' [2016.10.09-17.24.14:302][529]OSVRHMDLog:Warning: CheckUpdateFrameNumber: last update from a previous frame [2016.10.09-17.24.14:325][529]FOSVRCustomPresentLog:Warning: osvrRenderManagerOpenDisplayD3D11 call failed, or the result status was OSVR_OPEN_STATUS_FAILURE. Potential causes could be that the display is already open in direct mode with another app, or the display does not support direct mode [2016.10.09-17.24.14:325][529]FOSVRCustomPresentLog:Warning: FDirect3D11CustomPresent::CalculateRenderTargetSizeImpl: expecting 2 render infos from osvrRenderManagerGetNumRenderInfoInCollection. Got 0. [2016.10.09-17.24.14:332][529]FOSVRCustomPresentLog:Warning: osvrRenderManagerOpenDisplayD3D11 call failed, or the result status was OSVR_OPEN_STATUS_FAILURE. Potential causes could be that the display is already open in direct mode with another app, or the display does not support direct mode [2016.10.09-17.24.14:374][530]LogWindows: Windows GetLastError: The operation completed successfully. (0)

Again this only happens with the github plugin I compile, the plugin that comes with unreal 4.13 works fine.. :/

alienSkull commented 7 years ago

Turns out all the assertion errors were do to my setup not supporting direct mode. I changed the server configs and it seems to be working ok for now. There does seem to be a big memory leak or somthing happening but I do have the functionality I wanted. I'm gonna go leak hunting now.. :P