Announcement

Collapse
No announcement yet.

Kinect 4 Windows v2.0 Plugin

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • as far as i know events are not working anymore. in each frame you have to pull the frame and set it to the dynamic material again

    Comment


    • plangton - thanks for the suggestion.
      I'll give that a try.
      I figure if I can get in working in some manner it'll give me a place to work from.

      Comment


      • I tried this with some success...

        I took the demoRoom and deleted everything except the stream colorFrame items.
        All cleaned and recompiled, it will still work.
        The only component that was not so obvious is the 'EKinectStream' object - it looks unused but it is required.
        So everything's deleted except the plugins folder; the StreamActor, it's material, it's mesh, and the 'EKinectStream' enumerator

        However, when I try to reproduce this in a new empty project (plugin included) it doesn't work.
        Even if I copy the demoRoom's StreamActor into my new project it won't work.
        This makes me think I've missed something fundamental.
        The plugin's functions are in my editor but not in my game.
        Attached Files
        Last edited by cake_; 04-25-2016, 05:59 PM.

        Comment


        • Okay - I got it sorted out.
          I missed the part about turning the camera on </blush>
          Simply added Kinect>StartSensor to the construction script and it worked.
          (btw...I suspect the eventGraph might be a better place to add the start)

          constructionScript
          Click image for larger version

