Jump to content

Joost

Verified Members
  • Posts

    11
  • Joined

  • Last visited

Posts posted by Joost

  1. I've fixed the last crash which was being caused by the VRStereoWidget in the VR Expansion pack by executing this console  command on begin play. This replaces the stereo layers with regular widgets. I'm not sure why stereo layers don't work but at least I've got everything working now.

    vr.ForceNoStereoWithVRWidgets = 1
    • Like 1
  2. I've created an empty test project but it still crashes on launch, with the same callstack as my previous post.
     I can open the WaveVR sample project but even after copying the config files and the .uproject settings, my own test project still crashes.
     I have a default Unreal level with a WaveVR_Pawn in it.

  3. Looks like it was being caused because the OculusVR plugin was still enabled in my project. I have a build target specifically for the Focus 3 which disables the Oculus plugin but it looks like the plugin has to be disabled before starting a build or it crashes on launch. But now there's another crash:

     

    ]LogAndroid: Error: Assertion failed: defaultQueueSize [File:X:/UnrealEngine/Engine/Plugins/Pixnami/WaveVR/Source/WaveVR/Private/WaveVRRender.cpp] [Line: 379] 

     

    FWaveVRRender::RenderInit_RenderThread() WaveVRRender.cpp:379
    FWaveVRRender::RenderInit() WaveVRRender.cpp:233
    FWaveVRRender::OnBeginRendering_RenderThread(FRHICommandListImmediate&, FSceneViewFamily&) WaveVRRender.cpp:983
    FWaveVRHMD::OnBeginRendering_RenderThread(FRHICommandListImmediate&, FSceneViewFamily&) WaveVRHMD.cpp:558
    FDefaultXRCamera::PreRenderViewFamily_RenderThread(FRHICommandListImmediate&, FSceneViewFamily&) DefaultXRCamera.cpp:166
    ViewExtensionPreRender_RenderThread(FRHICommandListImmediate&, FSceneRenderer*) SceneRendering.cpp:3586
    FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::$_45::operator()(FRHICommandListImmediate&) const SceneRendering.cpp:3905
    TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::FViewExtensionPreDrawCommandName, FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::$_45>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) RenderingThread.h:183
    TGraphTask<TEnqueueUniqueRenderCommandType<FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::FViewExtensionPreDrawCommandName, FRendererModule::BeginRenderingViewFamily(FCanvas*, FSceneViewFamily*)::$_45> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) TaskGraphInterfaces.h:886
    FBaseGraphTask::Execute(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) TaskGraphInterfaces.h:524
    FNamedTaskThread::ProcessTasksNamedThread(int, bool) TaskGraph.cpp:709
    FNamedTaskThread::ProcessTasksUntilQuit(int) TaskGraph.cpp:600
    RenderingThreadMain(FEvent*) RenderingThread.cpp:372
    FRenderingThread::Run() RenderingThread.cpp:526
    FRunnableThreadPThread::Run() PThreadRunnableThread.cpp:25
    FRunnableThreadPThread::_ThreadProc(void*) PThreadRunnableThread.h:185
    __pthread_start(void*) 0x00000074ae5418a4
    __start_thread 0x00000074ae4dfb70

     

  4. I got this stack trace when debugging with Android Studio:

     

    art_sigsegv_fault 0x0000007569f486dc
    art::FaultManager::HandleFault(int, siginfo*, void*) 0x0000007569f48be0
    art::SignalChain::Handler(int, siginfo*, void*) 0x0000005dd6d14ec4
    <unknown> 0x00000075f134a678
    TEnqueueUniqueRenderCommandType<FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::ObtainTextureQueueName, FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::$_39>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) RenderingThread.h:183
    TGraphTask<TEnqueueUniqueRenderCommandType<FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::ObtainTextureQueueName, FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::$_39> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) TaskGraphInterfaces.h:886
    TEnqueueUniqueRenderCommandType<FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::ObtainTextureQueueName, FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::$_39>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) RenderingThread.h:183
    TGraphTask<TEnqueueUniqueRenderCommandType<FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::ObtainTextureQueueName, FWaveVRMultiLayer::SetupMultiLayer(IStereoLayers::FLayerDesc const&)::$_39> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) TaskGraphInterfaces.h:886
    FBaseGraphTask::Execute(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) TaskGraphInterfaces.h:524
    FNamedTaskThread::ProcessTasksNamedThread(int, bool) TaskGraph.cpp:709
    FNamedTaskThread::ProcessTasksUntilQuit(int) TaskGraph.cpp:600
    RenderingThreadMain(FEvent*) RenderingThread.cpp:372
    FRenderingThread::Run() RenderingThread.cpp:526
    FRunnableThreadPThread::Run() PThreadRunnableThread.cpp:25
    FRunnableThreadPThread::_ThreadProc(void*) PThreadRunnableThread.h:185
    __pthread_start(void*) 0x00000075ed8b48a4
    __start_thread 0x00000075ed852b70

    Could it be because I'm using the Oculus branch?

  5. If you put the plugin into your engine folder instead of yourProject/plugins it won't work. Look at the bottom of this file WaveVR/Source/WaveVR/WaveVR_UPL.xml:

        <buildGradleAdditions>
            <insert>
                repositories {
                    maven {
                        url "${OUTPUT_PATH}/../../Plugins/WaveVR/Source/WVR/lib/android/repository"
                    }
                }
                dependencies {
                    implementation 'com.htc.vr:wvr_client:+'
                    implementation 'com.htc.vr:wvr_permission_client:+'
                    implementation 'com.htc.vr:wvr_resource:+'
                }
            </insert>
        </buildGradleAdditions>

    It's hardcoded to only work if it's in your project's plugin path. OUTPUT_PATH is set when you build to yourProject/Binaries/Android. If you want to place it in yourUe4Install/engine/plugins you can change it to the following:

        <gradleProperties>
            <insert>ENGINE_DIR=</insert><insertValue value="$S(EngineDir)"/>
        </gradleProperties>
        <buildGradleAdditions>
            <insert>
                repositories {
                maven {
                url "${ENGINE_DIR}/Plugins/WaveVR/Source/WVR/lib/android/repository"
                }
                }
                dependencies {
                implementation 'com.htc.vr:wvr_client:+'
                implementation 'com.htc.vr:wvr_permission_client:+'
                implementation 'com.htc.vr:wvr_resource:+'
                }
            </insert>
        </buildGradleAdditions>


     

×
×
  • Create New...