Name:	constructionScript.jpg
Views:	1
Size:	134.6 KB
ID:	1105325
          Last edited by cake_; 04-25-2016, 07:33 PM.

          Comment


          • do not add startSensor in the construction script. it will be run when ever you run the compile, even though the game is not running. it is a bit dangerous and use a lot of resource.
            rather call it with event "Begin play" and call stopSensor in End Game/play event




            Originally posted by cake_ View Post
            Okay - I got it sorted out.
            I missed the part about turning the camera on </blush>
            Simply added Kinect>StartSensor to the construction script and it worked.
            (btw...I suspect the eventGraph might be a better place to add the start)

            constructionScript
            [ATTACH=CONFIG]90524[/ATTACH]

            Comment


            • Hi Folks. First of all I want to thank Leon for sharing his great plugin with the unreal community!
              Unfortunately, I'm having a hard time to use it right now, so maybe somebody reading this can point me in the right direction.
              I simply want to bind my custom c++ class (AActor subclass) to the RawBodyFrameEvent declared inside the KinectEventManager. I couldn't make it work so far, so I wonder if it is possible and how.
              Thanks for your help!

              Comment


              • Originally posted by Arne Magold View Post
                Hi Folks. First of all I want to thank Leon for sharing his great plugin with the unreal community!
                Unfortunately, I'm having a hard time to use it right now, so maybe somebody reading this can point me in the right direction.
                I simply want to bind my custom c++ class (AActor subclass) to the RawBodyFrameEvent declared inside the KinectEventManager. I couldn't make it work so far, so I wonder if it is possible and how.
                Thanks for your help!
                Why don't you grab the body frame inside your blueprint class and use the data ? I don't get what is the complication exactly
                ps : kinect plugin of Leon is a singleton so you should be able to use it in multiple places, just make sure when do you call start and when do you stop the sensor

                Comment


                • Originally posted by plangton View Post
                  Why don't you grab the body frame inside your blueprint class and use the data ? I don't get what is the complication exactly
                  ps : kinect plugin of Leon is a singleton so you should be able to use it in multiple places, just make sure when do you call start and when do you stop the sensor
                  Thanks for the hint, plangton, it's just that I want to stay inside C++ for performance reasons. Besides I have my own user management class, coming from Unity3D I simply try to port my C# code to unreal as far as possible.
                  Fortunately the event binding is working by now, so there's currently nothing to worry about

                  Comment


                  • Hi there,
                    just tried to package the KinectV2 plugin (inside the game folder, not the engine) in UE 4.13 and get the error message
                    "LINK : fatal error LNK1181: cannot open input file 'libsndfile-1.lib' ". The plugin is running perfectly when playing inside the editor.
                    Has anyone had the same issue?
                    Thanks for any advice!
                    Arne

                    Comment


                    • Hello! I'm getting a crash in the editor when trying to access joints.

                      Code:
                      MachineId:BA2C10B746ED76E5985E23AF32BDB6E1EpicAccountId:0d22223890c14e53a7b95ab62128b47c
                      
                      
                      Access violation - code c0000005 (first/second chance not available)
                      
                      
                      UE4Editor_Kinect4Unreal!UKinectInterfaceComponent::execGetNearestBody() [d:\projects\kinect 4 unreal\projects\k4u_plugin\plugins\kinect4unreal\source\kinect4unreal\private\kinectinterfacecomponent.h:15]
                      UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4280]
                      UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:697]
                      UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2126]
                      UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:922]
                      UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:821]
                      UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:922]
                      UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4280]
                      UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1305]
                      UE4Editor_Engine!UAnimInstance::BlueprintUpdateAnimation() [d:\build\++ue4+release-4.13+compile\sync\engine\intermediate\build\win64\ue4editor\inc\engine\engine.generated.1.cpp:10958]
                      UE4Editor_Engine!UAnimInstance::UpdateAnimation() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\animation\animinstance.cpp:397]
                      UE4Editor_Engine!USkeletalMeshComponent::TickAnimation() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:633]
                      UE4Editor_Engine!USkeletalMeshComponent::InitAnim() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:420]
                      UE4Editor_Engine!USkeletalMeshComponent::OnRegister() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\components\skeletalmeshcomponent.cpp:338]
                      UE4Editor_Engine!UActorComponent::ExecuteRegisterEvents() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:1145]
                      UE4Editor_Engine!UActorComponent::RegisterComponentWithWorld() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\components\actorcomponent.cpp:878]
                      UE4Editor_Engine!AActor::IncrementalRegisterComponents() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\actor.cpp:4003]
                      UE4Editor_Engine!ULevel::IncrementalUpdateComponents() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\level.cpp:875]
                      UE4Editor_Engine!UWorld::UpdateWorldComponents() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\world.cpp:1393]
                      UE4Editor_UnrealEd!UEditorEngine::OnAssetLoaded() [d:\build\++ue4+release-4.13+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:6516]
                      UE4Editor_UnrealEd!TBaseUObjectMethodDelegateInstance<0,UEditorEngine,void __cdecl(UObject * __ptr64)>::ExecuteIfSafe() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:848]
                      UE4Editor_CoreUObject!TBaseMulticastDelegate<void,UObject * __ptr64>::Broadcast() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:921]
                      UE4Editor_CoreUObject!EndLoad() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1593]
                      UE4Editor_CoreUObject!LoadPackageInternalInner() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1228]
                      UE4Editor_CoreUObject!LoadPackage() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1400]
                      UE4Editor_CoreUObject!ResolveName() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:714]
                      UE4Editor_CoreUObject!StaticLoadObjectInternal() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:801]
                      UE4Editor_CoreUObject!StaticLoadObject() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:875]
                      UE4Editor_ContentBrowser!FAssetData::GetAsset() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\assetregistry\public\assetdata.h:218]
                      UE4Editor_ContentBrowser!SContentBrowser::OnAssetsActivated() [d:\build\++ue4+release-4.13+compile\sync\engine\source\editor\contentbrowser\private\scontentbrowser.cpp:1793]
                      UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,TTypeWrapper<void> __cdecl(TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type)>::Execute() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:317]
                      UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl(TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type)>::ExecuteIfSafe() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:424]
                      UE4Editor_ContentBrowser!TBaseDelegate<void,TArray<FAssetData,FDefaultAllocator> const & __ptr64,enum EAssetTypeActivationMethod::Type>::ExecuteIfBound() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:608]
                      UE4Editor_ContentBrowser!SAssetView::OnListMouseButtonDoubleClick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\editor\contentbrowser\private\sassetview.cpp:3555]
                      UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,TTypeWrapper<void> __cdecl(TSharedPtr<FAssetViewItem,0>)>::Execute() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:317]
                      UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl(TSharedPtr<FAssetViewItem,0>)>::ExecuteIfSafe() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:424]
                      UE4Editor_ContentBrowser!TBaseDelegate<void,TSharedPtr<FAssetViewItem,0> >::ExecuteIfBound() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:608]
                      UE4Editor_ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\public\widgets\views\slistview.h:718]
                      UE4Editor_ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\public\widgets\views\stablerow.h:264]
                      UE4Editor_Slate!<lambda_eeb33fd1b480e3cad58a1531d90d2e14>::operator()() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5293]
                      UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_eeb33fd1b480e3cad58a1531d90d2e14> >() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:215]
                      UE4Editor_Slate!FSlateApplication::RoutePointerDoubleClickEvent() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5291]
                      UE4Editor_Slate!FSlateApplication::ProcessMouseButtonDoubleClickEvent() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5276]
                      UE4Editor_Slate!FSlateApplication::OnMouseDoubleClick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5254]
                      UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:1588]
                      UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:1930]
                      UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:747]
                      UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:669]
                      user32
                      user32
                      UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:905]
                      UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2788]
                      UE4Editor!GuardedMain() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launch.cpp:156]
                      UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
                      UE4Editor!WinMain() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
                      UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
                      kernel32
                      ntdll
                      I suspect it's because the kinect is off. This seems like an exception that could be handled better.

                      Is there a way to test in blueprints that the kinect is switched on and available?

                      Edit: I tried the stuff below and when hooked up the same crash occurs:

                      (Clarification: this is an anim blueprint so needs to reference the KinectInterface from a non-anim blueprint)



                      Edit 2: I forced the kinect to wake up by monitoring it with the Kinect Studio and it still crashes. No idea what to do.
                      Last edited by Antidamage; 10-08-2016, 05:32 AM.

                      Comment


                      • Hi Guys, Hi leon thank you for your amazing work
                        i must have read this thread 100 times before asking you some help.

                        Everything was working perfectly on 4.9.2 but i'm struggling to port the plug in 4.13. I managed to compile it in VS
                        But the Avateering animation is not working anymore (same problem since 4.10).
                        It seems that all the skeleton tracking is working but the kinectBonesRotator don't receive any data in the Anim graph

                        Any Thoughts ?

                        Bises

                        Comment


                        • Hi guys.
                          I started to test the K4U and I think it's amazing.

                          But the plugin works in a xbox one? I couldn't find any information about if it's only working in a windows computer with the Kinect for Windows v2 or with the unreal verion fox xbox one also works.

                          Thanks

                          Comment


                          • Hi Guys,
                            Did a little digging on the fact that the skeleton is not working on any version since 4.11 /
                            It seems that there was a change in the animation code in 4.11 with UAnimInstance::NativeEvaluateAnimation
                            that could be the reason. I'm tracking down some other changes.
                            Cheers

                            Comment


                            • Hi Guys!
                              I started using this plugin a few days ago and first of all, thanks a lot to the developer!!!
                              As I tried to add another plugin, that needs the project to as a c++ project, i wanted to create a new c++ project an received this error message:

                              An error occurred while trying to generate project files.

                              Running C:/Program Files/Epic Games/UE_4.14/Engine/Binaries/DotNET/UnrealBuildTool.exe -projectfiles -project="C:/Users/cgi_09/Documents/Unreal Projects/DoesItWork/DoesItWork.uproject" -game -rocket -progress
                              Discovering modules, targets and source code for project...
                              ERROR: Couldn't find module rules file for module 'Kinect4Unreal'.

                              For now, i always created blueprint projects. So i am not familiar with the troubleshooting for c++ projects.
                              Any Solutions on this?

                              Thx a lot!
                              Fabian
                              AR / VR Developer
                              747 Studios

                              Comment


                              • I am sorry for that noobish question, but is GitHub repo still valid? Every time I tried it, it shown me "ERROR404" message...

                                Comment

                                Working...
                                X